컴퓨터일반 기출문제 질문

글쓴이: 익명 사용자 / 작성시간: 일, 2011/07/03 - 1:50오전
컴퓨터시스템의 명령어 형식이 다음과 같고, OPERAND 필드(field)가 256M 워드 크기의 메모리 주소를 나타낼 때 OPCODE 필드로 나타낼 수 있는 서로 다른 종류의 명령어가 모두 몇 개인가? (단, OPERAND는 워드단위의 주소 값을 가지고, 1워드는 32비트이며, 각 명령어 크기는 1워드이다)
|←───────32비트─────────→|
┌────────┬───────────────┐
│ OPCODE │ OPERAND │
└────────┴───────────────┘
최종 정답은 16 입니다.
그런데 제가 계산하기로는
256 = 2 ** 8
1024 = 2 ** 10
8 = 2 ** 3
32 = 2 ** 5
32 - (8 + 10 + 3 + 5) = 6
2 ** 6 = 64
64 가 나왔는데... 최종 정답은 16 입니다.
문제도 좀 이상한 것 같습니다. OPERAND 가 워드 단위의 주소값을 가진다고 했는데... OPERAND가 32비트를 차지하면 OPCODE 는 뭥미?
명쾌한 설명 좀 부탁드립니다.
Forums:
메가면 킬로 메가니까 1024를 두번 곱해야 하는데
메가면 킬로 메가니까 1024를 두번 곱해야 하는데 한번만 곱하셨네요.
256M이니까 256*1024*1024 = 2 ** 28
32-28 = 4
2 ** 4 = 16
operand가 28비트고 남는게 4비트니까 16개 맞습니다
워드단위의 주소값을 가진다는건 주소 하나가 가르키는 크기가 워드라는 겁니다.
주소 자체의 크기가 워드라는게 아니고.
감솨감솨... 256M 이 256Mbit 이군요.
감솨감솨...
256M 이 256Mbit 이군요. 256MByte 라고 생각했었는데...
1024 * 1024 오키^^ 감사.
하여튼, Mb, MB가 문제군요. ㅋㅋ
뭔가 잘못 생각하시는거 같은데 M은 그냥 수량의 묶음
뭔가 잘못 생각하시는거 같은데 M은 그냥 수량의 묶음 단위을 나타내는 접두사 입니다.
1024 = K
1024 * 1024 = M
256M 이면 그냥 256*1024*1024지 그게 bit일지 byte일지는 뒤에 뭐가 붙느냐에 따라 다릅니다.
위 문제에서는 워드라고 했으니 256M 워드입니다. 비트도 아니고 바이트도 아닙니다.
256M 워드 크기의 메모리를 워드 단위로 가리키기 위해서는
256M 가지의 서로 다른 주소값이 필요하고
이 주소값의 최대 크기는 2^28이므로
28 bit 면 저장 가능합니다.
문제를 제대로 이해 못하신거 같은데
신중하게 처음부터 다시 접근하시길 바랍니다.
완전히 이해 되었습니다. 감사합니다.
완전히 이해 되었습니다. 감사합니다.
댓글 달기