그라운드 임베디드 EN 유튜브 구독

노트

컴퓨터구조 노트

메모리 맵과 인터럽트의 원리를 알아야 데이터시트와 레퍼런스 매뉴얼이 읽힙니다.

로드맵에서 보기 →
GROUND EMBEDDED · 정리 노트컴퓨터구조 01폰 노이만과 하버드 구조구조장점예폰 노이만단순, 유연초기 PC, Cortex…하버드동시 접근, 빠름AVR, DSP
컴퓨터구조

폰 노이만 구조와 하버드 구조

코드와 데이터를 같은 길로 읽느냐, 따로 읽느냐. Cortex-M이 두 구조를 섞어 쓰는 이유까지 정리했습니다.

GROUND EMBEDDED · 정리 노트컴퓨터구조 02CPU 내부 구조01구성 요소02명령어 사이클03임베디드 관점
컴퓨터구조

CPU 내부 구조: 가져오고, 해석하고, 실행하기

레지스터, ALU, 프로그램 카운터, 그리고 명령어를 가져와 실행하는 반복. CPU가 하는 일은 이 루프가 전부입니다.

GROUND EMBEDDED · 정리 노트컴퓨터구조 03파이프라인클럭12FetchABDecodeA
컴퓨터구조

파이프라인: 명령어를 겹쳐서 처리하기

빨래를 세탁, 건조, 개기로 나눠 겹쳐 하듯 CPU도 명령어 처리 단계를 겹칩니다. 분기가 느린 이유도 여기서 나옵니다.

GROUND EMBEDDED · 정리 노트컴퓨터구조 04메모리 계층계층용량접근 시간레지스터수십 바이트0클럭캐시 / TCM수~수십 KB1클럭
컴퓨터구조

메모리 계층: 빠를수록 작고 비싸다

레지스터, 캐시, SRAM, Flash, 외부 메모리. 각 계층의 속도와 용량 차이를 알면 변수를 어디에 둘지가 보입니다.

GROUND EMBEDDED · 정리 노트컴퓨터구조 05메모리 맵 1주변장치 기본 주소 + 레지스터 오프셋 = 레지스터 주소 2GPIOA 0x4800_0000 + ODR 0x14 = 0…
컴퓨터구조

메모리 맵: MCU의 모든 것은 주소가 있다

코드는 Flash에, 변수는 SRAM에, 주변장치 레지스터도 정해진 주소에 있습니다. 데이터시트의 메모리 맵 읽는 법.

GROUND EMBEDDED · 정리 노트컴퓨터구조 06버스와 주변장치 1RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;// 이 …
컴퓨터구조

버스와 주변장치: AHB, APB, 메모리 맵 I/O

CPU가 GPIO를 움직이는 방법은 메모리에 값을 쓰는 것과 같습니다. 주변장치를 잇는 버스 구조와 클럭 활성화가 필요한 이유.

GROUND EMBEDDED · 정리 노트컴퓨터구조 07스택과 힙 1void b(void) { uint8_t buf[64]; /* ... …// 64… 2void a(void) { uint32_t x; b(); } 3int main(void) { a(); }
컴퓨터구조

스택과 힙: 함수 호출이 쌓이는 곳

함수를 부를 때마다 쌓이는 스택, 런타임에 빌려 쓰는 힙. 임베디드에서 스택 넘침과 힙 사용을 조심하는 이유.

GROUND EMBEDDED · 정리 노트컴퓨터구조 08인터럽트와 예외 1volatile uint8_t btn_flag; 2volatile uint32_t btn_tick; 3void EXTI0_IRQHandler(void) { 4 EXTI->PR = EXTI_PR_PR0;// 1) 플래그부…
컴퓨터구조

인터럽트와 예외: 하던 일을 멈추고 다녀오기

이벤트가 생기면 CPU가 상태를 저장하고 처리 루틴으로 뛰었다가 돌아옵니다. Cortex-M에서 그 과정이 어떻게 일어나는지 정리했습니다.

GROUND EMBEDDED · 정리 노트컴퓨터구조 09DMA 1static uint8_t rx_buf[256]; 2// DMA를 순환(circular) 모드로 설정: 끝까지 차면 처음부터 다시… 3uint16_t rx_tail; 4void uart_poll(void) {// 메인…
컴퓨터구조

DMA: CPU 없이 데이터를 옮기는 일꾼

메모리와 주변장치 사이의 복사를 하드웨어가 대신합니다. ADC 샘플링, UART 수신, SPI 디스플레이 전송이 빨라지는 원리.

GROUND EMBEDDED · 정리 노트컴퓨터구조 10ARM Cortex-M 개요코어특징대표 MCUM0 / M0+가장 작고 저전력, 명령…STM32G0, RP20…M3하드웨어 나눗셈, 균형STM32F1
컴퓨터구조

ARM Cortex-M 개요: M0부터 M7까지

Cortex-M 코어별 차이와, ARM이 설계한 코어에 ST, NXP 같은 회사가 주변장치를 붙여 MCU 제품군을 만드는 방식.