๐Ÿ’ป HARDWARE 008

Dong_Juneยท2022๋…„ 2์›” 1์ผ
0

CS

๋ชฉ๋ก ๋ณด๊ธฐ
8/16
post-thumbnail

013 ๋ชจํ˜• ์ปดํ“จํ„ฐ๋กœ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ


๋ชจํ˜• ์ปดํ“จํ„ฐ

  • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ”„๋กœ์„ธ์„œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์•Œ์•„ ๋ด„

  • ์ƒ์ƒ์˜ ์ปดํ“จํ„ฐ, ์‹ค์ œ ์ปดํ“จํ„ฐ์™€ ๊ฐ™์€ ์•„์ด๋””์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ํ›จ์”ฌ ๋‹จ์ˆœ

  • ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๆœ‰

  • 1๊ฐœ์˜ ์ˆ˜๋ฅผ ๋‹ด์„ ๋งŒํ•œ ์šฉ๋Ÿ‰์˜ ๋ถ€๊ฐ€์ ์ธ ์ €์žฅ ์˜์—ญ์ธ ๋ˆ„์‚ฐ๊ธฐ(accumulator) ์žˆ์Œ

  • ๋Œ€ํ‘œ ๋ช…๋ น์–ด

๋ช…๋ น์–ด๊ธฐ๋Šฅ
GETํ‚ค๋ณด๋“œ์—์„œ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ํ›„ ๋ˆ„์‚ฐ๊ธฐ์— ๋„ฃ์Œ (๋ˆ„์‚ฐ๊ธฐ์˜ ๊ธฐ์กด ๋‚ด์šฉ ๋ฎ์–ด ์”€)
PRINT๋ˆ„์‚ฐ๊ธฐ์˜ ๋‚ด์šฉ ์ถœ๋ ฅ (๋ˆ„์‚ฐ๊ธฐ์˜ ๋‚ด์šฉ ๋ถˆ๋ณ€)
STORE M๋ˆ„์‚ฐ๊ธฐ ๋‚ด์šฉ์˜ ๋ณต์‚ฌ๋ณธ์„ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜ M์— ์ €์žฅ (๋ˆ„์‚ฐ๊ธฐ ๋‚ด์šฉ ๋ถˆ๋ณ€)
LOAD M๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜ M์˜ ๋‚ด์šฉ์„ ๋ˆ„์‚ฐ๊ธฐ์— ์ ์žฌ (M ๋‚ด์šฉ ๋ถˆ๋ณ€)
ADD M๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜ M์˜ ๋‚ด์šฉ์„ ๋ˆ„์‚ฐ๊ธฐ ๋‚ด์šฉ์— ๋”ํ•จ (M ๋‚ด์šฉ ๋ถˆ๋ณ€)
STOP์‹คํ–‰ ์ค‘์ง€
  • ์ธ์ถœ(Fetch): ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ ธ์˜ด
  • ํ•ด์„(Decode): ๋ช…๋ น์–ด๊ฐ€ ๋ฌด์Šจ ์ผ์„ ํ•˜๋Š”์ง€ ์•Œ์•„๋ƒ„
  • ์‹คํ–‰(Execute): ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰, ์ธ์ถœ ๋‹จ๊ณ„๋กœ ๋˜๋Œ์•„๊ฐ

๋ถ„๊ธฐ ๋ช…๋ น์–ด

  • GOTO: ๋ถ„๊ธฐ, ์ ํ”„, ๋ฐ”๋กœ ๋‹ค์Œ ๋ช…๋ น์–ด๊ฐ€ ์•„๋‹ˆ๋ผ ์ง€์ •ํ•˜๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ํ”„๋กœ์„ธ์„œ์— ์ง€์‹œ
  • IFZERO: ์กฐ๊ฑด๋ถ€ ๋ถ„๊ธฐ(conditional branch), ์กฐ๊ฑด๋ถ€ ์ ํ”„(conditional jump), ๊ฐ’์ด 0์ธ์ง€ ๊ฒ€์‚ฌํ•˜์—ฌ ๋งŒ์ผ ๋งž๋‹ค๋ฉด ํŠน์ •ํ•œ ๋ช…๋ น์–ด๋กœ ๊ฑด๋„ˆ๋œ€, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฐ”๋กœ ๋‹ค์Œ ๋ช…๋ น์–ด๋ถ€ํ„ฐ ์‹คํ–‰

ํ…Œ์ŠคํŠธ(TEST)

  • ํ”„๋กœ๊ทธ๋žจ์ด ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๊ฒ€์‚ฌ๊ฐ€ ํ•„์š”
  • ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•œ ๋ฌธ์ œ์ ์ด ์—†๊ฒŒ ์ฒด๊ณ„์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š” (๐Ÿงํ›Œ๋ฅญํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์˜ ๊ณตํ†ต์ )

๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€ ํ‘œํ˜„

  • ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€์—์„œ ๊ฐ์ž ์œ„์น˜(๊ณต๊ฐ„)๋ฅผ ์ฐจ์ง€

profile
๐Ÿ‘€ ๊ฐœ๋ฆฐ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€