SoC StudyLEARNING ROADMAP
SW 관점에서 HW 설계를 검토하는 역량으로

전체 학습 계획.
6단계로 연결하는 SoC.

코드를 실행하는 CPU에서 데이터가 흐르는 버스까지.
데이터 경로의 성능 한계를 분석하고, 마지막에 HW/SW 설계 개선안을 제안합니다.

12개 주제권장 6–8주 · 자기 속도 학습자료 화·목 07:00 추가

최종 목표

SW 담당자로서 HW 블록도와 사양을 읽고, 요구 처리량·지연을 수치화하며, 병목 가설과 HW/SW 변경안을 근거로 제시합니다. 구현 이후 튜닝뿐 아니라 칩 설계 단계의 리뷰를 목표로 합니다.

현재 학습 상태 확인 중…

자료 공개와 학습 완료는 다릅니다. 읽음은 이 브라우저의 표시이며, 이해 여부는 단계별 확인 질문으로 점검하세요.

출발점과 범위

C의 포인터·배열·구조체와 간단한 펌웨어 흐름을 안다는 전제입니다. 낯설다면 1단계 전에 주소·포인터·비트 연산을 복습하세요. 첫 과정은 Cortex-M 중심이고, Cortex-A는 확장 지도를 만드는 수준입니다. RTL 구현이나 CPU 설계 전문과정을 6주 안에 끝낸다는 뜻은 아닙니다.

PHASE 01 · 권장 1주차

실행과 데이터의 전체 지도

배우는 것
CPU·RAM·주변장치·인터커넥트의 역할, 리셋·벡터·스택·C 런타임 초기화.
업무에 연결
main 이전 부팅 실패, 잘못된 메모리 배치, 이미지 진입 문제를 분류합니다.
남길 결과물
가상 SoC 블록도 1장 + reset부터 main까지 흐름도 1장.
넘어가기 전 질문
초기 SP와 reset handler는 어디서 결정되고, .data/.bss는 누가 준비하나요?
PHASE 02 · 권장 2주차

메모리와 전송을 이해하기

배우는 것
캐시·DMA·배리어·소유권, AHB/APB/AXI의 역할과 기본 handshake.
업무에 연결
간헐적인 데이터 손상과 주변장치 전송 정지를 컴파일러·메모리·버스 문제로 나눕니다.
남길 결과물
CPU↔DMA 버퍼 소유권 표 + 가상 MMIO 접근 경로 그림.
넘어가기 전 질문
volatile로 해결되는 문제와 해결되지 않는 문제는 무엇인가요? 버스 응답과 장치 내부 완료는 같은가요?
PHASE 03 · 권장 3주차

경합과 보호 경계를 설계하기

배우는 것
중재·burst·outstanding·backpressure, 클록 도메인 교차(CDC)와 비동기 FIFO, MPU와 메모리 속성. 버스 폭×클록의 피크와 프로토콜·경합을 반영한 유효대역폭을 구분합니다.
업무에 연결
CPU·DMA가 동시에 동작할 때 생기는 성능 변화와 잘못된 접근을 추적합니다.
남길 결과물
경로별 폭·클록·효율 표, CDC/FIFO와 경합 병목 가설, 가상 메모리 속성표.
넘어가기 전 질문
평균 대역폭은 충분한데도 FIFO가 넘칠 수 있는 이유는 무엇인가요? 데이터 손실 없이 다른 클록 도메인을 연결하는 방식과 backpressure 전파 경로는 무엇인가요?
PHASE 04 · 권장 4주차

실시간 동작과 저장장치 신뢰성

배우는 것
인터럽트 지연·우선순위·RTOS 문맥 전환, Flash program/erase·ECC·오류와 복구.
업무에 연결
평균 속도뿐 아니라 최악 지연, timeout, 전원 중단과 실패 경로를 설계합니다.
남길 결과물
수신→기록 타이밍 도표 + 오류별 복구 정책표.
넘어가기 전 질문
인터럽트 우선순위만 높이면 모든 지연이 줄까요? 기록 중 전원이 끊기면 어떤 상태가 남나요?
PHASE 05 · 권장 5주차

성능과 보안을 근거로 판단하기

배우는 것
파이프라인·분기·메모리 대기, DDR 유효대역폭·쓰기/읽기 전환·경합, 성능 카운터와 trace. secure boot/TrustZone은 격리와 접근 경로 관점에서 연결합니다.
업무에 연결
느린 원인을 계측하고, 검증된 부팅과 실행 중 격리를 구분합니다.
남길 결과물
피크/유효/실측 처리량 비교표, 병목을 분리하는 실험 설계, 부팅 신뢰 경로 그림.
넘어가기 전 질문
클록을 높여도 성능이 안 오르면 무엇을 측정하나요? secure boot와 메모리 격리는 무엇이 다른가요?
PHASE 06 · 권장 6주차 / 복습 포함 7–8주

플랫폼 관점으로 통합하기

배우는 것
Cortex-A의 MMU·가상메모리·멀티코어 일관성 개요, 앞 단계의 실행·전송·보호·성능 통합.
업무에 연결
RTOS·bare-metal에서 Linux급 시스템으로 바뀔 때 달라지는 가정을 파악합니다.
남길 결과물
가상의 I/O→메모리 전송 경로 설계 리뷰 3–5쪽. 요구 처리량, 경로별 대역폭, 클록 도메인/버퍼, DMA·경합 분석, HW/SW 대안과 면적·전력·일정 트레이드오프, 측정 계획 포함. 특정 인터페이스에 고정하지 않습니다.
완료 기준
필요 사양과 미확인 가정을 구분하고, 병목 후보를 수치로 좁히며, HW 변경과 SW 최적화 중 어느 쪽이 유효한지 근거와 검증 방법을 제시합니다.

구조를 배운 뒤, 병목 개선 사례로 연결합니다

각 사례는 구성·가정 → 증상 → 원인 → HW/SW 개선 → 비용·부작용 → 측정 순서로 다룹니다. 아래는 앞으로 다룰 설명용 가상 사례의 개요이며 실측 성과가 아닙니다. 공개 실사례는 출처를 별도로 명시합니다.

실제 칩 해부 · 벤더별 설계 비교

추가 학습 트랙 · 자료 준비 예정. 기초 개념을 실제 칩의 블록도·Reference Manual·Errata에 연결합니다. 브랜드 전체의 우열이 아니라 정확한 제품과 워크로드를 비교합니다.

각 편의 산출물은 ① 실제 데이터 경로도 ② 접근/클록/브리지 제약 ③ 유리한 작업과 불리한 작업 ④ SW 배치·DMA·캐시 설정 대안 ⑤ HW 설계에 가져올 교훈 ⑥ 검증할 계측 항목입니다.

공식 문서명·개정판·절 번호를 남기고 문서상 사실, 분석 가설, 계산값, 실측을 구분합니다. 공개되지 않은 버퍼 깊이·중재 지연은 추정값을 사실처럼 쓰지 않습니다. 설계 의도가 명시되지 않았다면 그 이유도 가설로 표시합니다.

먼저 보기: 버스 병목 가상 실습 →

한 주의 학습 리듬

화요일 · 개념

새 글 10–15분 읽기. 모르는 용어 3개 표시하고 핵심 흐름을 손으로 그립니다.

목요일 · 연결

다음 글 10–15분 읽기. 앞 주제와 연결하고 확인 문제에 답합니다.

주말 · 설명

20–30분 동안 작은 결과물을 정리합니다. 막힌 질문을 보내면 보충 설명에 반영합니다.

주당 약 60–90분부터 시작하세요. 실습 환경 구축 시간은 별도입니다. 진도가 밀려도 새 자료는 남아 있으니 복습을 우선해도 됩니다.

어떻게 실력이 늘었는지 확인할까요?

  1. 읽음: 용어와 흐름을 한 번 접했습니다.
  2. 설명: 자료 없이 자기 말로 설명합니다.
  3. 적용: 조건이 바뀐 사례에서 원인과 대안을 찾습니다.

사이트의 읽음 표시는 1단계만 의미합니다. 2·3단계는 확인 문제와 결과물로 확인하며, 개인 자료를 사이트에 업로드하는 기능은 없습니다.

과정 이후

펌웨어 심화: 예외 분석·RTOS·저장장치 신뢰성. 플랫폼 심화: MMU·Linux DMA·캐시 일관성. SoC 성능 심화: 인터커넥트·메모리 컨트롤러·계측. 기본 과정 이후 업무와 흥미에 맞춰 한 갈래를 선택합니다.