3.13(화) bit와 메모리에 관해서..

from Study/C언어 2007/03/13 17:42 view 17360

 키워드와 식별자에 대한 강의는 대충 끝났다. 기존에 알고 있는 것들 이었지만 기초는

언제나 중요한 법이니깐 그리고 내 기억력이 3일(?)이라 왠지 새롭다.

2^10은 1024 즉 1KB라는건 왠지 중요한 척도 이다. 이 숫자만 알고 있다면 32비트던 16비트던
대충 감이 온다는 것이다. 16비트는 2^16이므로 2^10*2^6으로도 표현 가능하고 즉 64KB라는

답이 바로 나오는 것이다. 이 64KB는 메모리를 참조할때 한번에 처리(?)하는 범위가 된것이

다. 아.. 그리고 16비트는 2바이트이므로 int형이나 포인트형 변수는 2바이트를 가지게 된다.

32비트도 마찬가지로 2^32이므로 2^30*2^2, 즉 한번의 클럭에 4GB라는 어마어마한 처리속도

 

가지게 되었다. 하지만 이는 이론적 수치이고 RAM과 CPU간의 전송속도를 맞추기위해

1~2MB
정도의 처리를 한다고 한다.


32비트에서는 포인터형과 int형이 4바이트를 가지게 되고 64비트에서는 int형은 호환성의
 
문제때문에 그대로 유지하고 포인트형은 64비트의 모든 주소값을 표현하기 위해

(그럴리는 없지만-_-..1800경??) 8바이트로 바뀔것이라 한다. 이미 바꿧나??

근데 빠른처리속도와 효율적인 메모리공간관리는 비례할 수 없나..


잘 몰라도 지금의 넉넉한 하드웨어적 환경이라면 메모리공간보다도 처리속도를 더 신경쓰느

게 좋은선택일 것 같다.

 계단식(처리비율??)으로 설계하여 CPU가 한번에 하나의 일을 처리하도록 설계하는 것이

하나의 방법이라는데 아직은 그 의미만 알 뿐이지 구현까지는 떠오르지는 않는다.

더 배우고 하다보면 "아하" 라는 느낌을 받기를 바라며..

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다