본문 바로가기

CPU3

[컴퓨터구조] 파이프라이닝 (Pipelining) 안녕하세요! 컴퓨터구조 관련 글로 오랜만에 돌아왔습니다. 이전에 CPU 동작 원리에 대해 학습한 것 기억나시나요? CPU 동작 원리: https://metastable.tistory.com/28 오늘은 응용버전인 파이프라이닝 (Pipelining)에 대해 배워보도록 하겠습니다. Intro 먼저 파이프라이닝을 왜 해야 할까요? 그림으로 알아보겠습니다. 빨래방에서 빨래를 한다고 생각해볼까요? 우리는 세탁기를 30분 돌리고, 건조기를 40분 돌리고, 정리를 20분 해야 합니다. 이걸 한 사이클에 한다고 가정하면 위의 그림처럼 비효율적일 것입니다. A가 세탁/건조/정리를 다 할때까지 B는 계속 기다려야 하죠.. 그런데 A가 건조기를 사용할 동안 세탁기는 비어있죠? 그럼 B가 세탁기를 사용하면 안될까요? 여기서 .. 2023. 4. 10.
[컴퓨터구조] 16bit CPU 설계 (Design with Verilog) 이전 글에서 CPU의 구조와 작동원리에 대해 알아보았습니다. 이전글: https://metastable.tistory.com/28 이번에는 이론을 바탕으로 CPU를 Verilog로 설계하였는데요, 처음부터 깊게 들어가면 너무 어렵기 때문에 간단한 16 bit CPU를 설계하도록 하겠습니다. 시작 전에 말씀드리자면 2년 전 베릴로그가 익숙하지 않을 때 작성하여서 오류랑 잘못된 코딩스타일이 많을 수 있습니다.. (ex. reset, latch 생기는 코딩 등) 추후 시간이 나면 한 번 정리해서 올리도록 하겠습니다. 참고로 여기서 사용한 메모리는 앞에서 설계한 sram을 instance하여 이용하였습니다. RISC-V Instruction set이나 GitHub에 있는 코드를 한 번 읽어보는 것도 좋을 것 같.. 2023. 1. 12.
[컴퓨터구조] CPU 작동 원리 오늘부터는 CPU에 대해 알아보겠습니다. 먼저 CPU란 무엇일까요? CPU (Central Processing Unit): 중앙 처리 장치 CPU는 기억, 해석, 연산, 제어라는 매우 중요한 역할들을 도맡는, 컴퓨터의 대뇌라고 할 정도로 매우 중요한 부분입니다. 프로그램의 명령어를 해석하여 데이터를 연산/처리를 하고 그렇게 돌아가도록 제어해주는 기능을 내장한 칩이죠. CPU는 4단계의 Cycle로 명령어를 처리합니다. 1. Fetch: 명령어 인출 - CPU에서 명령어를 읽어옴 2. Decode: 명령어 해독 - 읽어온 명령어를 해독 3. Execute: 명령어 실행 - 해독한 명령어를 실행 4. Store: 결과 저장 - 계산 결과를 저장 각각의 사이클에서 어떤 일이 벌어지는 지 알아보기 전에 레지스터.. 2023. 1. 9.