목차
① Address Generator Decoder의 시뮬레이션 결과
② Branch Handler / PC Calculation Unit Decoder의 시뮬레이션 결과
① Address Generator Decoder의 설계
② Branch Handler / PC Calculation Unit Decoder의 설계
② Branch Handler / PC Calculation Unit Decoder의 시뮬레이션 결과
① Address Generator Decoder의 설계
② Branch Handler / PC Calculation Unit Decoder의 설계
본문내용
,12,13,14
jmp
15
nop
1
10
0
14
beq
15
bne
1
0
bge
1
bgt
2
ble
3
blt
10,11,14
jmp
다음은 PC calculation unit에 대한 연산이다.
opcode[7]
opcode[6:5]
opcode[4]
opcode[3:0]
instruction
0
10
0
14,15
pc_poff
1
0,1,2,3,10,14
pc_poff
11,12,13
pc_s
15
nop
1
0
14,15
pc_poff
1
0,1,2,3,10,14
pc_poff
11
pc_off
하위 4bit는 편의를 위해 decimal로 나타내었다.
이 decoder에서 고려되어야 할 opcode는 opcode[6:5]가 모두 10인 특징이 있음을 알 수 있다.
이 모듈은 앞에서 구현한 address generator의 모듈과 비교하였을 때, output이 두 개이므로 각 과정을 두 번 거치도록 구현하였을 뿐, 구현 방법 자체는 아무런 차이점이 없다. 모듈은 앞과 마찬가지로 opcode[6:5], {opcode[7], opcode[4]}, opcode[3:0]을 따로 구분지어 생각하여 MUX를 사용하는 방법으로 구현된다.
코드 자체에도 주석이 충분하고, 앞의 내용과 중복되므로 자세한 코드의 분석은 생략하도록 한다.
이로써 8bit의 opcode를 받아, branch handler와 PC calculation unit이 동작할 수 있도록 각각3bit, 2bit의 control code로 바꾸어주는 branch handler/PC calculation unit의 decoder가 구현되었다.
jmp
15
nop
1
10
0
14
beq
15
bne
1
0
bge
1
bgt
2
ble
3
blt
10,11,14
jmp
다음은 PC calculation unit에 대한 연산이다.
opcode[7]
opcode[6:5]
opcode[4]
opcode[3:0]
instruction
0
10
0
14,15
pc_poff
1
0,1,2,3,10,14
pc_poff
11,12,13
pc_s
15
nop
1
0
14,15
pc_poff
1
0,1,2,3,10,14
pc_poff
11
pc_off
하위 4bit는 편의를 위해 decimal로 나타내었다.
이 decoder에서 고려되어야 할 opcode는 opcode[6:5]가 모두 10인 특징이 있음을 알 수 있다.
이 모듈은 앞에서 구현한 address generator의 모듈과 비교하였을 때, output이 두 개이므로 각 과정을 두 번 거치도록 구현하였을 뿐, 구현 방법 자체는 아무런 차이점이 없다. 모듈은 앞과 마찬가지로 opcode[6:5], {opcode[7], opcode[4]}, opcode[3:0]을 따로 구분지어 생각하여 MUX를 사용하는 방법으로 구현된다.
코드 자체에도 주석이 충분하고, 앞의 내용과 중복되므로 자세한 코드의 분석은 생략하도록 한다.
이로써 8bit의 opcode를 받아, branch handler와 PC calculation unit이 동작할 수 있도록 각각3bit, 2bit의 control code로 바꾸어주는 branch handler/PC calculation unit의 decoder가 구현되었다.
소개글