임베디드 스터디 - 마이크로 아키텍처
마이크로 아키텍처(Uarch)를 학습한다. 순차 실행과 파이프라인의 차이, 제어·데이터·구조적 해저드 및 대응 방법, 슈퍼스칼라와 비순차적 실행(OoOE)을 통한 명령어 수준 병렬성 향상 방식을 다룬다.
마이크로 아키텍처(Uarch)를 학습한다. 순차 실행과 파이프라인의 차이, 제어·데이터·구조적 해저드 및 대응 방법, 슈퍼스칼라와 비순차적 실행(OoOE)을 통한 명령어 수준 병렬성 향상 방식을 다룬다.
명령어 집합 구조(ISA)를 학습한다. 가변·고정 길이 명령어 형식, CISC·RISC·RISC-V 비교, 그리고 즉치·직접·간접·레지스터 간접·변위·상대·베이스 레지스터·인덱스 등 각 어드레싱 모드의 동작 방식을 다룬다.
시스템 버스의 구조와 동작을 학습한다. 주소·데이터·제어 버스의 역할, 동기식·비동기식 버스 동작 방식, 그리고 버스 경합 해결을 위한 중앙 집중식 병렬·데이지 체인·폴링 중재 방식을 다룬다.
CPU 구조와 레지스터 전송을 학습한다. 제어장치·ALU·특수 레지스터(PC·IR·SP)의 역할, Fetch/Decode/Execute 명령 수행 사이클, 레지스터 전송 언어(RTL) 기호 및 직렬·병렬·버스 전송 방식을 다룬다.
Verilog와 VHDL을 비교 학습한다. 문법 스타일·타입 시스템·코드 구조의 차이를 D-FF 설계 예제로 대조하고, VHDL의 엄격한 타입 시스템과 DO-254 항공 하드웨어 설계 표준에서의 활용을 다룬다.
Verilog로 조합·순서논리회로를 설계하는 방법을 학습한다. 반가산기·MUX·디코더·FSM 구현, 계층 설계(인스턴스화), parameter 기반 재사용 모듈, generate를 활용한 반복회로 생성을 코드 예제와 함께 다룬다.
Verilog HDL의 기초 문법을 학습한다. 모듈·포트·데이터 타입(wire/reg), assign·always 구문을 설명하고, Clock Domain Crossing·메타스태빌리티·래치 추론 등 FPGA 설계 시 주의해야 할 핵심 개념을 다룬다.
프로그래머블 로직 디바이스(PLD)의 종류와 구조를 학습한다. SPLD(PROM·PLA·PAL·GAL), CPLD, FPGA의 동작 원리와 LUT 기반 로직 구현 방식을 다룬다.
플래시 메모리의 동작 원리와 구조를 학습한다. FGMOS 기반 쓰기·읽기·소거 동작, NAND·NOR 플래시의 특성 비교, SLC·MLC·TLC 셀 저장 방식의 차이를 다룬다.
메모리의 구조와 분류를 학습한다. RAM·ROM·SRAM·DRAM의 동작 원리, DDR3·DDR4·DDR5·LPDDR 규격 비교, MAR·MBR 구조를 설명하고, 워드 길이·주소 확장 방법과 MROM·PROM·EPROM·EEPROM 등 ROM 종류를 다룬다.