Nicron
#07
14 ноября 1996 |
|
Железо - обзор микропроцессора Zilog Z380, продолжение.
──────────────────────────────────────────────────────────────── ╔══════════════════════════════════════════════════════════════╗ ║▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ MPU Z380 ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒║ ╚══════════════════════════════════════════════════════════════╝ (C) WLODEK BLACK Микропроцессор Z380. Продолжение. Начало в номере 6. Снова здравствуйте, друзья! Приятно осознавать, что твой труд приносит пользу. Уже поступили первые отклики - восторженные, надо сказать! И действительно, этот чип того достоин. Заглянем- ка, что у него там внутри?.. Ага, вроде бы все знакомое: аккуму- лятор и флаги, HL, DE, BC, индексные регистры IX и IY,указатель стека, счетчик команд, регистр регенерации ОЗУ R, регистр векто- ра прерываний I... Вот карта регистрового пространства, которую я воспроизвожу символами псевдографики, демонстративно развер- нув ее трехмерность влево (в оригинале - вправо): ┌─────────────────────┐ │┌────────────────────┴┐ ┌────────────────────────── ────────────────────┴┐ │┌──────────────────────────┌──────────┬─────────┴┐ ││┌─────────────────────────┤ A │ F │ │││┌────────────────────────┼──────────┼──────────┤ ││││ BCz │ B │ C │ │││├────────────────────────┼──────────┼──────────┤ ││││ DEz │ D │ E │ │││├────────────────────────┼──────────┼──────────┤ ││││ HLz │ H │ L │ │││├────────────────────────┼──────────┼──────────┤ └┤││ IXz │ IXU │ IYU │ └┤├────────────────────────┼──────────┼──────────┤ └┤ IYz │ IYU │ IYL │ └────────────────────────┴──────────┴──────────┘ ┌─────────────────────┐ │┌────────────────────┴┐ ┌────────────────────────── ────────────────────┴┐ │┌──────────────────────────┌──────────┬─────────┴┐ ││┌─────────────────────────┤ A' │ F' │ │││┌────────────────────────┼──────────┼──────────┤ ││││ BCz' │ B' │ C' │ │││├────────────────────────┼──────────┼──────────┤ ││││ DEz' │ D' │ E' │ │││├────────────────────────┼──────────┼──────────┤ ││││ HLz' │ H' │ L' │ │││├────────────────────────┼──────────┼──────────┤ └┤││ IXz' │ IXU' │ IYU' │ └┤├────────────────────────┼──────────┼──────────┤ └┤ IYz' │ IYU' │ IYL' │ └────────────────────────┴──────────┴──────────┘ ┌──────────┐ │ R │ ┌────────────────────────┼──────────┤ │ Iz │ I │ └────────────────────────┴──────────┘ ┌────────────────────────┬─────────────────────┐ │ SPz │ SP │ ├────────────────────────┼─────────────────────┤ │ PCz │ PC │ └────────────────────────┴─────────────────────┘ Как видим, набор регистров общего назначения (РОН) выглядит до- вольно привычно. Разница с Z80 в том, что в каждом из двух набо- ров - основном и альтернативном - имеется учетверенный комплект аналогичных по назначению РОН, и регистры расширены до 32 бит. РОН используются для хранения и обработки данных и для адресова- ния памяти, причем ограничений на способы адресации у 380-го значительно меньше. Обращения к РОН определяются в кодах команд, плюс активный регистровый слот задается битами регистра управле- ния SR. Обратите внимание: у половинок индексных регистров поя- вилась официальная мнемоника - IXU, IYU для старшей половинки и IXL, IYL для младшей.(Предложение в порядке бреда: может,учесть появившийся стандарт и в новых ассемблерах для Z80, поддерживаю- щих мнемоники наподобие "LD LX,E" ?). Не трудно догадаться, что суффикс "z" означает объединение регистровой линейки в 32-разря- дный регистр, но только в описаниях,но не в мнемониках операций. Регистр управления SR. <------------ YSR ------------> │ <------------- XSR ---------> 0 0 0 0 0 │IY bank│IYP│ 0 0 0 0 0 │IX bank│IXP └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─── 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 <--------- DSR --------------> │ Main IEF 0 0 0 0 0 │ Bank │Alt│ XM│ LW│ 1 │ IM │ 0 │LCK│AFP│ ───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 IYBANK - 2-битовое поле выбора банка IY-регистров. Содержит но- мер (0...3) банка IY или IY'. После RESET сбрасывается в 0. IYP - бит выбора основного или альтернативного блока регистров IY. 0 - основной набор, 1 - альтернативный набор. IXBANK, IXP - то же для IX. MAINBANK - 2-битовое поле выбора блока регистров AF,HL,DE,BC и A',F',HL',DE',BC'. Содержит номер банка регистров. ALT - бит выбора основного или альтернативного набора HL,DE,BC. 0 - основной, 1 - альтернативный. XM (Extended Mode) - бит установки режима работы процессора. 1 - расширенный режим, 0 - режим Z80. Обратного переключения в 0 нет (только RESET; даже POP не помогает). LW (Long Word mode) - бит контроля режима "слово"/"длинное сло- во". 1 - длинное слово, 0 - обычное (16-разрядное) слово. (Для единичных инструкций можно установить индивидуальный режим дли- ны слова, действующий только в пределах одной команды,с помощью специальных команд). RESET сбрасывает в 0. IEF1 - флаг разрешения маскируемых прерываний. 1 - прерывания разрешены, 0 - прерывания запрещены. RESET сбрасывает в 0. IM - 2-битовое поле выбора режима прерываний 0,1,2 или 3. LCK (Lock) - бит блокировки обслуживания запросов обращения к системной шине со стороны других устройств. 1 - внешние запросы игнорируются, 0 - внешние запросы обслуживаются. RESET сбрасыва- ет в 0. AFP - бит выбора основного или альтернативного блока регистров AF (AF или AF'). 0 - основной, 1 - альтернативный. Регистр SR программно доступен как 32-разрядный SR, как 3 вось- мибитных регистра YSR, XSR и DSR, а также может быть сохранен через PUSH и загружен через POP. (Продолжение следует).
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября