4

메모리는 바이트 주소 지정 가능하거나 단어 (2 바이트, 4 바이트 등)로 주소 지정 가능합니다 (여기에 잘못 입력 한 경우 수정하십시오).어떤 경우 메모리가 바이트인지 단어인지 그리고 이유는 무엇입니까?

이 주소 (바이트 주소 지정 가능 또는 워드 주소 지정 가능)는 프로세서 아키텍처에 종속 되나요? 예인 경우 어떤 경우에 우리는 바이트 주소 지정 가능 메모리로 가고 무슨 경우에 워드 어 드레 블 가능 메모리로 가겠습니까?

그 이유는 무엇입니까? 즉, 왜 메모리 바이트 주소 지정이 가능한지 (그럴 경우), 왜 단어 주소 지정이 가능한지 (그럴 경우)와 그 이유가 무엇입니까? 이 사이트에서 바이트 주소 지정 가능 메모리에 관한 몇 가지 질문을 보았지만이 질문에 대한 대답은 없었습니다.

+0

현대의 범용 CPU는 바이트 주소 지정이 가능한 경향이 있습니다. DSP는 워드 어 드레서 블 (word-addressable) 일 수있다. 역사적인 CPU 중 일부는 워드 주소 지정이 가능하고 때로는 이상한 단어 크기 (IIRC, 유닉스와 PDP-11은 원래 작성되었으며 18 비트 단어 및 워드 주소 지정 메모리를 가짐)가 있습니다. – ninjalj

+0

가능한 복제 http://stackoverflow.com/q/1586944/570609 – kch

답변

4

분명히 다른 소프트웨어는 다른 유형 및 크기의 데이터/변수로 작동해야하며 동일한 코드에서 여러 다른 코드로 작동해야하는 경우가 종종 있습니다.

크기에 관계없이 변수를 직접적으로 그리고 전체적으로 액세스 할 수 있기 때문에 4 개의 8 비트 바이트를 함께 붙일 필요가 없으므로 프로그래밍이 간단 해져 32 비트 값을 형성하거나 유사하게 추출 할 수 있습니다 32 비트 메모리 위치의 8 비트 값

기본적으로 지원되는 데이터 크기면에서 매우 유연하지 않은 프로세서가 있습니다. 예를 들어, 고정 소수점 디지털 신호 프로세서. 일부 업체는 16 비트 단어와 32 비트 더블 단어로만 메모리에 직접 액세스 할 수 있습니다. 나는 8 비트 바이트 어드레싱이 없다는 것이 큰 문제는 아니라고 생각한다. 다용도가 아닌 신호 처리를 많이하고 범용 컴퓨팅에 적합하기 때문이다. 그리고 신호 샘플은 거의 8 비트가 아니다. (너무 거칠다), 가장 자주 그들은 16 비트이다.

하드웨어에서 데이터 크기와 기타 기능을 적게 사용하면이 하드웨어가 더 간단하고 저렴 해집니다 (에너지 소비 측면을 포함하여). 이는 수천 수백만 대의 장치를 말하는 경우 중요 해집니다.

다른 문제는 다양한 솔루션을 필요로하므로 다양합니다.