๊ธ€ ์ž‘์„ฑ์ž: ๋˜ฅํด๋ฒ .
๋ฐ˜์‘ํ˜•
์ด ํฌ์ŠคํŠธ๋Š”, ์œค์„ฑ์šฐ ์ €์ž๋‹˜์˜ '๋‡Œ๋ฅผ ์ž๊ทนํ•˜๋Š” ์œˆ๋„์šฐ์ฆˆ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ'์„ ๋ฐ”ํƒ•์œผ๋กœ ์ œ ์ƒ๊ฐ์„ ์žฌ๊ตฌ์„ฑํ•˜์—ฌ ์ •๋ฆฌํ•œ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

 

๋ชฉ์ฐจ


  • 64๋น„ํŠธ์™€ 32๋น„ํŠธ์˜ ๊ตฌ๋ถ„ ๋ฐฉ๋ฒ•
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ž…์žฅ์—์„œ์˜ 64๋น„ํŠธ ์ปดํ“จํ„ฐ

 

64๋น„ํŠธ์™€ 32๋น„ํŠธ์˜ ๊ตฌ๋ถ„ ๋ฐฉ๋ฒ•


๊ทธ๋ฆผ 1

  • ๊ตฌ๋ถ„์˜ ๋‘ ๊ฐ€์ง€ ๊ธฐ์ค€
    • ํ•œ๋ฒˆ์— ์†ก์ˆ˜์‹  ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ
    • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ

 A๋ผ๋Š” ์‹œ์Šคํ…œ์ด 64๋น„ํŠธ ์‹œ์Šคํ…œ์ด๋ƒ 32๋น„ํŠธ ์‹œ์Šคํ…œ์ด๋ƒ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ํ•œ ๋ฒˆ์— ์†ก์ˆ˜์‹  ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์™€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด๋‹ค.

ํ•œ ๋ฒˆ์— ์†ก์ˆ˜์‹  ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋Š” I/O ๋ฒ„์Šค์— ์˜์กด์ ์ด๋‹ค. ์ฆ‰ ๋ฒ„์Šค ์‹œ์Šคํ…œ์ด 32๋น„ํŠธ๋ƒ 64๋น„ํŠธ๋ƒ๊ฐ€ ์ค‘์š”ํ•œ ๊ฒƒ์ด๊ณ 

๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์€ CPU๋ฅผ ๋œปํ•˜๋Š”๋ฐ, CPU๊ฐ€ ํ•œ ๋ฒˆ์— ์ฝ์–ด ๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๊ฐ€ 32๋น„ํŠธ์ธ ๊ฒฝ์šฐ๋Š” 32๋น„ํŠธ ์‹œ์Šคํ…œ, 64๋น„ํŠธ์ธ ๊ฒฝ์šฐ๋Š” 64๋น„ํŠธ ์‹œ์Šคํ…œ์ด๋‹ค.

 ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด I/O๋ฒ„์Šค๋ฅผ ํ†ตํ•ด ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ ธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ค๋Š”๋ฐ ํ•œ ๋ฒˆ์— 64๋น„ํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉด 64๋น„ํŠธ ์‹œ์Šคํ…œ, ํ•œ ๋ฒˆ์— 32๋น„ํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉด 32๋น„ํŠธ ์‹œ์Šคํ…œ์ด๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ CPU๋„ ๋ช…๋ น์–ด๋ฅผ ํ•œ๋ฒˆ์— ์ตœ๋Œ€ 32๋น„ํŠธ๋ฅผ ์ฝ์–ด ๋“ค์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉด 32๋น„ํŠธ ์‹œ์Šคํ…œ, 64๋น„ํŠธ๋ฅผ ์ฝ์–ด ๋“ค์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉด 64๋น„ํŠธ ์‹œ์Šคํ…œ์ด๋‹ค.

 ์—ฌ๊ธฐ์„œ!  ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด 64๋น„ํŠธ ๋ช…๋ น์–ด๋ฅผ CPU๋กœ ์ด๋™์‹œ์ผฐ๋Š”๋ฐ CPU๊ฐ€ ํ•œ๋ฒˆ์— 32๋น„ํŠธ ๋ช…๋ น์–ด ๋ฐ–์— ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ์™„๋ฒฝํ•œ 64๋น„ํŠธ ์‹œ์Šคํ…œ์ด๋ผ ๋งํ•  ์ˆ˜ ์—†๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ CPU๋Š” 64๋น„ํŠธ ๋ช…๋ น์–ด๋ฅผ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ๋ฒ„์Šค๊ฐ€ ํ•œ ๋ฒˆ์— 32๋น„ํŠธ ๋ช…๋ น์–ด ๋ฐ–์— ์ด๋™์‹œํ‚ค์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ 64๋น„ํŠธ ์‹œ์Šคํ…œ์ด๋ผ ๋งํ•  ์ˆ˜ ์—†๋‹ค.

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ž…์žฅ์—์„œ์˜ 64๋น„ํŠธ ์ปดํ“จํ„ฐ


๊ทธ๋ฆผ 2

  • 32๋น„ํŠธ -> 64๋น„ํŠธ
    • ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„์˜ ์ฆ๊ฐ€
    • ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ „์ฒด ํฌ๊ธฐ

 ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ž…์žฅ์—์„œ๋Š” 64๋น„ํŠธ ์‹œ์Šคํ…œ์€ ๋ฌด์Šจ ์˜๋ฏธ๋ฅผ ์ง€๋‹ˆ๋Š”๊ฐ€? ๋ชป๋Š๋ผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

ํ•˜์ง€๋งŒ, ์—„๊ฒฉํ•œ ์ฐจ์ด๊ฐ€์žˆ๋‹ค. [๊ทธ๋ฆผ 2]๋ฅผ ๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด 1GB๋ผ ๊ฐ€์ •ํ•˜์ž.

1GB ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๋ ค๋ฉด, 1GB ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ „๋ถ€ ํ™œ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ๊ฐ€์ ธ์•ผํ•œ๋‹ค. (์–ด๋“œ๋ ˆ์‹ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.)

 

32๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ๋Š” ํฌ์ธํ„ฐ๊ฐ€ 32๋น„ํŠธ, 64๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ๋Š” ํฌ์ธํ„ฐ๊ฐ€ 64๋น„ํŠธ๋‹ค. ํฌ์ธํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ํฌ๋ฉด ํด ์ˆ˜๋ก ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์œ ๋ฆฌํ•˜๋‹ค.

[๊ทธ๋ฆผ 2]์™€ ๊ฐ™์ด ํฌ์ธํ„ฐ๊ฐ€ 4๋น„ํŠธ๋ผ๋ฉด 16๊ฐœ์˜ ์ฃผ์†Œ๋ฐ–์— ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์•„๋ฌด๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 1GB๊ฐ€ ์žˆ๋‹ค ํ•œ ๋“ค ์–ด๋“œ๋ ˆ์‹ฑ์„ ํ•˜์ง€ ๋ชปํ•ด์„œ ๋Œ€๋ถ€๋ถ„์˜ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ํฌ์ธํ„ฐ์˜ ํฌ๊ธฐ๋Š” ํฌ๋ฉด ํด์ˆ˜๋ก ์ข‹๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ํฌ์ธํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๋ฌด์กฐ๊ฑด ํฌ๊ฒŒ ๋งŒ๋“ค๋ฉด ๋˜์ง€ ์•Š๋ƒ? ๊ทธ๊ฑด ๋˜์•„๋‹ˆ๋‹ค. 

๋งŒ์•ฝ ํฌ์ธํŠธ๊ฐ€ 128 ๋น„ํŠธ๋ผ ๊ณ ํ•ด๋„ ๋ฒ„์Šค๊ฐ€ ํ•œ ๋ฒˆ์— ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ 64๋น„ํŠธ๋ผ๋ฉด ์ด 2๋ฒˆ์— ๊ฑธ์ณ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ด์•ผํ•˜๊ณ  ์ด๊ฒƒ์€ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•œ๋‹ค.

 

์ •๋ฆฌํ•˜์ž๋ฉด, ํฌ์ธํ„ฐ์˜ ํฌ๊ธฐ๋Š” ํฌ๋ฉด ํด์ˆ˜๋ก ์ข‹๋˜ ๋ฒ„์Šค๊ฐ€ ํ•œ ๋ฒˆ์— ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๋งŒํผ ์ปค์•ผ ์ข‹๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ž…์žฅ์—์„œ 32๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ 64๋น„ํŠธ ์‹œ์Šคํ…œ์œผ๋กœ ๋„˜์–ด ๊ฐ”๋‹ค๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚ฌ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

32๋น„ํŠธ = 2^32(4GB), 64๋น„ํŠธ = 2^64

 

ํ™œ์šฉ ๊ฐ€๋Šฅ ๋ฉ”๋ชจ๋ฆฌ์˜ ํ™•์žฅ

int _tmain(void)
{
	TCHAR str[100];
	_tscanf(_T("%s"), str);
	_tprintf(_T("%s"), str);
	return 0;
}

 ํ™œ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 50Byte๊ฐ€ ์ „๋ถ€๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž. 50Byte๋ฐ–์— ์•ˆ๋˜๋Š” ์‹œ์Šคํ…œ์—์„œ ์œ„์™€ ๊ฐ™์ด ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ• ๊นŒ? ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

(50๋ฐ”์ดํŠธ๊ฐ€ ์ „๋ถ€์ธ๋ฐ 100๋ฐ”์ดํŠธ ์บ๋ฆญํ„ฐ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๊ณ  ํ•œ ๋ฒˆ์— 100Byte๋ฅผ ์ฝ์–ด ๋“ค์ด๊ธฐ ๋•Œ๋ฌธ)

๊ทธ๋ ‡๋‹ค๋ฉด 50Byte ์‹œ์Šคํ…œ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ• ๊นŒ?

int _tmain(void)
{
	TCHAR ch;
	do
	{
		_tscanf(_T("%c"), &ch);
		_tprintf(_T("%c"), &ch);
	} while(ch != '\n');
	return 0;
}

์œ„์˜ ๊ฒฝ์šฐ๋Š” ํ•œ๋ฒˆ์— ์ฝ์–ด ๋“ค์ด๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ํ•œ ๋ฌธ์ž์”ฉ ์ฝ์–ด ๋“ค์ด๊ณ  ์žˆ๋‹ค. ์ด์ œ ์ฐจ์ด์ ์ด ๋ณด์ด๋Š”๊ฐ€?

32๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ 64๋น„ํŠธ ์‹œ์Šคํ…œ์œผ๋กœ ๋„˜์–ด๊ฐ”๋‹ค๋Š” ๊ฒƒ์€ ๊ทธ๋งŒํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ๋œ๋‹ค.

๋ฐ˜์‘ํ˜•