임베디드 스터디 - ARM CPU
ARM CPU 아키텍처를 학습한다. Cortex-M/A/R 계열 구분, ARMv4~v8 버전별 주요 ISA 변화, USR·Privileged 동작 모드 체계, 그리고 함수 호출 규약(AAPCS)을 다룬다.
ARM CPU 아키텍처를 학습한다. Cortex-M/A/R 계열 구분, ARMv4~v8 버전별 주요 ISA 변화, USR·Privileged 동작 모드 체계, 그리고 함수 호출 규약(AAPCS)을 다룬다.
임베디드 C에서 volatile과 const의 역할을 학습한다. 레지스터 캐싱 방지·재배치 방지·Dead-Store 제거 방지 등 volatile의 세 가지 역할, 포인터와의 조합 방식, const의 ROM 배치 활용, 그리고 MISRA C 관련 규정을 다룬다.
마이크로 아키텍처(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 기반 로직 구현 방식을 다룬다.