액세스 (마이크로프로세서): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
편집 요약 없음
8번째 줄:
메모리에 읽거나 쓰는 과정은 마이크로프로세서의 주도하에 이루어진다. 따라서 읽거나 쓴다는 말은 마이크로프로세서 기준으로 읽거나 쓴다는 말이다. 읽는다는 것은 메모리의 데이터를 마이크로프로세서 쪽으로 데이터를 가져오는 것이고, 쓰기는 마이크로프로세서에서 메모리로 전송하는 것을 말한다.
 
메모리는 데이터의 위치를 지정하는 [[주소 버스]](address bus)가 있고, 데이터가 전송되는 통로로 [[데이터 버스]](data bus)가 존재한다. 마이크로프로세서에서 읽을 때, 읽을 주소를 메모리에 전송하면, 메모리는 지정된 주소의 데이터를 데이터 버스에 실어 마이크로프로세서가 읽도록 한다. 데이터를 쓸때는 위치 정보인 주소와 데이터를 주고, 제어신호에 의해 해당 주소에 데이터를 쓴다.<ref name="Z80 사용 설명서">{{웹 인용|url=http://www.zilog.com/docs/z80/UM0080.pdf|제목=Z80 사용 설명서|확인날짜=2020년 7월 9일}}</ref>
 
마이크로프로세서는 메모리에 주소와 제어 신호를 보내면 메모리는 이를 바탕으로 주소를 사용하여 위치를 결정하고 데이터를 읽거나 쓴다. 데이터를 읽거나 쓸 때, 마이크로프로세서마다 액세스 단위가 결정되어 있다. 8비트 마이크로프로세서는 8비트 단위로, 32비트 마이크로프로세서는 8,16,32비트 단위로 선택적으로 액세스한다.<ref name="x86 InstructionSet">{{웹 인용|url=http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf|제목=Intel 64 & IA-32 명령어 집합|확인날짜=2015년 6월 25일}}</ref>
27번째 줄:
 
* [[메모리 맵 입출력]](Memory-mapped I/O, MMIO) : 메모리와 입출력 장치를 구분하여 메모리 체계를 만든다.
* [[입출력 맵 입출력]](I/O mapped I/O) : 메모리 주소공간과 I/O 주소공간을 분리하는 메모리 체계이다.<ref name="Z80 사용 설명서"></ref><ref name="x86 InstructionSet"></ref>
 
보통 입출력 장치가 메모리(RAM, ROM, FLASH) 보다 액세스 속도가 떨어진다. 따라서 입출력과 메모리의 [[주소 공간]]을 분리하여 효율성을 기한다. 그러나 분리를 하면 기계어 명령어를 분리해야 한다.