목록2학년 2학기 (85)
오래 못 할 짓 하지 않기

Control 제어부 0:09 / 1:09 주황색으로 되어있는 신호들이 우리가 필요한 Control 신호들이다. - 이 기능들을 하나로 모아놓고, 들어온 Instruction 에 따라 필요한 기능들만 내보내도록 만든 회로가 그다음 사진이다. 이 Control 은 Instrction의 가장 왼쪽 6 bit 즉, OP코드를 분석하여 필요한 제어 신호들을 내보낸다. - 그 밑에 ALU Control이라는 4-bit 짜리 제어 장치도 따로 있는데, 이거에 대한 입력은 2bit이다. 2bit라도, 경우의 수는 3개만 있다 → Sw Lw / BEQ / 그 외 산술 연산 Sw Lw 일 때 → ALU는 주소 계산하는 역할 (덧셈 필요) BEQ 일 때 → ALU는 브랜치 여부를 판단 ( 뺄셈 필요 > Rs - Rt ) ..

Datapath 설계 Instruction Fetch : 1. Instruction memory에 있는 게 뭘까? > Instruction이겠지? 2. PC를 Instruction memory address로 연결한다. --> Fetch 끝 3. 그 위에는 PC +4 를 해놓음으로써 그다음 Instruction을 가져온다. R-Type Instructions 1. Fetch후에 가져온 Instrution 에서 32bit를 이제 나눈다. 앞 5비트는 Op code이므로 떼고 그 뒤 비트들은 Register들에게 할당된다. 2. 그렇게 Read Register 1,2,3들은 rs, rt, rd가 되고 read data 1 = rs , 2 = rd가 된다. 3. Read data 1,2 가 ALU로 들어가게 ..

Register file : 32개의 register가 모여있는 모듈 정도로 생각하면 됨 분석 : [ 명령어를 담고 있는 메모리 ]와 [ 데이터를 담고 있는 메모리 ] 가 나누어져 있다. 연산을 담당하는 ALU가 있다. (그냥 연산하는 회로담당이라 생각하면 됨) Register를 모아놓은 Register File이 있다. 명령어의 주소를 담고있는 PC(Program Counter)가 있다. 메모리 2개가 나누어진 이유 : 1CLK cycle에 모든 걸 다 하려고 하기 때문에 Cycle마다 명령어를 읽기 위해 - 작동 방식 1. PC에서 나온 값이, Instruction memory의 address로 들어감 2. 그 address에 있는 Instruction memory(32bit)를 분석함. ( 앞 6비..

한 CLK Cycle 내에 모든 명령어의 실행이 끝나도록 Datapath 설계 = Single Clock Cycle CPU → Fetch : 메모리에 있는 명령어를 CPU로 가져오는 것 Decode : CPU로 가져온 명령어를 해석하는 것 Execute : 해석한 명령어를 실행하는 것 1. CPU에 있는 프로그램 카운터(PC)값은 Instruction memory에 해당 address(명령어가 있는 주소)로 간다. (load임?, 그럼 memory에 저장되나?) 2. 메모리의 해당 주소에서 Instruction을 받는다. 그 Instruction은 여러 필드로 나누어진다. 3. 레지스터에는 Instruction에서 받은 피연산자들이 들어간다. 4. ALU에서 Instruction을 사용하여 피연산자들에 ..

시작 전 간단히 알고 가야하는 지식들 1. 메모리 프로그램이 실행되기 위해서는 필요한 정보들이 메모리에 저장되어 있어야 한다. 메모리는 실행되는 프로그램의 [ 명령어 ] 와 [ 데이터 ] 를 저장한다. (?)메모리의 저장된 값의 위치는 주소로 알 수 있다. ( 데이터를 주소로 접근하는 것 같음 ) 2. CPU (메모리의 내용을 실행하는 곳) CPU는 메모리에 있는 데이트를 읽어 들이고, 해석하고, 실행하는 장치이다. 메모리 = 냉장고, 데이터 = 음식 , CPU = 부엌 구성요소 ALU : 계산기 레지스터 : CPU 내부의 작은 저장장치 제어장치 : 제어 신호를 보내고 해석 RISC / MIPS 우선 비교를 하려면 CISC 개념이 필요할 듯하다. CISC CPU의 동작을 보면 MOVS - string을 ..