기초 · 과목 04
컴퓨터구조
메모리 맵과 인터럽트의 원리를 알아야 데이터시트와 레퍼런스 매뉴얼이 읽힙니다.
목표: 내가 짠 C 코드가 칩 안에서 어떻게 실행되는지 설명할 수 있다.
지도에서 보기 →폰 노이만과 하버드 구조
코드와 데이터를 같은 길로 읽느냐, 따로 읽느냐의 차이.
CPU 내부 구조
레지스터, ALU, 프로그램 카운터, 그리고 명령어를 가져와 실행하는 반복.
파이프라인
명령어 여러 개를 겹쳐 처리하는 방법과 분기가 느린 이유.
메모리 계층
레지스터, 캐시, SRAM, Flash. 빠를수록 작고 비쌉니다.
메모리 맵
코드는 Flash에, 변수는 SRAM에. MCU의 모든 것은 주소를 가지고 있습니다.
버스와 주변장치
주변장치 레지스터도 메모리 주소에 있습니다. AHB, APB와 메모리 맵 I/O.
스택과 힙
함수를 부를 때마다 쌓이는 스택, 그리고 임베디드에서 힙을 조심하는 이유.
인터럽트와 예외
하던 일을 멈추고, 상태를 저장하고, 처리 루틴으로 뛰었다가 돌아오는 과정.
DMA
CPU를 거치지 않고 메모리와 주변장치 사이에서 데이터를 옮기는 장치.
ARM Cortex-M 개요
M0, M3, M4, M7의 차이와 STM32 같은 MCU 제품군이 구성되는 방식.