작성
·
839
0
왼쪽 빨간 박스는 "메모리 주소", 오른쪽 노란색 박스는 "Data"
메모리 주소는 64bit(8byte) CPU 체계이므로 4bit씩 16개 묶음으로 표현했고, 각 행마다 있는 메모리 주소에 들어있는 data 즉, 값이 오른쪽에 있는 거구요.
그 오른쪽에 있는 데이터가 16진수(8bit)로 16개가 나열돼 있습니다. 그럼 총 128bit = 16 byte
여기서 이해가 안 됩니다. ㅠㅠ
64bit 메모리 주소는 4bit * 16 = 64(=8byte)
각 메모리 주소의 데이터는 8bit(1byte) * 16 = 128(=16byte)
16개로 나열돼 있는 건 동일한데 왜 bit 수가 다른 거죠?
그리고 데이터에 16진수로 16개 끊은 게 어떤 의미일까요?
16진수 1개씩 끊어서 총 16개를 각각 하나의 의미로 파악한 후, 전체를 하나의 데이터로 봐야 하는 건가요?
64bit 메모리 주소의 데이터는 128bit이다. 이렇게 그냥 암기해야 하나요?
답변 3
0
혹시 열이 16개인게 주소가 Ox .....1070에서 Ox .....1080으로 넘어가는게 16진수여서 16개인가요? 그림에서 예를 들면 주소가 Ox .....1071의 값은 54이고 Ox .....107F의 값은 fe인건가요??
0
64비트 시스템은 1바이트(8비트) 메모리 하나에 대해 64비트 주소를 부여해 관리합니다. 메모리 디버깅 창에서 주소가 증가하는 숫자를 보면 10진수로 16씩 증가합니다. 그러니까 0x10씩 증가하겠습니다. 화면에 16바이트가 한 행에 표시되도록 설정했기 때문입니다.
16진수 한 자리는 4비트 두 자리는 8비트 입니다. 첫 행에 보이는 0x54, 0x45, 0x53 값은 각각 1바이트 입니다. 16개씩 화면에 표시되는 이유는 '열'에서 16을 선택했기 때문입니다.
64비트 메모리는 1바이트에 64비트 주소를 부여해 관리 할 뿐 128비트 단위와 관련이 없습니다. 잘못 이해한 것입니다.
참고하시기 바랍니다. :)
꼼꼼하게 하나 하나 찝어서 알려주셔서 감사합니다 ㅠㅠ 숙지하도록 하겠습니다!!
특히 64 bit 시스템은 1byte마다 64bit 메무리 주소를 부여한다! 감사합니다.