FPGA 구현을 위한 RISC-V CPU 설계 ① Python으로 배우는 RV32I 명령어 구조와 실행 원리
EdgeChipLab
CPU를 만들겠다고 마음먹으면 대개 회로도부터 찾습니다. 그런데 도면을 펼치는 순간 답할 수 없는 질문이 생깁니다. 이 블록은 왜 여기 있어야 합니까? 레지스터를 읽는 포트는 왜 두 개입니까? 답은 모두 명령어에 있습니다. 명령어가 무엇을 요구하는지 알면 어떤 회로가 필요한지가 정해집니다. 반대 순서로는 되지 않습니다. RISC-V 강의는 이미 여럿 있습니다. 하지만 대부분 슬라이드에 값을 띄우고 "이렇게 됩니다"라고 말한 뒤 넘어갑니다. 수강생은 그 값이 맞는지 확인할 방법이 없습니다. 이 강의는 파이썬 명령어 실행 시뮬레이터를 함께 드립니다. run ADD 라고 치면 그 자리에서 기계어가 조립되고, 32비트가 필드별로 펼쳐지고, 레지스터가 어떻게 바뀌는지 화면에 나옵니다. 교재의 모든 숫자가 이 도구의 실행 결과이며, 여러분 화면에서 똑같이 재현됩니다. 상용 디버거는 라이선스가 필요하고 시뮬레이터는 설치가 벽입니다. 이 도구는 파이썬만 있으면 됩니다. 보드도, 라이선스도, 설치도 필요 없습니다. RV32I 명령어 40개를 하나도 빠뜨리지 않고 직접 실행하며, 회로가 무엇을 해야 하는지 스스로 알아내는 과정입니다.
초급
riscv, cpu-architecture, instruction-set-architecture







![공식 말고 흐름으로 배우는 아날로그 회로 Part 1 : 필터와 OP-AMP를 이해하는 6단계 [이론편]강의 썸네일](https://cdn.inflearn.com/public/files/courses/339176/cover/ai/1/cd937379-04b7-474d-9b91-0035de94ea0d.png?w=420)








![리눅스 커널의 구조와 원리: 인터럽트 후반부 [저자 직강 1부-6]강의 썸네일](https://cdn.inflearn.com/public/courses/333195/cover/3b8c8cd2-44b0-43b7-a441-b950ba367717/333195.png?w=420)
![리눅스 커널의 구조와 원리: 디버깅 - Advanced 실전 [저자 직강 1부-3]강의 썸네일](https://cdn.inflearn.com/public/courses/333192/cover/bc7d9889-21ec-44d7-bcb0-10452507d7b3/333192.png?w=420)