CS/컴퓨터 구조

CS/컴퓨터 구조

[컴퓨터 구조] 4. MIPS Data Transfer Instructions (1)

Data Transfer Instructions CPU 내부의 레지스터는 32개밖에 없다. 만약 4byte 데이터 배열 100개를 선언하는 것과 같이 레지스터의 저장 공간을 넘어서는 용량이 필요한 경우, 메모리를 활용해야 한다. 따라서 MIPS 모든 CPU는 레지스터와 메모리 사이에 데이터를 주고 받을 수 있는 명령어를 제공한다. 메모리에 데이터를 쓰는 동작은 Store (Write) 라고 한다. 메모리에서 데이터를 읽는 동작은 Load (Read) 라고 한다. 메모리에 접근할 때는 메모리 주소를 사용해야 하는데, 메모리 주소는 메모리 공간의 8bit = 1 byte 마다 하나의 주소값을 가진다. (이를 byte - addressable 하다고 한다.) 레지스터와 메모리 사이에 데이터를 주고받을 때는, ..

CS/컴퓨터 구조

[컴퓨터 구조] 3. MIPS Arithmetic & Logical Instruction

MIPS 명령어의 포맷 명령어 하나는 결국 컴퓨터라는 기계가 이해하기 위해 32bit 의 0과 1의 조합으로 나타내야한다. 32bit 의 공간 안에 이 명령어가 어떤 명령어인지, 어떤 데이터를 가지고 명령어를 실행하는지를 기술한다. 이를 위해 32bit 명령어의 어디부터 어디까지 어떤 데이터를 담을지 형식을 정의해두었는데 이를 명령어 포맷이라고 한다. MIPS 명령어는 R-format, I-format, J-format 이렇게 3가지 포맷이 존재한다. ( MIPS의 설계 원칙 중 좋은 디자인을 위해 타협이 필요하다는 원칙에 입각하여, 편의를 위해 명령어 포맷을 1가지로 통일하기보다 3가지로 구분하는 쪽으로 타협을 본 것이다.) 이번 글에서는 R-formant, I-format 2가지를 살펴보며, 그 중 ..

CS/컴퓨터 구조

[컴퓨터 구조] 2. Clock & Verilog

Clock 사람이 오후 5시, 오전 9시와 같은 시간을 기준으로 모임, 약속, 회의와 같은 행위 시간을 잡듯, 컴퓨터의 모든 부품들도 하나의 기준 시간에 따라 돌아가며 단위 부품들이 실행되어야 한다. (이를 '모듈간의 동기화' 라고 한다.) 따라서 각 부품들이 실행될 타이밍을 기술할 시간 단위가 필요하다. 하지만 컴퓨터는 사람이 사용하는 24시간, 60분, 60초의 단위를 그대로 이해할 수 없다. 그래서 컴퓨터 부품들을 위한 전용 시계를 만들어두었는데, 이를 '클럭' 이라고 한다. 클락은 말 그대로 시계처럼 똑딱똑딱하듯 일정한 주기로 0, 1의 신호가 번갈아 나오는 파형이다. 모든 컴퓨터 부품은 이 클럭 주기에 맞춰 움직이기 때문에, 클럭 주기가 높을수록, 컴퓨터 부품이 움직이는 속도도 빨라진다. (그래..

CS/컴퓨터 구조

[컴퓨터 구조] 1. MIPS Instruction & Register

컴퓨터 구조 수업의 목표는 MIPS CPU를 직접 디자인하는 것이다. CPU를 디자인하기 전에, 먼저 MIPS CPU가 이해하고 사용할 수 있는 명령어에 대해 정리하자. Instruction (명령어) Instruction 컴퓨터가 사용하는 단어를 가리킨다. 만약 외국인과 대화를 하고 싶다면, 나는 그 외국인의 언어를 사용할 줄 알아야한다. 마찬가지로, 우리가 컴퓨터와 대화하기 위해서는 컴퓨터의 언어를 사용할 줄 알아야 한다. instruction은 컴퓨터와 대화할 때 사용하는 단어 하나를 가리킨다. Instruction Set 컴퓨터가 사용하는 어휘 (단어들의 집합) 을 가리킨다. 정확하게는 CPU가 이해하는 단어의 집합을 가리킨다. 따라서 CPU가 달라지면 컴퓨터가 이해하는 언어가 달라진다. CISC..

에버듀
'CS/컴퓨터 구조' 카테고리의 글 목록 (2 Page)