본문 바로가기

컴퓨터구조4

[컴퓨터구조] 파이프라이닝 (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.
[메모리] Memory 종류 안녕하세요. 컴퓨터구조를 학습하기 전에 메모리에 대해 간단히 짚고 넘어가면 좋을 것 같습니다. 모두가 알고 있듯 우리나라는 메모리 반도체 강국입니다. 명실상부 세계 1위죠. 삼성전자는 30년이 넘는 시간 동안 메모리 반도체 분야에서 연속으로 1위를 달성하고 있습니다. 그래서 오늘은 메모리에 대해 알아보고자 합니다. Memory 종류 메모리는 크게 RAM과 ROM으로 나눌 수 있습니다. RAM (Random Access Memory) : 휘발성 메모리 ROM (Read Only Memory) : 비휘발성 메모리 먼저 ROM은 비휘발성 메모리입니다. 주로 컴퓨터를 부팅할 때 SW에 의해 동작하는게 아니라, ROM에 저장된 정보를 이용해 HW적으로 동작시킵니다. ROM은 한 번 쓰면 지울 수 없고 읽을 수만 .. 2023. 1. 8.