들어가며
날이 너무 춥다. 장판 틀었다. 이게 옥탑방의 추위인가 싶기도 하다. 방한이 안되어서 그런건진 몰라도 벌써부터 바닥이 챱챱한게 얼어죽겠네. 센터에 최대한 오래 남아있어야겠다.
오늘의 키워드
ARM Processor Architecture Introduction
월요일부터 ARM Processor 아키텍처에 대해서 공부하고 있다. 그리고 이왕 적는거 시리즈로 한 번 남겨보려고 한다. 거의 5-6년 전에 공부했던 내용들이라 가물가물하긴 한데, 내 기본기로 한 번 부딪혀보면서 해내봐야지.
[ARM] ARM Processor Architcture - 0 : Introduction
[ARM] ARM Processor Architcture - 0 : Introduction
개인적으로 C언어를 작성하고 컴퓨터에 대한 로우레벨을 이해하려고 할 때 가장 크게 도움이 되었던 이론이 컴퓨터구조 였다고 생각된다. 수업을 들으면서 내 머릿속에서는 ‘아, C언어에서 함
etst.tistory.com
ㅤ
이걸 다시 펼치니깐 생각보다 수업에서 나온 키워드가 눈에 자주 보이는 것 같아서 신기하다. 정말 여기에 ARM의 정수가 담겨있는게 아닌가 하는 생각이 든다. 빠르게 마무리해두고 본격적으로 진행해봐야지. 아래는 위 게시글에서 다룬 키워드들에 대한 짧은 코멘트이다.
ㅤ
RISC 와 CISC
RISC가 단순한 명령어 / CISC가 복잡한 명령어로 구성된 아키텍처라고만 알고있었다. 그런데 막상 공부해보니 인텔의 CPU가 CISC이긴 하지만 내부적으로는 RISC 처럼 동작한다고 한다. 조금 더 팩트체크를 해봐야 하긴 하지만, 파이프라이닝과 HW 설계 등을 고려하면 RISC 방식이 더 우수한가봐. 하위호환성 문제 때문에 CISC를 포기하지 못하고 있다고 하는데, 그만큼 RISC가 더 효율적인 방식인가보다.
ㅤ
Memory Mapped I/O
나는 메모리 Mapped I/O가 메인 메모리의 특정 주소를 I/O 장치가 할당받아 점유하고 있고, CPU가 해당 메모리 주소에 값을 쓰면 메인 메모리에서 값을 읽어서 처리하는 방식이라고 지금까지 알고있었다. 그런데 그게 아니라 가상주소를 사용하는 거였고, 해당 주소로 값을 쓰거나 읽는 동작을 하면 Address Decoder가 이걸 I/O 장치로 바꿔서 전달해주고, I/O 장치가 가진 레지스터에 값을 읽거나 쓰는 동작을 수행하는 방식이였다. 나는 진짜로 몰랐다.
ㅤ
I/O Mapped I/O 방식도 있고, 이게 여전히 Intel 에서는 사용하는 방식이라는 것도 놀라웠다.
ㅤ
Bridge와 AMBA BUS
STMCubeIDE에서 설정을 건드리다보면 APB, AHB 같은 키워드들을 자주 볼 수 있었는데 지금까지는 그냥 키워드가 보여도 크게 관심을 가지지 않았었다. 근데 이제는 해당 키워드들이 데이터 버스를 의미한다는 걸 알게됐다. 이론을 공부했는데 그게 바로바로 눈에 들어오기 시작하니깐 참 좋은 것 같다. ㅋㅋㅋ 약간 공부한 보람을 바로 느낌.
ㅤ
SRAM과 DRAM IN MCU
내가 사용하는 보드에서 아무리 찾아봐도 메인 메모리를 찾을 수 없었는데, 당연한거였음. STM32F429 칩 내에 메인메모리가 포함되어있다. 그런데 이게 DRAM이 아니라 SRAM이다. (나는 메인메모리는 무조건 DRAM인 줄 알았다. 안그럴수도 있구나…) 이 점이 약간 충격적이라 위 게시글에 함께 정리해뒀다.
ㅤ
PCI, PCIe
라는게 이런 의미라는걸 이번에 처음 알았다. 그냥 SATA 연결하는 포트 이름 정도로만 알고 있었는데 주변장치를 빠르게 동작하도록 연결하는 express line 일 줄이야. 개발 보드에는 이게 포함되어 있지 않아서 아쉽긴 한데, 그만큼 고성능의 I/O 장비가 없기도 하니깐 ㅋㅋㅎ
'TIL' 카테고리의 다른 글
| [251020] Day 70 - 나 어쩌면 열심히 살았나봐 (1) | 2025.10.20 |
|---|---|
| [251018] Day 68 - 텔레칩스 임베디드 스쿨 2개월차 회고이자 리뷰이자 후기 (1) | 2025.10.19 |
| [251017] Day 67 - Cㅂ 또 까먹었네 (0) | 2025.10.18 |
| [251016] Day 66 - 또다시 시작되어버린 임베디드와의 전쟁 (0) | 2025.10.18 |
| [251015] Day 65 - 추석과 소프트웨어 공학 (1) | 2025.10.18 |