[크기 및 비트 수]
는 RISC-V 64bit 기준
←, →는 의존성 방향
← 아키텍처(ISA)에 따라 다르다.
register size := CPU 내부에서 데이터를 저장하고 처리할 수 있는 공간의 크기 [2word = 64bit = 8Byte] [1word = 32bit = 4Byte]
← 하드웨어에 따라 다르다.
register file size := CPU 내부 레지스터 개수 [32개]
← 아키텍처(ISA)에 따라 다르다.
→ 레지스터를 지정하는 비트 수[5bit]를 결정한다.
memory access unit := 프로세서가 한 번에 읽거나 쓸 수 있는 데이터의 최소 크기 [1Byte = 8bit]
← 아키텍처(ISA)에 의존하나, 현대 시스템에서 대부분 메모리 접근 단위(1Byte)는 8bit로 정한다.
→ 메모리 접근 단위마다 메모리 주소가 할당된다.
memory address length := CPU가 메모리 내의 특정 위치를 식별하기 위해 사용하는 주소의 비트 수 [2word = 64bit = 8Byte] [1word = 32bit = 4Btype]
← 아키텍처(ISA)에 의존한다.
→ 메모리 주소 길이(비트 수)가 N일 때, 주소 공간 크기는 2^N이다.
→ 메모리 최대 용량(주소 공간 크기)을 결정한다. (32bit 주소 공간은 최대 4GB의 메모리 주소 지정 가능)
연속한 두 메모리 접근 단위(1Byte 저장 공간)의 메모리 주소 간격은 1이다. 연속한 두 2word(8Byte 저장 공간)의 메모리 주소 간격은 2word 크기 / 메모리 접근 단위 = 8이다. ⇒ 한 워드 내에서 메모리 접근 단위를 식별하기 위해 필요한 비트 수는 3bit이다. ⇒ 메모리 주소 공간에서 word를 식별하기 위해 필요한 비트 수는 64-3 = 61bit이다.
endian은 메모리 주소에서 word를 식별하는 1Byte 주소를 메모리 주소 가장 높은 곳과 낮은 곳 중 어디에 둘지에 대한 결정이다.
instruction length := 명령어의 길이 [2word = 64bit = 8Byte]
← 아키텍처(ISA)의 word 크기에 의존한다.