๐Ÿ’Ÿ ์ปดํ“จํ„ฐ์˜ 4๊ฐ€์ง€ ํ•ต์‹ฌ ๋ถ€ํ’ˆ

  1. ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜(CPU-Central Processing Unit)
  2. ์ฃผ๊ธฐ์–ต์žฅ์น˜(๋ฉ”๋ชจ๋ฆฌ, main memory)
  3. ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜(Secondary Storage)
  4. ์ž…์ถœ๋ ฅ์žฅ์น˜(I/O device)

Untitled

๐Ÿ’Ÿ ๋ฉ”๋ชจ๋ฆฌ

๋ฉ”๋ชจ๋ฆฌ๋Š” ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ(์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๋Š” ์ •๋ณด)๋ฅผ ์ €์žฅํ•˜๋Š” ๋ถ€ํ’ˆ.

ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ €์žฅ๋œ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋Š” ์ •๋ˆ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. (address)

๐Ÿ’Ÿ CPU

CPU๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๋ช…๋ น์–ด๋ฅผ ์ฝ์–ด๋“ค์ด๊ณ , ์ฝ์–ด๋“ค์ธ ๋ช…๋ น์–ด๋ฅผ ํ•ด์„ํ•˜๊ณ , ์‹คํ–‰ํ•˜๋Š” ๋ถ€ํ’ˆ. ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ : ALU(Arithmetic Logic Unit), ๋ ˆ์ง€์Šคํ„ฐ, ์ œ์–ด์žฅ์น˜(Control Unit)

ALU - ๊ณ„์‚ฐ๊ธฐ

๋ ˆ์ง€์Šคํ„ฐ - CPU ๋‚ด๋ถ€์˜ ์ž‘์€ ์ž„์‹œ ์ €์žฅ ์žฅ์น˜

์ œ์–ด์žฅ์น˜ - control signal์„ ๋ณด๋‚ด๊ณ  ๋ช…๋ น์–ด ํ•ด์„ ์žฅ์น˜

๐Ÿ’Ÿ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณด์กฐํ•˜๋Š” ์ €์žฅ ์žฅ์น˜.

๐Ÿ’Ÿ I/O Device

ex) ๋งˆ์ดํฌ, ์Šคํ”ผ์ปค, ํ”„๋ฆฐํ„ฐ, ๋งˆ์šฐ์Šค

์ปดํ“จํ„ฐ ์™ธ๋ถ€์— ์—ฐ๊ฒฐ๋˜์–ด ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์™€ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ์žฅ์น˜.

๐Ÿ’Ÿ main board & system bus

๋ฉ”๋ชจ๋ฆฌ, CPU, ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜, I/O device๋Š” ๋ชจ๋‘ main board(=mother board)๋ผ๋Š” ํŒ์— ์—ฐ๊ฒฐ๋œ๋‹ค.

main board ๋‚ด๋ถ€์— bus๋ผ๋Š” ํ†ต๋กœ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ ๋ถ€ํ’ˆ๋“ค๋ผ๋ฆฌ ์„œ๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ bus๋Š” system bus(address bus, data bus, control bus๋กœ ๊ตฌ์„ฑ)

ex) CPU์˜ ์ž‘๋™ ์˜ˆ์‹œ(CPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์† ๋ช…๋ น์–ด๋ฅผ ์ฝ์–ด ๋“ค์ด๊ธฐ ์œ„ํ•ด์„œ) โ“ CPU๊ฐ€ control bus๋กœ โ€˜๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐโ€™ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋‚ด๋ณด๋ƒ„. โ“‘ address bus๋กœ readํ•˜๊ณ ์ž ํ•˜๋Š” address๋ฅผ ๋ณด๋‚ด๋ƒ„. โ“’ memory๋Š” data bus๋กœ CPU๊ฐ€ ์š”์ฒญํ•œ ์ฃผ์†Œ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ณด๋‚ธ๋‹ค.

Untitled

memory์— ์–ด๋–ค ๊ฐ’์„ ์ €์žฅํ• ๋•Œ) ) โ“ CPU๊ฐ€ data bus๋กœ memory์— ์ €์žฅํ•  ๊ฐ’์„ โ“‘ address bus๋กœ ์ €์žฅํ•  address๋ฅผ ๋ณด๋‚ด๋ƒ„. โ“’ control bus๋ฅผ ํ†ตํ•ด โ€˜๋ฉ”๋ชจ๋ฆฌ ์“ฐ๊ธฐโ€™ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋‚ด๋ณด๋ƒ„.

๐Ÿ’Ÿ bit

bit๋Š” 0๊ณผ 1์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ •๋ณด ๋‹จ์œ„

1byte = 8bit

1kB = 1,000byte

1MB = 1,000kB

1GB = 1,000MB

1TB = 1,000GB

๐Ÿ’Ÿ ASCII code

์•„์Šคํ‚ค ๋ฌธ์ž์— ์†ํ•œ ๋ฌธ์ž๋“ค์€ ๊ฐ๊ฐ 7๋น„ํŠธ๋กœ ํ‘œํ˜„๋˜๋ฉฐ, 7๋น„ํŠธ๋กœ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด์˜ ๊ฐ€์ง“์ˆ˜๋Š” 2์—7์ œ๊ณฑ๊ฐœ. ์ด128๊ฐœ.

์•„์Šคํ‚ค ๋ฌธ์ž์— ๋Œ€์‘๋œ ๊ณ ์œ ํ•œ ์ˆ˜๊ฐ€ ์•„์Šคํ‚ค ์ฝ”๋“œ์ด๋‹ค.

๐Ÿ’Ÿ EUC-KR

  1. ์™„์„ฑํ˜• ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹ : ์ดˆ์„ฑ, ์ค‘์„ฑ, ์ข…์„ฑ์˜ ์กฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์™„์„ฑ๋œ ํ•˜๋‚˜์˜ ๊ธ€์ž์— ๊ณ ์œ ํ•œ ์ฝ”๋“œ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹
  2. ์กฐํ•ฉํ˜• ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹ : ์ดˆ์„ฑ, ์ค‘์„ฑ, ์ข…์„ฑ์„ ์œ„ํ•œ ๋น„ํŠธ์—ด์„ ๊ฐ๊ฐ ํ• ๋‹นํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ธ€์ž ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•˜๋Š” ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹

EUC-KR์€ ์™„์„ฑํ˜• ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์œผ๋กœ, ํ•œ ๋‹จ์–ด์— 2byte ํฌ๊ธฐ์˜ ์ฝ”๋“œ ๋ถ€์—ฌ

BUT ์€ ์ด๋Ÿฐ ๊ธ€์ž๋Š” ํ‘œํ˜„ํ•˜๊ธฐ ์–ด๋ ค์›€. SO ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ CP949

๐Ÿ’Ÿ ์œ ๋‹ˆ์ฝ”๋“œ & UTF-8

์œ ๋‹ˆ์ฝ”๋“œ๋Š” EUC-KR๋ณด๋‹ค ๋‹ค์–‘ํ•œ ํ•œ๊ธ€์„ ํฌํ•จ, ๋Œ€๋ถ€๋ถ„ ๋‚˜๋ผ์˜ ๋ฌธ์ž, ํŠน์ˆ˜๋ฌธ์ž ๋“ฑ์„ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์ผ๋œ ๋ฌธ์ž์ง‘ํ•ฉ.

UTF-8์€ 1~4 byte์˜ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋ฉฐ, ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์— ๋ถ€์—ฌ๋œ ๊ฐ’์˜ ๋ฒ”์œ„์— ๋”ฐ๋ผ ๋ช‡ byte๊ฐ€ ๋ ์ง€ ๊ฒฐ์ •๋œ๋‹ค. (์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์˜ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์ž„.)

๐Ÿ’Ÿ ๊ณ ๊ธ‰ ์–ธ์–ด & ์ €๊ธ‰ ์–ธ์–ด

  1. ๊ณ ๊ธ‰ ์–ธ์–ด : ์‚ฌ๋žŒ์„ ์œ„ํ•œ ์–ธ์–ด(ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด)
  2. ์ €๊ธ‰ ์–ธ์–ด : ์ปดํ“จํ„ฐ๊ฐ€ ์ง์ ‘ ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด

๊ณ ๊ธ‰ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค code๊ฐ€ ์‹คํ–‰๋˜๋ ค๋ฉด ์ €๊ธ‰ ์–ธ์–ด(๋ช…๋ น์–ด)๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผ ํ•œ๋‹ค. ์ €๊ธ‰ ์–ธ์–ด์—๋Š” ๊ธฐ๊ณ„์–ด์™€ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๊ฐ€ ์žˆ๋‹ค.

๊ธฐ๊ณ„์–ด๋ž€ 0๊ณผ 1์˜ ๋ช…๋ น์–ด ๋น„ํŠธ๋กœ ์ด๋ฃจ์–ด์ง„ ์–ธ์–ด, ๊ธฐ๊ณ„์–ด๋ฅผ ์ฝ๊ธฐ ํŽธํ•œ ํ˜•ํƒœ๋กœ ๋ฒˆ์—ญํ•œ ์–ธ์–ด๊ฐ€ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด

๐Ÿ’Ÿ ์ปดํŒŒ์ผ ์–ธ์–ด & ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด

  1. ์ปดํŒŒ์ผ ์–ธ์–ด : ์ปดํŒŒ์ผ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (ex. C)

    โ†’ ์ปดํŒŒ์ผ : ์ปดํŒŒ์ผ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์ €๊ธ‰ ์–ธ์–ด๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ณผ์ •
    
    โ†’ ์ปดํŒŒ์ผ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉด ์†Œ์Šค code๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” object code(์ €๊ธ‰ ์–ธ์–ด)๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
    
  2. ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด : ์ธํ„ฐํ”„๋ฆฌํŠธ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (ex. python)

    โ†’ ์ธํ„ฐํ”„๋ฆฌํ„ฐ : ์†Œ์Šค ์ฝ”๋“œ๋ฅผ 1์ค„์”ฉ ์ €๊ธ‰ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰ํ•ด ์ฃผ๋Š” ๋„๊ตฌ. ์†Œ์Šค ์ฝ”๋“œ ์ „์ฒด๋ฅผ ์ €๊ธ‰ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ฆด ํ•„์š”๊ฐ€ ์—†์Œ, ์†Œ์Šค ์ฝ”๋“œ๋ฅผ 1์ค„์”ฉ ์‹คํ–‰ํ•˜๋‹ˆ๊นŒ.

๐Ÿ’Ÿ ๋ช…๋ น์–ด

Operation Code : ๋ช…๋ น์–ด๊ฐ€ ์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ (์—ฐ์‚ฐ์ž)

Operand : ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ๋˜๋Š” ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜ (ํ”ผ์—ฐ์‚ฐ์ž)

๐Ÿ’Ÿ Operand

์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ๋˜๋Š” ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜ (ํ”ผ์—ฐ์‚ฐ์ž).

operand field์—๋Š” ์ˆซ์ž์™€ ๋ฌธ์ž ๋“ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ ๋„๋Š” ๋ฉ”๋ชจ๋ฆฌ๋‚˜ register address๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. address field๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.

Untitled

๐Ÿ’Ÿ ์—ฐ์‚ฐ code

(1) ๋ฐ์ดํ„ฐ ์ „์†ก

(2) ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ

(3) ์ œ์–ด ํ๋ฆ„ ๋ณ€๊ฒฝ

(4) ์ž…์ถœ๋ ฅ ์ œ์–ด

๐Ÿ’Ÿ address ์ง€์ • ๋ฐฉ์‹

operand field์— memory๋‚˜ register์˜ address๋ฅผ ๋‹ด๋Š” ์ด์œ (์—ฐ์‚ฐ ์ฝ”๋“œ ํ˜•์‹์œผ๋กœ ๋ช…๋ น์–ด๋ฅผ ๊ตฌ์„ฑํ•˜์ง€ ์•Š๋Š” ์ด์œ ) : ๋ช…๋ น์–ด ๊ธธ์ด ๋•Œ๋ฌธ.

(1) Immediate addressing mode : ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๋ฅผ operand field์— ์ง์ ‘ ๋ช…์‹œํ•˜๋Š” ๋ฐฉ์‹. ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” data์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง€๋Š” ๋‹จ์ ์ด ์žˆ์ง€๋งŒ, ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๋ฅผ memory๋‚˜ register๋กœ๋ถ€ํ„ฐ ์ฐพ๋Š” ๊ณผ์ •์ด ์—†์–ด ์†๋„๊ฐ€ ๋น ๋ฆ„.

Untitled

(2) Direct addressing mode : operand field์— ์œ ํšจ address๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๋ช…์‹œํ•˜๋Š” ๋ฐฉ์‹. ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ data์˜ ํฌ๊ธฐ๋Š” ์ปค์กŒ์ง€๋งŒ, ์—ฌ์ „ํžˆ ์œ ํšจ ์ฃผ์†Œ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๊ฐ€ ์—ฐ์‚ฐ ์ฝ”๋“œ์˜ ๋น„ํŠธ ์ˆ˜๋งŒํผ ์ค„์–ด๋“ค์—ˆ๋‹ค. (=operand field์˜ ๊ธธ์ด๊ฐ€ ์—ฐ์‚ฐ code์˜ ๊ธธ์ด๋งŒํผ ์งง์•„์ ธ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ์ฃผ์†Œ์— ์ œํ•œ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.)

Untitled

 (3) Indirect addressing mode : ์œ ํšจ address๋ฅผ operand field์— ๋ช…์‹œํ•œ๋‹ค. Direct addressing mode๋ณด๋‹ค ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ์ฃผ์†Œ์˜ ๋ฒ”์œ„๋Š” ๋” ๋„“์–ด์กŒ์ง€๋งŒ, 2๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜์—ฌ ์•ž์˜ mode๋“ค๋ณด๋‹ค ์ผ๋ฐ˜์ ์œผ๋กœ ๋Š๋ฆฐ ๋ฐฉ์‹.

Untitled

(4) register addressing mode : direct addressing mode์™€ ๋น„์Šทํ•˜๊ฒŒ ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๋ฅผ ์ €์žฅํ•œ register๋ฅผ operand field์— ์ง์ ‘ ๋ช…์‹œํ•˜๋Š” ๋ฐฉ์‹

์ผ๋ฐ˜์ ์œผ๋กœ CPU ์™ธ๋ถ€์— ์žˆ๋Š” memory๋ณด๋‹ค CPU ๋‚ด๋ถ€์— ์žˆ๋Š” register์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅด๋‹ค. BUT ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” register size์— ์ œํ•œ

Untitled

(5) register indirect addressing mode : ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๋ฅผ memory์— ์ €์žฅํ•˜๊ณ , ๊ทธ address๋ฅผ ์ €์žฅํ•œ register๋ฅผ operand field์— ๋ช…์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ 1๋ฒˆ์ด๋ผ indirect addressing mode๋ณด๋‹ค ๋น ๋ฆ„.

Untitled

                                        **operand field์— ๋ช…์‹œํ•˜๋Š” ๊ฐ’**

์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹ : ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•                                                         ์œ ํšจ ์ฃผ์†Œ : ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๊ฐ€ ์ €์žฅ๋œ ์œ„

์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹ : ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ• ์œ ํšจ ์ฃผ์†Œ : ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  data๊ฐ€ ์ €์žฅ๋œ ์œ„

<๊ธฐ๋ณธ๋ฏธ์…˜>

Untitled

Untitled

<์ถ”๊ฐ€๋ฏธ์…˜>

Stack(ํ›„์ž…์„ ์ถœ) - PUSH, POP

Queue(์„ ์ž…์„ ์ถœ)