2016-08-07 1 views
-3

32 비트 아키텍처가 주어진다면 256 바이트 메모리 단위에 얼마나 많은 명령어를 넣을 수 있습니까?32 비트 아키텍처가 주어진다면 256 바이트 메모리 단위에 얼마나 많은 명령어를 넣을 수 있습니까?

누군가이 답변을 얻는 방법을 설명해 주시겠습니까? 나는 각 명령이 32 비트임을 안다. 나는 대답이 9라는 것을 알고 있지만 그 대답을 얻는 방법을 모른다.

1 명령 = 32 비트 = 4 바이트.

다음 수는 32 비트 아키텍처의 경우는 만드는 무슨 차이가 만약 내가 설명을하고자 무엇 4분의 256 = 64

. 그게 지시 권을 말하는거야? 즉, 64 비트 아키텍처가 그렇게된다고한다면, 각 명령어는 64 비트 = 8 바이트이므로 32 명령어 만 적합합니다.

맞습니까?

감사합니다.

+0

아니요, 프로세서 지침은 아키텍처의 비트 수와 관련이 없습니다. 예를 들어 x86은 가변 길이 명령어를 포함합니다. 또한 이것은 매우 불분명하고 애매한 질문입니다. – milleniumbug

+0

대답은 256 ** mega ** 바이트의 64 명령입니다. 그래서 각 수업은 4MiB 정도입니까? x86에서 옳은 대답은 바이트 당 하나의 명령입니다. 32 비트 고정 길이 명령어가있는 MIPS와 같은 경우 256MiB/4B = 2^28/2^2 = 2^26 명령어가됩니다. –

+0

@ PeterCordes OP는 각 명령어가 32 비트라고합니다. IOW, (4 바이트) * 64 = 256MB'. 수학은 완벽하게 잘 작동합니다. 네. – Mysticial

답변

1

32 비트 아키텍처는 반드시 32 비트 길이의 명령어를 사용하지 않습니다. 32 비트는 메모리 주소가 32 비트이므로 2 개의 주소 (2 Byte = 4GiB)가 가능하며 레지스터는 똑같이 많은 비트를 저장할 수 있다고 알려줍니다.

지침은 아키텍처에 따라 가변 길이를 가질 수 있습니다.

예를 들어 x86 아키텍처 (16, 32 또는 64 비트)를 사용하는 경우 명령어의 길이는 가변적입니다. 최대 길이는 이론적으로 무제한입니다. 실제로 x86 시스템의 명령어는 15 바이트로 제한됩니다. (See this answer)

15 바이트 제한이 적용되는 경우 256 바이트 메모리 단위에 저장할 수있는 최소 명령어 수는 Í256/15 = 17입니다. x86 컴퓨터에서 가능한 가장 짧은 명령어는 1 바이트 길이이므로 256 개 명령어가 적합합니다. (x86 Wikipedia article)

RISC 아키텍처 (축소 된 명령어 세트)를 사용하는 경우 지침의 길이가 고정되어있는 경우가 많습니다. 예를 들어 ARM 아키텍처에서는 처음에는 32 비트 명령어 만 사용하므로 256/4 = 64 명령어가 메모리 유닛에 적합합니다. 최신 버전의 ARM (32 비트 또는 64 비트)은 코드 밀도를 높이기 위해 32 비트 및 16 비트 길이의 명령어를 사용하므로 이론적으로 최대 128 개의 명령어를 메모리 장치에 저장할 수 있습니다. (ARM Wikipedia article)

관련 문제