2011-05-04 3 views

답변

5

버스 인터페이스 유닛은 세그먼트 레지스터 구성은, 가산기 20 비트 주소와 선반 입 큐를 생성한다. 이 주소가 BIU에서 보내지면 명령 및 데이터 바이트가 메모리에서 페치되고 First In First Out 6 바이트 큐에 채워집니다.

Google을 통해 쉽게 찾을 수있는 "8086_Internal_Block_diagram_enotes.pdf"라는 문서를 참조하십시오. 버스 인터페이스 장치에 대한 섹션 인 this document을 참조하십시오.

따라서 프로세서는 전용 내부 20 비트 레지스터를 사용하여 "필요시"20 비트 주소를 생성합니다.

+1

고마워요! 기본적으로 주소 계산은 전통적인 16 비트 ALU (?)를 사용하지 않습니다. – Oxdeadbeef

+1

@ 0xdeadbeef : BIU에 고유 한 "미니 ALU"가 있습니다. – DarkDust

1

16 비트 숫자를 4 자리 왼쪽으로 이동하면 기본적으로 20 비트 숫자가 생성됩니다. 그런 다음 오프셋은 해당 범위까지 얼마나 멀리 갈 것인지 나타냅니다. Wikipedia article on Real mode addressing을 참조하십시오.

예 :

0x0001 << 4 -> 0x00010 (5 sets of 4 bits in each hex digit -> 20 bits) 
+0

나는 모든 레지스터가 16 비트이기 때문에 프로세서가 20 비트 값을 처리 할 수있는 방법이 일반 레지스터에 비해 너무 큽니다. – DarkDust

+0

@DarkDust 네, 그게 내가 해석 한 방법입니다. 당신의 것이 더 완전합니다, 나는 그 질문에 직접적으로 대답하려고 노력했습니다. – jonsca

+0

@ DarkDust, jonsca, 정확히 :) – Oxdeadbeef

관련 문제