Skip to content

wanilly/ComputerArchitecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 

Repository files navigation

ComputerArchitecture

๋ชฉ์ฐจ

Untitled

Untitled

Instruction Set Architecture(ISA)

Instruction set(๋ช…๋ น์–ด ์ง‘ํ•ฉ์€ ์ž์—ฐ์–ด์—์„œ ์–ดํœ˜์— ํ•ด๋‹นํ•˜๋Š” ์˜์—ญ์„ ๋งํ•œ๋‹ค.

  • ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ๊ฐ€ ์ธ์‹ํ•ด์„œ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋œ ๋ช…๋ น์–ด ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธ

  • ์ตœํ•˜์œ„ ๋ ˆ๋ฒจ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค, ํ”„๋กœ์„ธ์„œ๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ํฌํ•จ

  • ISA๋Š” Computer Architecture*์˜ ๊ตฌ์„ฑ์š”์†Œ ์ค‘ ํ•˜๋‚˜

  • ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ์˜ ๊ธธ์ด์™€ ์ˆซ์ž ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฆ„.

    (ISA๋Š” ์ œ์กฐ์‚ฌ๋งˆ๋‹ค ์ฐจ์ด๊ฐ€ ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ ์ธก๋ฉด์—์„œ๋Š” ๊ณตํ†ต์ ์ด ๋งŽ๋‹ค.)

  • ๊ธฐ๊ณ„์–ด ๋ช…๋ น์–ด์˜ ๊ฐ ๋น„ํŠธ๋Š” ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋ถ„ํ• ๋˜์–ด ์˜๋ฏธ๊ฐ€ ๋ถ€์—ฌ๋˜๊ณ  ์ด์ง„ ์ˆซ์žํ™”

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ˆซ์ž๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ๋ž€ ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅ์— ๊ฐ€๊นŒ์›Œ, ๊ธฐ๊ณ„์–ด์™€ ์ผ๋Œ€์ผ๋กœ ๋ฌธ์žํ™”ํ•œ ๊ฒƒ์ด Assembly Language

  • ISA๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ Microarchitecture (Computer Organization) ๋ผ ํ•˜๋ฉฐ, ๊ฐ™์€ ISA๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ Microarchitecture๋กœ ๊ตฌํ˜„

ISA type๐Ÿ…

  1. CISC (Complex Instruction Set Computer)
  • ๋ณต์žกํ•œ ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ ๊ฐ–๋Š”ย CPUย Architecture์ด๋‹ค.
  • ํ•˜๋‚˜์˜ Instruction์ด ์—ฌ๋Ÿฌ Job์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ช…๋ น์–ด์˜ ๊ธธ์ด๊ฐ€ ๊ฐ€๋ณ€์ ์ด๋‹ค.
  • ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ช…๋ น์–ด๊ฐ€ ์กด์žฌ / ๋งŽ์€ ์ฃผ์†Œ ์ง€์ • ๋ชจ๋“œ ์‚ฌ์šฉ
  • Operand ์ฃผ์†Œ ํ‘œ์‹œ๋ฒ•์˜ ๋ณต์žกํ•˜๋‹ค.
  • Load/Store ๊ตฌ์กฐ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, Load/Store ๊ตฌ์กฐ๊ฐ€ ๊ฐ–๋Š” ์ œ์•ฝ์ด ์—†๋‹ค.
  • ๋Œ€๋Ÿ‰์˜ data๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์ ํ•ฉํ•˜๋‹ค.
  • ๋ช…๋ น์–ด SW์  ํ˜ธํ™˜์„ฑ์ด ์ข‹๋‹ค. ๋ช…๋ น์–ด ํ•ด์„ํ•œ ํ›„ ๋ช…๋ น์–ด ์‹คํ–‰
  • ์ปดํŒŒ์ผ ๊ณผ์ •์ด ์‰ฝ๊ณ  ํ˜ธํ™˜์„ฑ์ด ์ข‹์ง€๋งŒ, ์†๋„๊ฐ€ ๋А๋ฆผ
  • ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ œ์–ด๋ฐฉ์‹

ex) Intel x86

  1. RISC (Reduced Instruction Set Computer)
  • ๋น„๊ต์  ๋‹จ์ˆœํ•œ ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ ๊ฐ–๋Š” CPUย Architecture์ด๋‹ค.
  • ํ•˜๋‚˜์˜ Instruction์ด ๋˜๋„๋ก ํ•˜๋‚˜์˜ Job๋งŒ์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ์„ค๊ณ„๋˜์—ˆ๋‹ค.
  • ๋ช…๋ น์–ด์˜ ๊ธธ์ด๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค, ํ•ด์„ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • ๋ช…๋ น์–ด์˜ ์ข…๋ฅ˜๊ฐ€ ๋น„๊ต์  ๋งŽ์ง€ ์•Š๋‹ค. (CISC์— ๋น„ํ•ด ๋ช…๋ น์–ด ์ˆ˜๊ฐ€ ์ ์Œ)
  • Operand ์ฃผ์†Œ ํ‘œ์‹œ๋ฒ•์ด ๋‹จ์ˆœํ•˜๋‹ค
  • ๋Œ€๋ถ€๋ถ„์˜ RISC๋Š” Load/Store Architecture*๋ฅผ ์ฑ„ํƒํ•œ๋‹ค.
  • ํ•˜๋“œ ์™€์ด์–ด๋“œ (๋…ผ๋ฆฌํšŒ๋กœ ํ•˜๋“œ์›จ์–ด)์  ์ œ์–ด ๋ฐฉ์‹
  • ํšจ์œจ์ ์ธ ํŒŒ์ดํ”„๋ผ์ด๋‹ ๊ตฌ์กฐ
  • ๋ช…๋ น์–ด๊ฐ€ ํ•˜๋“œ์›จ์–ด์ ์ด๋ฏ€๋กœ ํ˜ธํ™˜์„ฑ์ด ๋‚ฎ๋‹ค.
  • ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง€๊ณ , ์ „๋ ฅ์†Œ๋ชจ๊ฐ€ ์ ์œผ๋ฉฐ, ์ฒ˜๋ฆฌ ๋น„ํŠธ ๋‹จ์œ„๊ฐ€ ๋ณ€ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ์„ธ์„œ ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ํ•˜์œ„ ํ”„๋กœ์„ธ์„œ์™€ ํ˜ธํ™˜์„ฑ์ด ๋–จ์–ด์ง.
  • ๋งŽ์€ ์ˆ˜ ๋ฒ”์šฉ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ํ•˜๋“œ์›จ์–ด๊ตฌ์กฐ๊ฐ€ ๊ฐ„๋‹จํ•จ.

ex) ARM, MIPS, SPARC ๋“ฑ

MIPS Instruction ์ข…๋ฅ˜

  1. ALU : R-format, I-format, Immediate addressing mode
  2. Data Transfer : I-format, Base addressing
  3. Branch : R-format, I-format, J-format, PC-relative addressing, Pseudo direct addressing

image

Immediate addressing mode

Constant์— ๋Œ€ํ•ด sign extension / unsigned extension

Sign extension

Register Operand

  • MIPS๋Š” 32๊ฐœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ , ๊ฐ ๋ ˆ์ง€์Šคํ„ฐ๋Š” 32๋น„ํŠธ
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋‚˜ ์‹คํ–‰ ๋„์ค‘ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
  • ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์–ด์…ˆ๋ธ”๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ์–ด์…ˆ๋ธ”๋Ÿฌ๊ฐ€ ๊ฒฐ์ •
  • ๋ ˆ์ง€์Šคํ„ฐ 32๊ฐœ์ด๋ฏ€๋กœ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ 5๊ฐœ์˜ ๋น„ํŠธ๋งŒ ํ•„์š”
  • ๋ ˆ์ง€์Šคํ„ฐ 32๊ฐœ๊ฐ€ ์ ๋‹น / ๊ฐœ์ˆ˜๋Š” operand ๊ธธ์ด๋ฅผ ๊ฒฐ์ • / ๋งŽ์€ ๋ ˆ์ง€ํ„ฐ๋Š” instruction์—์„œ ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ๋น„ํŠธ์˜ ์ˆ˜๊ฐ€ ์ค„์–ด๋“ฌ

Memory Organization

  • ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์—๋Š” Byte addressing์„ ์‚ฌ์šฉ / ์ฃผ์†Œ 1๊ฐœ๋‹น 1byte์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ word๋กœ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ, 32bit์˜ ๊ตฌ์กฐ๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด 4๊ฐœ๋ฅผ ๋ฌถ์–ด์„œ ๋ฐฐ์—ด

  • word๋Š” aligned๋˜์–ด ์žˆ์–ด์„œ word๋“ค์€ 4์˜ ๋ฐฐ์ˆ˜๋ฅผ ์‹œ์ž‘ ์ฃผ์†Œ๋กœ ๊ฐ€์ง€๋ฉฐ ์‹œ์ž‘ ์ฃผ์†Œ์˜ ๋ 2bit๋Š” ํ•ญ์ƒ 00

    word = 4byte(32bit)

Base addressing mode

offset addressing mode : ๊ธฐ์ค€ ๋ ˆ์ง€์Šคํ„ฐ(base) + offset

direct mode? โ†’ base ๋ ˆ์ง€์Šคํ„ฐ์™€ offset ๊ฐ™์ด ์ œ๊ณต

  • ์ ˆ๋Œ€์ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ, instruction ๊ธธ์ด๊ฐ€ 32๋น„ํŠธ๋ฅผ ๋„˜๋Š”๋‹ค.
  • 32๋น„ํŠธ ๊ธธ์ด ๋งž์ถฐ์ค„ ๊ฒฝ์šฐ, 2๊ฐœ word์— ์ €์žฅ โ†’ fetch 2๋ฒˆ ์ˆ˜ํ–‰ํ•˜์—ฌ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋จ.

Register addressing mode

operand๋Š” register๋งŒ ๊ฐ€๋Šฅํ•จ.

PC relative addressing mode

PC๊ธฐ์ค€ ์ƒ๋Œ€์ ์ธ ์œ„์น˜ ์‚ฌ์šฉํ•จ. beq, bne conditional jump instruction์ด PC relative addressing mode ์‚ฌ์šฉํ•จ.

Pseudo- direct addressing mode

j(unconditional jump instruction) jump word ๋‹จ์œ„ - ํ•˜์œ„ 2๋น„ํŠธ๋ฅผ ์ƒ๋žตํ•˜์—ฌ ํ‘œํ˜„ํ•จ.

image

  1. R-type : Register ALU instruction, jr( unconditional jump register ), register addressing mode

image

add $t0, $s1, $s2 โ†’ rd: $t0, rs: $s1, rt: $s2

opcode | RS | RT | RD | shamt | funct โ‡’ 0 | 17($s1) | 18($s2) | 8($t0) | 0 | 32

funct ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ?? โ†’ operation์€ 2^6 = 64 ๋ณด๋‹ค ํœ ์”ฌ ๋งŽ์Œ

โ†’ ALU instruction์€ opcode 0์ž„

  1. ๐Ÿ•I-type โ†’ opcode | RS | RT | imm(constant)โ†’16bits

image

  • Data transfer instruction
    • base addressing mode โ†’ lw(load), sw(store)
  • ALU
    • immediate addressing mode โ†’ addi
    • branch โ†’ bne, beq

lw $t0, 32($s2) โ†’ rs : $s2, rt: $t0

Offset 32 โ‡’ 8*4 byte

Opcode | RS | RT | Imm(constant), offset โ‡’ 35 | rs | rt | 32

  • immediate - ๋ ˆ์ง€์Šคํ„ฐ๋Š” ๋“ค์–ด์žˆ๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์™€์•ผ ํ•จ, ๋ฉ”๋ชจ๋ฆฌ์— ํ•œ๋ฒˆ ๊ฐ”๋‹ค์™€์•ผ ํ•จ, ์ƒ์ˆ˜๋Š” ๊ทธ ์ž์ฒด์˜ ๊ฐ’
  • Sign Extension : ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ bit ๋Š˜๋ฆผ
    • ๋ ˆ์ง€์Šคํ„ฐ offset ์ฐจ์ด๋Š” ALU ์ด๋ฃจ์–ด์ง, ALU์€ 32bit, 32bit๋ผ๋ฆฌ ์—ฐ์‚ฐ๊ฐ€๋Šฅ
    • offset: imm ๋ถ€๋ถ„์— ์ €์žฅ(16bit) โ‡’ ์—ฐ์‚ฐ์„ ์œ„ํ•ด 16๋น„ํŠธ โ†’ 32๋น„ํŠธ
  • Unsigned : ์ƒ์œ„๋ฅผ 0์œผ๋กœ ์ฑ„์›€
  1. J-type

image

  • j, jal (unconditional jump instruction)
  • jump - ๋งจ ํ•˜์œ„ 2๋น„ํŠธ โ‡’ 00
  • 28๋น„ํŠธ ํ‘œํ˜„๋ฒ”์œ„ ๊ฐ€์ • - ํ•˜์œ„ 2๋น„ํŠธ ์ƒ๋žต!
  • address 32๋น„ํŠธ - ์ƒ์œ„ 4๊ฐœ ๋น„ํŠธ๋Š” ํ˜„์žฌ PC๊ฐ’ ์ƒ์œ„ 4๋น„ํŠธ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ

ALU instruction ์‚ฐ์ˆ , ๋…ผ๋ฆฌ์—ฐ์‚ฐ

  1. Register Arithmetic

    R-format , Register addressing ๋ฐ์ดํ„ฐ, ๋ณ€์ˆ˜ โ†’ ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅ

    3๊ฐœ operand ๊ฐ€์ง โ‡’ 2 source, 1 destination

  2. Immediate Arithmetic

    immediate address, I-format ์‚ฌ์šฉ

    subi โ†’ ์กด์žฌ ํ•˜์ง€ ์•Š์Œ โ‡’ addi $s2, $s1, -1

    image

  3. Logical

$v0 ~ $v1 ๋ ˆ์ง€์Šคํ„ฐ 2, 3๋ฒˆ 2๊ฐœ์ธ ์ด์œ  โ†’ 64๋น„ํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ
$a0 ~ $a3 ๋ ˆ์ง€์Šคํ„ฐ 4~7๋ฒˆ ๋งค๊ฐœ๋ณ€์ˆ˜
$t0 ~ $t9 ์ž„์‹œ๊ฐ’ callee ๋ณด์กด๋˜์ง€ ์•Š๋Š”๋‹ค / caller์—์„œ ์‚ฌ์šฉ๋œ ๊ฐ’์ด ๋ฎ์–ด ์“ฐ์—ฌ์งˆ ์ˆ˜ ์žˆ์Œ
$s0 ~ $s7 ์ €์žฅ๋œ ๊ฐ’ Callee(ํ”ผํ˜ธ์ถœ์ž)์— ์˜ํ•ด ์ €์žฅ, ๋‹ค์‹œ ๋ณต์› / ์‚ฌ์šฉํ•˜๋˜ ๊ฐ’์„ ๋‹ค์‹œ ๋ณต์›ํ•˜์—ฌ์•ผ ํ•จ.

๋””์ž์ธ ์„ค๊ณ„ ์›๋ฆฌ

  1. ๊ทœ์น™์ ์ธ ๊ฒƒ์ด ๊ฐ„๋‹จ์„ฑ์„ ์œ„ํ•ด ์ข‹์Œ โ†’ 3๊ฐœ ํ”ผ์—ฐ์‚ฐ์ž (2 source, 1 destination)

  2. ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์‚ฌํ•ญ์„ ๋นจ๋ฆฌ ์ฒ˜๋ฆฌ โ†’

  3. ์ ์„์ˆ˜๋ก ๋น ๋ฆ„ โ†’ MIPS๋Š” ์ ์€ ์ˆ˜์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ํฌํ•จ (32๊ฐœ)

    ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ํš๋“ํ•˜๋Š” ์†๋„๊ฐ€ ๋น ๋ฆ„

01.01_load ๋ช…๋ น์–ด (lw)

lw (destination) (source)

lw $s3, 1($0)ย ย ย  ย  ย # word1๋ฒˆ์ง€(1+0=1)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ $3๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅํ•ด๋ผ.

F2F2AC07๊ฐ’์ด $3์— ์ €์žฅ๋จ

word1๋ฒˆ์ง€ : 0000 0001

01.02_store ๋ช…๋ น์–ด (sw)

store (source) (destination)

sw $t4, 0x3($0)ย  ย ย # t4๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ word3๋ฒˆ์ง€((16์ง„์ˆ˜)3+0 )์— ์ €์žฅ

word 3๋ฒˆ์ง€ ๋Š” 0000 00003

Load/Store Architecture

์˜ค์ง Load ๋ช…๋ น๊ณผ Store ๋ช…๋ น์œผ๋กœ๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ด๋‹ค.

Memory to Memory ์—ฐ์‚ฐ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ตฌ์กฐ์ด๋‹ค.

ex) ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๊ฐ’๊ณผ ๋ ˆ์ง€์Šคํ„ฐ์— ์žˆ๋Š” ๊ฐ’์„ ๊ณง ๋ฐ”๋กœ ๋”ํ•  ์ˆ˜ ์—†๊ณ ,ย  load ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๊ฐ’์„ ๋ ˆ์ง€์Šคํ„ฐ์— ์˜ฎ๊ธด ํ›„ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Memory โ†’ Registers, value๋ฅผ Load
  • ์—ฐ์‚ฐ ์ˆ˜ํ–‰
  • Registers โ†’ Memory, result๋ฅผ Store

Register

ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ ˆ์ง€์Šคํ„ฐ์—์„œ ๊ฐ€์ ธ์˜จ๋‹ค. 32๊ฐœ์˜ 32bit ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๊ฐ€์ง.

image

Mips Instruction


Hazards

Pipeline ๋ฐฉ์‹์˜ ๋งˆ์ดํฌ๋กœ ์•„ํ‚คํ…์ฒ˜, ํ˜„์žฌ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ๋‹ค์Œ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ์‚ฌ์ดํด์ด ์ง„ํ–‰๋˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ์ž„

  1. Structure Hazard

    • ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” H/W ์ž์›๋ผ๋ฆฌ์˜ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ
    • ๋™์‹œ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๋ช…๋ น์–ด๋“ค์—์„œ ๊ฐ™์€ H/W ์ž์›์„ ๋™์‹œ์— ์š”๊ตฌํ•˜๋ฉด ๊ตฌ์กฐ ํ—ค์ €๋“œ๊ฐ€ ๋ฐœ์ƒ
  2. Data Hazard

    • ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๋ช…๋ น์–ด๋“ค ๊ฐ„์—, ์ „ํ›„ ๋ช…๋ น์–ด๋ผ๋ฆฌ ์˜์กด๊ด€๊ณ„์— ์žˆ๋Š” ๊ฒฝ์šฐ
    • ํŒŒ์ดํ”„๋ผ์ธ ๊ธฐ๋ฒ•์€ ๋ช…๋ น์–ด๊ฐ€ ์™„์ „ํžˆ ์ˆ˜ํ–‰๋˜๊ธฐ ์ด์ „์— ๋‹ค์Œ ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด๊ธฐ ๋–„๋ฌธ์—, ์ „ํ›„ ๋ช…๋ น์–ด๊ฐ€ ์˜์กด๊ด€๊ณ„์— ์žˆ์œผ๋ฉด ํŒŒ์ดํ”„์ด๋‹์ด ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋˜๊ธฐ ์–ด๋ ค์›€

๐Ÿ’กQusetion

  • ์˜๋ฌธ์ ์„ ๊ฐ€์ง€๋Š” ๋ถ€๋ถ„๋“ค
    1. RISC vs CISC
    2. ์™œ RISC๋กœ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ์—ˆ

๐Ÿ–ฅย ์ฒดํฌํ•ด์•ผ ํ•  ๋ถ€๋ถ„ : RISC vs CISC ์ฐจ์ด์  ์–ด๋–ป๊ฒŒ ๋ฐœ์ „์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ์™œ ๊ทธ๋Ÿฐ ๊ฒƒ์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ

MIPS ๋ช…๋ น์–ด ํ•ด์„ ๊ฐ€๋Šฅ / ๊ธฐ๊ณ„์–ด ๋ณ€ํ™˜ / ์—ญ๋ณ€ํ™˜ ๊ฐ€๋Šฅ /

๐Ÿ…RISC :

์ ์€ ์ˆ˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์ด๋‹ค. ๋ณต์žกํ•œ ๋ช…๋ น์–ด๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์‚ฌ์šฉ๋นˆ๋„๊ฐ€ ๋†’์€ ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ์ฒ˜๋ฆฌ์†๋„๋ฅผ ํ–ฅ์ƒํ•œ ํ”„๋กœ์„ธ์„œ์ด๋‹ค. ์ปดํ“จํ„ฐ์˜ ์‹คํ–‰ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ณต์žกํ•œ ์ฒ˜๋ฆฌ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์—๊ฒŒ ๋งก๊ธฐ๋Š” ๋ฐฉ๋ฒ•์„ ์ฑ„ํƒํ•˜์˜€๋‹ค. ARM ๊ณ„์—ด์˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ RISC ํ”„๋กœ์„ธ์„œ
  • CPU์˜ ๋ช…๋ น์–ด๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ ๋‹จ์ˆœํ•˜๊ฒŒ ์ œ์ž‘๋œ ํ”„๋กœ์„ธ์„œ
  • ํšจ์œจ์ ์ด๊ณ  ํŠนํ™”๋œ CPU ๊ตฌ์กฐ
  • ํ•˜๋“œ์›จ์–ด๊ฐ€ ๊ฐ„๋‹จํ•œ ๋Œ€์‹  ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ณต์žกํ•˜๊ณ  ํฌ๊ธฐ๊ฐ€ ์ปค์ง(์ปดํŒŒ์ผ๋Ÿฌ์˜ ์ตœ์ ํ™”๊ฐ€ ์š”๊ตฌ๋จ)
  • ํ•˜์œ„ ํ˜ธํ™˜์„ ์œ„ํ•ด ์—๋ฎฌ๋ ˆ์ด์…˜ ๋ฐฉ์‹์„ ์ฑ„ํƒ, ํ˜ธํ™˜์„ฑ ๋ถ€์กฑ
  • ์ „๋ ฅ ์†Œ๋ชจ๊ฐ€ ์ ์Œ, ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ฐ€๊ฒฉ์ด ์ €๋ ด, ์šฉ๋„์— ์ตœ์ ํ™”๊ฐ€ ์š”๊ตฌ๋˜๋Š” ํ™˜๊ฒฝ์— ์‚ฌ์šฉ
  • ๋ช…๋ น์–ด์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ์šฉ์ดํ•จ

๐ŸŽCISC :

์—ฐ์‚ฐ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๋ณต์žกํ•œ ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ ์ˆ˜๋ฐฑ ๊ฐœ ์ด์ƒ ํƒ‘์žฌํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์„œ์ด๋‹ค. ์ธํ…” ๊ณ„์—ด์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ๋Š” CISC ํ”„๋กœ์„ธ์„œ
  • ๋ณต์žกํ•˜๊ณ  ๊ธฐ๋Šฅ์ด ๋งŽ์€ ๋ช…๋ น์–ด๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœ์„ธ์„œ
  • ๋ณตํ•ฉ ๋ช…๋ น์„ ๊ฐ€์ง์œผ๋กœ์จ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ํ™•๋ณด
  • ํŠธ๋žœ์ง€์Šคํ„ฐ ์ง‘์ ์— ์žˆ์–ด ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง
  • ์ „๋ ฅ ์†Œ๋ชจ๊ฐ€ ํผ, ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ๊ฐ€๊ฒฉ์ด ๋น„์Œˆ, ํ˜ธํ™˜์„ฑ์ด ์ ˆ๋Œ€์ ์œผ๋กœ ํ•„์š”ํ•œ PCํ™˜๊ฒฝ
  • ๋ช…๋ น์–ด ํ•ด์„์— ํ•„์š”ํ•œ ํšŒ๋กœ๊ฐ€ ๋ณต์žก โ†’ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ์‰ฝ์ง€ ์•Š์Œ

โค๏ธ

image

image

image

Performance

๐Ÿ–ฅย ์ฐธ๊ณ 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published