강좌 & 팁
글 수 2,412
2012.08.26 18:58:14 (*.172.215.154)
42241
BUS가 16Bit라면,
0에서 2^16 까지 주소를 가지며, 짜라서 포인터의 크기는 2Byte 가 된다.
BUS가 32Bit라면,
0에서 2^32까지 주소를 가지며, 포인터의 크기는 4Byte 가 된다.
즉, BUS가 주소영역을 좌우하고 주소영역이 포인터의 크기를 좌우한다.
만약 8bit cpu가 버스를 통해 1byte 100을 메모리(10번지)로 전송하면 다음과 같이 된다.
1) 주소 보냄 (cpu)
CPU 가 BUS를 통해 1byte 주소(10번지)를 메모리로 전송한다.
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
2) 주소 받음(memory)
0은 0V, 1은 5V로 BUS를 타고 메모리 관리자로 전송되어 메모리 관리자는 0V를 0, 5V를 1로 인식하여 cpu가 보낸 주소를 받는다.
3) 10번지 선택 (memory)
메모리 관리자는 cpu에게 받은 주소 10번지를 메모리에서 찾는다.
4) 100 전송(cpu)
cpu는 다시 100을 전송한다.
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
5) 100을 수신(memory)
0은 0V, 1은 5V로 BUS를타고 메모리 관리자로 전송되어 메모리 관리자는 0V를 0, 5V를 1로 인식하여 cpu가 보낸 값(100)을 받는다.
6) 100을 저장
메모리 관리자는 BUS를 통해 받은 값을 메몰에 저장한다.
메모리를 어떻게 사용할지는 cpu가 결정한다. (모든 동작은 cpu가 결정)