Nicron #07
14 ноября 1996
  Железо  

Железо - обзор микропроцессора Zilog Z380, продолжение.

<b>Железо</b> - обзор микропроцессора 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.

(Продолжение следует).



Другие статьи номера:

Вступление - вступительное слово и оглавление.

BBS - список станций BBS ZXNet.

Железо - обзор микропроцессора Zilog Z380, продолжение.

Программирование - курс изучения ассемблера от Wlodek Black, продолжение.

Игры - "Гражданин, пройдемте... игру" - анонс новой рубрики.

Графика - картинкa АNSI графики.

Самиздат - пьеса "Как трезвеют SysOp-ы", акт второй. Savin Boris.

Реклама - реклама и объявления.

Обратная связь - контакты редакции.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Рекалама - реклама и бесплатные обьявления.
Интервью с... - интервью с Kristof/Serious Makers Group^Constellation.
От авторов - C наступившим ВAC всех новым годом и Pождеством'2003!!!
FIDO начинающим - Эхо области. Меню сообщений.
Рыбак - это круто.

В этот день...   25 апреля