위 회로는 브랜치 분기 명령어에서 사용되는 회로다. 이는 두 가지 출력으로 나뉘는데, 예를 들어 beq $t1 8($t2)가 입력됐다고 가정하자. 첫번째 출력은 대상 주소 출력이다. 상대 주소인 8은 Sign-extend 회로로 16bit에서 32bit로 변환된다. 그 후 Shift left 2 회로로 4가 곱해져 워드 단위의 상대 주소가 된다. Adder(가산기)로써 PC+4와 합쳐져 대상 주소가 출력된다. 두번째 출력은 조건문에 따른 출력이다. Read register에 $t1과 $t2가 입력되고, Read data로 출력된다. 출력된 값은 ALU에 입력되어 subtract 연산을 수행한다. 만약 zero flag가 활성화된다면 둘은 같은 것이므로 대상 주소에 위치한 명령어가 수행된다. 1) inst..
DATAPATH
Datapath Elements(데이터 경로 요소)에는 Instruction memory, Program counter, Adder가 있다. Instruction memory(명령어 메모리): 프로그램의 명령어를 저장하는 메모리로, 주소(입력)이 주어지면, 해당하는 명령어(출력)을 공급 Program counter: 현재 명령어의 주소를 보유하는 레지스터 Adder(덧셈기): 다음 명령어의 주소를 위해 PC를 증가시키는 논리 회로로, 산술 논리 장치(ALU)에서 수행되는 산술/비트 연산에서 구성됨 프로세서는 PC의 주소를 명령어 메모리(Instruction memory)에 입력함으로 해당 명령어(Instruction)를 가져온다. 다음 명령어를 실행하기 위해서는 PC를 증가시켜야하는데, 명령어 하나의 크..