컴잘알님들이 말해준 내용이랑 내가 알고 있는 지식이랑 버무려서 결론을 내려봤음

내 의식의 흐름이 맞는지 확인부탁함니다

-------------------------------------


사람들이 보통 32비트 컴퓨터의 특징을 말하라고 하면 메모리를 4GB까지만 인식한다고 그러잖아.

그래서 나는 당연히 주소버스의 크기가 32비트라서 그런줄로만 알고 있었어.

그런데 오직 데이터 버스크기가 32비트이기 때문만이지 않을까? 그 이유는...


한 워드메모리주소를 저장하려고 할때 (C언어 포인터처럼 주소를 저장하려고 할때)


워드 크기가 32비트면 총 2^32(4G)개의 메모리 주소를 가리킬 수 있잖음


데이터버스의 크기는 워드의 크기와 동일하게 반드시 32비트여야만 할것이고,


워드에서 가리킬 수 있는 4GB를 온전히 다 사용하는 경우에만 주소버스 크기가 32비트여야하는 것이지.


피치못할 사정으로 메모리 공간을 2GB만 써야하면 주소버스 크기를 31비트로만 설계해도 되는 것이다~


결국


워드에다가 메모리 주소를 "데이터로 취급해서(데이터버스를 이용)" CPU에게 넘겨준 뒤


CPU가 그 데이터를 이번에는 "주소버스를 이용해서" 주소 범위로 찾아가게 만드는 최대 범위가 4GB 라는것이다.


결론:

1. 32비트 컴퓨터냐 64비트 컴퓨터냐는 데이터버스에 의해 결정되고 엄밀하게는 레지스터/메모리 워드 크기에 따라 결정됨,

2. C언어의 포인터처럼, 워드에 주소를 보관하려다 보니 최대로 보관할 수 있는 사이즈가 한정되어있다는 사실에서 시작된 것.

3. 주소버스크기랑은 사실 별 상관없었음.

4. 워드에 저장가능한 비트수가 32비트니깐, 그것을 이용해 메모리 위치 전부 가리키려면 당연히 주소버스도 32비트여야하니깐 그냥 그렇게 된 것뿐...

----------


위와 같이 결론내려도 ㄱㅊ???