๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš— Major Study (Bachelor)/๐ŸŸฉ Computer Architecture

์ปดํ“จํ„ฐ ๊ตฌ์กฐ 4.2

by UKHYUN22 2021. 10. 25.
728x90

Building Datapath

์ˆ˜์—…๋•Œ๋Š” lw sw / add sub and or slt / beq, j ์— ๋Œ€ํ•ด์„œ๋งŒ ๋‹ค๋ฃฌ๋‹ค๊ณ  ํ•˜์…จ๋‹ค.

๋ณดํŽธ์ ์œผ๋กœ ๊ตฌํ˜„์„ ํ• ๋•Œ 1๋ฒˆ๊ณผ 2๋ฒˆ์€ Instruction fetch ์— ํ•ด๋‹นํ•œ๋‹ค.

3๋ฒˆ๊ณผ 4๋ฒˆ์€ Instruction execute์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

์ด๋ฅผ "Stored Program Concept"์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

RTL Description

: Register Transfer Language

MIPS Instruction์ด ์–ด๋–ค ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ฉ”๋ชจ๋ฆฌ๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ fetch ํ•˜๊ณ  Excute ํ•˜๋Š” ๊ณผ์ •์„ ํ’€์–ด์„œ ์„ค๋ช…ํ•œ ๊ฒƒ.

PC ๋ž˜์ง€์Šคํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ’์„ IR ๋ž˜์ง€์Šคํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๊ณ 

rs ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’๊ณผ rt ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’์„ ๋”ํ•ด์„œ rd ๋ž˜์ง€์Šคํ„ฐ์— ์ค€๋น„๋ฅผ ํ•ด๋†“๊ณ 

PC์—๋Š” ๋‹ค์Œ Instruction์˜ ๊ฐ’ ์ฆ‰, 4๋งŒํผ ๋”ํ•œ ๊ฐ’์„ ์ค€๋น„์‹œ์ผœ ๋†“๋Š”๋‹ค.

CLOCK triggered ๋˜๋ฉด ํ•ด๋‹น ๊ฐ’์„ ์ €์žฅ์‹œํ‚จ๋‹ค.

 

PC ๋ž˜์ง€์Šคํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ’์„ IR ๋ž˜์ง€์Šคํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๊ณ 

rs ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’๊ณผ rt ๋ž˜์ง€์Šคํ„ฐ์— ์žˆ๋Š” ๊ฐ’์„ 2's complement ์‹œ์ผœ ๋”ํ•˜๊ณ 

PC์— ๋‹ค์Œ Instruction์˜ ๊ฐ’์„ ์ค€๋น„์‹œ์ผœ ๋†“๋Š”๋‹ค.

CLOCK์ด triggered ๋˜๋ฉด ํ•ด๋‹น ๊ฐ’์„ ์ €์žฅ์‹œํ‚จ๋‹ค.

 

PC ๋ž˜์ง€์Šคํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ’์„ IR ๋ž˜์ง€์Šคํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๊ณ 

rs ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’๊ณผ 16์˜ ๊ฐ’์€ Sign Extension ์‹œ์ผœ 32 bit๋กœ ๋งž์ถฐ์ฃผ๊ณ 

๊ทธ ๊ฐ’๋“ค์„ ๋”ํ•œ ์ฃผ์†Œ๋กœ ๊ฐ€์„œ ํ•ด๋‹น ๊ฐ’์„ rt ๋ž˜์ง€์Šคํ„ฐ์— ์ค€๋น„์‹œ์ผœ ๋†“๋Š”๋‹ค.

PC์— ๋‹ค์Œ Instruction์˜ ๊ฐ’์„ ์ค€๋น„์‹œ์ผœ ๋†“๋Š”๋‹ค.

Clock์ด triggered๋˜๋ฉด ํ•ด๋‹น ๊ฐ’์„ ์ €์žฅ์‹œ์ผœ ๋†“๋Š”๋‹ค.

 

PC ๋ž˜์ง€์Šคํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ’์„ IR ๋ž˜์ง€์Šคํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๊ณ 

rs ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’๊ณผ 16์˜ ๊ฐ’์€ Sign Extension ์‹œ์ผœ 32bit๋กœ ๋งž์ถ”์ฃผ๊ณ 

๊ทธ ๊ฐ’์„ ๋”ํ•œ ์ฃผ์†Œ์— rt ๋ž˜์ง€์Šคํ„ฐ์— ์žˆ๋Š” ๊ฐ’์„ ์ค€๋น„์‹œ์ผœ ๋†“๋Š”๋‹ค.

PC์— ๋‹ค์Œ Instruction์˜ ๊ฐ’์„ ์ค€๋น„์‹œ์ผœ ๋†“๋Š”๋‹ค.

Clock์ด triggered ๋˜๋ฉด ํ•ด๋‹น ๊ฐ’์„ ์ €์žฅ์‹œ์ผœ ๋†“๋Š”๋‹ค.

 

PC ๋ž˜์ง€์Šคํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ’์„ IR ๋ž˜์ง€์Šคํ„ฐ๋กœ ๊ฐ€์ ธ์˜ค๊ณ 

rs ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’๊ณผ rt ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’์„ 2's complement ์‹œ์ผœ Cond์— ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ 

Cond๊ฐ€ 0์ด๋ฉด branch ์ฆ‰, PC์˜ ๋‹ค์Œ Instruction ๊ฐ’๊ณผ 16์„ Sign Extension ์‹œํ‚จ ๊ฐ’์˜ sll 2 ํ•œ ๋งŒํผ ๋”ํ•ด์„œ

branch๋ฅผ ์‹œํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

๋งŒ์•ฝ, Cond๊ฐ€ 1์ด๋ฉด ๊ธฐ์กด PC์˜ ๋‹ค์Œ Instruction ์„ ์‹œํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

Instruction memory์™€ Data Memory๋Š” ์‹ค์ œ ๊ฐ™์ด ์žˆ๋Š”๋ฐ ์œ„์™€ ๊ฐ™์€ "Havard Architecture" 

์—์„œ๋Š” ์™œ ๋”ฐ๋กœ ์กด์žฌํ•˜๋Š”๊ฐ€???
์ •๋‹ต์€ "Single clock cycle data path"์— ์žˆ๋‹ค. ๋ชจ๋“  Instruction๋“ค์€ ํ•œ ๋ฒˆ์˜ clock cycle์— ์ „๋ถ€

์‹œํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ๋ฐ ๊ฐ™์€ ๊ณณ์— ์กด์žฌํ•˜๊ฒŒ ๋˜๋ฉด clock cycle์•ˆ์— ์ „๋ถ€ ์‹œํ–‰ํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ Single clock cycle data path ์—์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋‹ค๊ณ  ํ•˜๊ณ  ํ’€์–ด์•ผ ํ•œ๋‹ค.

 

 

ALU with 4 control signals

 

Status bit๋Š” ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–ค ์ƒํƒœ์ธ์ง€ ๋‚˜ํƒ€๋‚ด๋Š” Bit๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.