๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐Ÿ’ป๐Ÿ’ญ๐ŸŽง๐ŸŒ

Chapter 4. The Processor ๋ณธ๋ฌธ

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

Chapter 4. The Processor

adorableco 2023. 1. 15. 11:39
๋ฐ˜์‘ํ˜•

๋ฒŒ์จ ์ค‘๊ฐ„๊ณ ์‚ฌ๋„ ๋๋‚œ ์ง€ ์ด์ฃผ์ผ์ด ์ง€๋‚ฌ์ง€๋งŒ.. ์ง€๊ธˆ์ด๋ผ๋„ ๋ณต์Šตํ•˜๋Š” ์Šต๊ด€์„ ๊ธธ๋Ÿฌ๋ณด๋ ค๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 


์ฑ•ํ„ฐ 4์—์„œ ๋ฐฐ์šธ ๋‚ด์šฉ

- ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ทœ์น™๊ณผ ๊ธฐ์ˆ ๋“ค 

> Simplified design

> Piplelined design

- Core instructions๋“ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ๊ตฌํ˜„

> ๋ฉ”๋ชจ๋ฆฌ ์ฐธ์กฐ(Memory-reference) : ld, sd

> ์‚ฐ์ˆ  ๋…ผ๋ฆฌ(arithmetic-logic) : add, sub, and, or

> ์กฐ๊ฑด ๋ธŒ๋žœ์น˜(conditional branch) : beq 

- Instruction set ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋งŽ์€ ๊ตฌํ˜„์˜ ์ธก๋ฉด์„ ๊ฒฐ์ •ํ•˜๋Š”์ง€

- ๋‹ค์–‘ํ•œ ๊ตฌํ˜„ ์ „๋žต๋“ค์ด clock rate ์™€ CPI์— ์–ด๋–ป๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€


Overview of Implementation

๋ช…๋ น์–ด ์‹คํ–‰ํ•˜๋Š” ์ดˆ๊ธฐ ๋‘ ๋‹จ๊ณ„๊ฐ€ ์žˆ๋‹ค.

 

1. ์ˆ˜ํ–‰ํ•  ๋ช…๋ น์–ด๋ฅผ PC ๋ ˆ์ง€์Šคํ„ฐ์—์„œ ๊ฐ€์ ธ์˜จ๋‹ค.

2. ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฝ๋Š”๋‹ค

> ld๋Š” 1๊ฐœ์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฝ๋Š”๋‹ค.

> ๋‹ค๋ฅธ ๋Œ€๋ถ€๋ถ„์˜ ๋ช…๋ น์–ด๋Š” 2๊ฐœ์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฝ๋Š”๋‹ค.

 

- ๊ฐ ๋‹จ๊ณ„๋“ค์€ ๋ช…๋ น์–ด ํด๋ž˜์Šค(memor-reference, arthmetic-logical, or branches) ์— ์˜์กดํ•œ๋‹ค.

- RISC-V์˜ ๋‹จ์ˆœ์„ฑ๊ณผ ๊ทœ์น™์„ฑ์€ ๋ช…๋ น์–ด๋“ค์ด ์œ ์‚ฌํ•˜๊ฒŒ ์‹คํ–‰๋˜๋„๋ก ๋งŒ๋“ ๋‹ค. 

-> ์ตœ๋Œ€ํ•œ ๊ฐ™์€ ๋ถ€๋ถ„์ด ์ปค์ง€๋„๋ก / isntruction๋“ค์„ ์ตœ๋Œ€ํ•œ ์œ ์‚ฌํ•˜๊ฒŒ

 

ex) ALU ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ณณ

- ์‚ฐ์ˆ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•  ๋•Œ (add, sub, ...)

- ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ (ld)

- ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐˆ ๊ณณ์˜ ์ฃผ์†Œ (beq)

 

Logic Design Basics

๋…ผ๋ฆฌํšŒ๋กœ ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด์„œ ๋ฐฐ์šด ๊ฐ„๋‹จํ•œ ๋‚ด์šฉ์ด๋ฏ€๋กœ ์„ค๋ช… ์ƒ๋žต

 

 

 

Digital Logic Element types

๋‘ ๊ฐ€์ง€ ์š”์†Œ๊ฐ€ ์žˆ๋‹ค.

1. Combinational element

- ์ž…๋ ฅ์ด ์ฆ‰๊ฐ ๋ฐ˜์˜๋œ๋‹ค. 

- ๋ฐ์ดํ„ฐ ์ƒ์—์„œ ์‹คํ–‰ํ•œ๋‹ค.

- ๋‚ด๋ถ€ ์ €์žฅ๊ณต๊ฐ„์ด ์—†๋‹ค. (๋ฉ”๋ชจ๋ฆฌ ์—ญํ• ์„ ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์—†๋‹ค.)

- Output์€ Input์˜ ํ•จ์ˆ˜์ด๋‹ค.

-> ๊ฐ™์€ Input์ด๋ผ๋ฉด ํ•ญ์ƒ ๊ฐ™์€ Output์ด ๋‚˜์˜จ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

2. State (Sequential) element

- ์ƒํƒœ๋“ค์ด ๋‚ด๋ถ€ ์ €์žฅ๊ณต๊ฐ„์— ์ €์žฅ๋œ๋‹ค.

- ์ตœ์†Œ 2๊ฐœ์˜ input๊ณผ 1๊ฐœ์˜ output์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

-> input : data value, clock

- Output์€ ํ˜„์žฌ์˜ input ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด์ „์˜ Input ๊ฐ’์—๋„ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. 

- ์ž…๋ ฅ์ด ๋“ค์–ด์™€๋„ Clock Signal์— ์˜ํ•ด ํ†ต์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

- ์ž…๋ ฅ์€ ํ•˜๋‚˜์ง€๋งŒ ์ถœ๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ์ˆ˜๋„ ์žˆ๋‹ค. -> ๊ฐ™์€ Input์ด๋ผ๋„ ๋‹ค๋ฅธ Output์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ธ ๊ฒƒ ๊ฐ™์€๋ฐ ํ™•์‹คํ•˜์ง€ ์•Š์•„์„œ ๋‹ค์‹œ ํ™•์ธํ•ด๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

 

Clocks : ์ฝ๊ณ  ์“ฐ๋Š” ์‹œ๊ฐ„์€ ์ œ์–ด๋˜์–ด์•ผ ํ•œ๋‹ค.

- ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ์˜ ์‹œ๊ฐ„์ด ๊ฐ™์œผ๋ฉด ouput์€ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

Edge-triggered clocking

- ์•„๋ž˜์—์„œ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๊ฑฐ๋‚˜ ์œ„์—์„œ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ๋“ฑ์˜ ๋ณ€ํ™”๋˜๋Š” ์‹œ์ ์„ Edge ๋ผ๊ณ  ํ•œ๋‹ค. 

- Sequential logic element์—์„œ์˜ ๋ฐ์ดํ„ฐ๋Š” clock edge ์—์„œ๋งŒ ์—…๋ฐ์ดํŠธ๋œ๋‹ค.

 

๋ฐ˜์‘ํ˜•