RUSH #01
29 мая 1999
  Железо  

Развитие Spectrum - Потомки процессора Z80.

<b>Развитие Spectrum</b> - Потомки процессора Z80.
      Copyright 1992, Jack G. Ganssle

    Перевод:1997    (c)   Савичев   Андрей
Викторович E-mail: master@satan.spb.su

Об авторе: Jack Ganssle, Oсновной консуль-
тант TGG

RUSH>
    Невероятно  !  Все  мы  так привыкли к
старому-доброму   Z-80   -   сердцу  наших
Spectrum'  ов  и  даже не знаем, что фирма
Zilog,  его  создатель, не остановилась на
данной    модели   своего   процессора   и
продолжает     выпуск     гораздо    более
совершенных его потомков.
    Сложно  сказать, какое это будет иметь
значение  для дальнейшего развития Speccy,
кто  знает,  возможно  в ближайшем будущем
новые  модели Spectrum'ов будут оснащаться
и процессорами нового поколения...
    
              От переводчика:

    Некоторые  термины  замещены  русскими
эквивалентами,другие     оставлены     без
Перевода.  Опущены  некоторые "лирические"
отступления  автора.Оставлено без перевода
Резюме  и одно "темное" для меня ;-) место
в тексте.

                 Аннотация.

    Z80  и  его  потомки  продолжают  быть
чрезвычайно   популярными.Вот  современное
состояние данной архитектуры.

                Предисловие.

    Я   просто  бешусь,  читая  рекламу  в
прессе.  Журналы  хотят уверить нас в том,
что единственный жизнеспособный процессор,
даже для самых простых приложений - это 50
Mhz  486  или  RISC  процессор. Но сколько
проектировщиков  реально  исполь  зуют эти
CPU во встроенных системах?

    На  конференции по встроенным системам
Andy    Rappaport    привел   убедительный
аргумент,что  до  тех  пор  пока  мы имеем
соотношение    между   производительностью
процессора    и    его   ценой,во   многих
приложениях, чувствительных к стоимостному
фактору,smaller  CPUs  будут  доминировать
над    новыми   архитектурами.   Лично   я
предпочитаю 8 и 16 битные CPU.Они дешевы,к
ним имеются более дешевые инструментальные
средства   и   с   ними   проще  работать.
Фактически,  8  р.  процессор  имеет ту же
ширину      шины,что     и     большинство
распространненых  периферийных устройств и
может   быть  использована  более  простая
схема с меньшим числом компонентов за счет
интеграции  на  кристалле. 16 и 32 р. шины
часто используются для ускорения пересылок
больших  массивов информации.Большая длина
команд  используется  для выполнения более
сложных    действий   за   один   машинный
цикл.Выигрыш      в     производительности
оборачивается  проигрышем  в  стоимости. Я
думаю,что   четыре   архитектуры  наиболее
отвечают      запросам     проектировщиков
встроенных    систем.Не    учитывая   4-р.
архитектур,которые      часто     являются
оптимальным    решением    при    массовом
производстве,я      могу     рекомендовать
семейства  8051,  80186,Z80  и  6800  и их
потомков.  Время  от времени я буду писать
статьи об экземплярах этих семейств.В этот
раз мой выбор пал на z80.

         Современная Z80 Technology

    Z80 по существу ничем не отличается от
первоначальной  версии, представленной еще
в  середине  70-х.  Все  современные  СMOS
версии  имеют  космические скорости. Самое
новое  предложение  от Zilog-а содержит 20
MHz   процессор.Но   рост   быстродействия
процессора  вызывает  столь же космический
рост стоимости ROM и RAM в системе.Поэтому
6   и   8   MHz   Z80   все  еще  остаются
респектабельными    (написано    в   92г!:
прим.пер.)  Хотя  индексные инструкции z80
слабы,это   все  же  несомненно  лучший  С
компьютер,   по   сравнению   с   тем   же
8051.  Изолированный z80 был  бы  dead-end
line,если   бы   не  высокоинтегрированные
процессоры  64180  Hitachi  и  z180  Zilog
,которые содержат ядро процессора z80.

    64180/Z180  микропроцессоры включают в
себя  функции,  традиционно  относящиеся к
периферийным   схемам   .   Проектировщики
выбрали   архитектуру,совместимую  с  Z80,
дающую   пользователям   Z80   возможность
использовать     доступное    им    прежде
программное     обеспечение.Старая     Z80
архитектура  может  быть преобразована без
финансовых   затрат   на  инструментальные
системы    и   без   каких   либо   потерь
совместимости.    Новый    дизайн    более
привлекателен  за  счет  умощнения системы
команд,меньшего   потребления   энергии  и
более высокого уровня интеграции.

              Описание 64180.

    Периферия  64180  включает в себя: два
16         битных        счетчика/таймера;
программируемый  контроллер  регенерации и
циклов   ожидания;   два  контроллера  DMA
(ПДП);   три   последовательных   порта  с
программируемой     скоростью    передачи.
Добавьте    сюда    немного    памяти    и
параллельного  ввода-вывода  и  Вы  будете
иметь готовый компьютер.
    Like  the  Z80,  the 64180 supports 16
bit I/O addresses. Whenever an IN A,(C) or
OUT  (C),A  instruction  is executed, both
the  Z80 and 64180 issue the contents of C
as  the  low  order  port address, and the
contents  of  B  as the high 8 bits of the
address.  Unlike  the  Z80,  for which few
users  ever  needed  more  than  an  8 bit
address, 16 bit port addresses are crucial
to the chip's operation.
    Вся внутренние периферийные устройства
64180  для  программиста  являются портами
ввода/вывода.   Каждое   устройство  имеет
уникальный   адрес   ,старшие  8  разрядов
которых   -  нулевые.  Зарезервированы  64
адреса,при    сбросе   они   находятся   в
диапазоне   от   0000   до   003F.Возможно
инициализировать  начало  блока  регистров
внутренних     устройств     на    адреса:
0000,0040,0080,00C0.  Это особенно полезно
для  предотвращения  конфликтов с адресами
внешних портов ввода-вывода.

         Программирование шины CPU.
 
   64180   разрешает  динамический  выбор
нескольких    параметров   шины,   включая
количество   циклов   ожидания   памяти  и
устройств  ввода-вывода(для согласования с
медленной  памятью и внешними устройствами
ввода/вывода)   и   скорости  регенерации.
Подобно     Z80,    64180    автоматически
производит    циклы   регенерации,   чтобы
сохранить     данные     в    динамической
памяти.Когда      динамическая      память
отсутствует,циклы    регенерации   снижают
производительность   процессора,поэтому  в
64180  имеется  возможность  их запретить.
Регистр  управления регенерацией позволяет
установить  частоту регенерации, добавляет
циклы  ожидания  для  медленно  работающей
памяти.При      сбросе     устанавливается
максимально    быстрая   регенерация(режим
совместимости  с  Z80).  Небольшое отличие
состоит  в  том,что  64180  генерирует 8р.
адрес  в  цикле регенерации,в то время как
Z80  7р.  К  сожалению,1 Mbit динамические
ОЗУ  требуют  при  регенерации  9р. адрес,
поэтому        необходимо        применять
дополнительную внешнюю микросхему.

                 Таймеры.

    64180   имеет   два   независимых   16
разрядных   таймера,  которые  тактируются
CPU's    clock.    Каждый    может    быть
запрограммирован,     чтобы     произвести
прерывание, при переходе содержимого через
ноль.         Таймеры        автоматически
перезагружаются  значением из специального
регистра.Каждый  таймер имеет 16р. регистр
данных,который  читается  и записывается в
произвольный   момент   и   16р.  регистр,
значение  из  которого  перезагружается  в
момент   перехода   содержимого   регистра
данных     через    0.    Режим    таймера
устанавливается   с  помощью  специального
регистра управления.

          Последовательные порты.

    64180  содержит  три  последовательных
устройства.  Два  из  них  -  традиционные
асинхронные  UARTs  (ASCI  0  и  ASCI 1 ).
Третий  - специальный порт для синхронного
обмена.Интерфейс    поддерживает    полный
дуплекс,7  или  8  битов  данных,  1 или 2
стоп-бита,все                         типы
паритета(четн./нечетн.),некоторые  сигналы
управления   модемом   и   программируемую
скорость     передачи    данных.Прерывание
возникает           при          получении
символа,возникновении  ошибки  или  пустом
буфере  передачи.  Тактируемый  синхронный
порт  (CSI/O)  -  простой  синхронный 8 р.
полудуплексный   порт.Он  не  поддерживает
SDLC  и  другие  синхронные соединения, но
обеспечивает  связь  с  синхронным  портом
8051 и аналогичными в других процессорах.

            Система прерываний.

    Подобно  Z80, 64180 может поддерживать
один из трех режимов прерывания ( 0, 1 и 2
),в   зависимости   от   выбора,сделанного
программистом       с      помощью      IM
инструкций.Кроме    того,он   поддерживает
новые     источники     прерываний,    как
внутренние,так  и  внешние(2 новых,а всего
4).Новые   внешние   источники  прерываний
доступные  через  входы INT1 и INT2,всегда
обрабатываются       в       режиме      2
(векторном),независимо  от  выбранного для
остальных  входов  режима.При обслуживании
прерывания  CPU  обращается  к  таблице  в
памяти   для   выборки   адреса  процедуры
обработки    прерывания(таблице   векторов
прерываний).Подобным       же      образом
обрабатываются    прерывания    внутренних
устройств  (в  режиме 2).В Z80,все вектора
режима  2  формируются за счет содержимого
регистра  I(инициализируемого  командой LD
I,A  -ст.байт адреса) и 8 бит выставляемых
внешним  устройством  в  цикле  (interrupt
acknowledge  cycle)  -мл.байт адреса.Такой
же  механизм сохраняется в 64180 для входа
INT0.Однако прерывания на входах INT1,INT2
и  от  внутренних устройств обрабатываются
по-другому. Новый регистр IL содержит биты
5,6  и  7  таблицы векторов прерываний для
INT1,INT2 и внутренних устройств.Старшие 8
бит  берутся  из  регистра I ,как и в Z80.
Входы  INT1,INT2  и  внутренние  источники
имеют  фиксированное  смещение  от  начала
таблицы  векторов  прерываний,поэтому биты
4,3,2,1,0  не  изменяются  программистом,а
начальный адрес таблицы может быть задан в
регистрах I и IL.

              Система команд.

    64180   в  точности  выполняет  каждую
команду  Z80,однако быстрее. Идентичны Z80
все  регистры,флаги,способы  адресации.Это
делает  для  програмистов переход от Z80 к
64180   очень   простым.  Несколько  новых
команд    очень    полезны   в   некоторых
приложениях.
    Команда  SLP  переводит  64180 в режим
крайне низкого потребления. Выход из SLEEP
mode  возможен  только  по  прерыванию или
reset.
    Команда    8    битного   беззнакового
умножения    с   получением   16   битного
результата   выполняется   в   течение  17
периодов  тактовой  частоты(17 T-states) и
дает  повышение  общей  производительности
процессора  при вычислениях(на основе этой
инструкции         можно         увеличить
производительность   процессора   как   на
целочисленной    арифметике,так    и    на
арифметике  с  плав.запятой  :прим.перев.)
Работает  с  регистровыми  парами BC,DE,HL
или  SP,причем входные операнды содержатся
в  мл.  и  ст.  байте,результат  в этой же
регистровой паре.
    Четыре  типа  TST инструкции выполняют
неразрушающее   И   между   аргументом   и
аккумулятором.   TSTIO  берет  в  качестве
аргумента 8 бит порта ввода/вывода.Старшие
8    бит    16р.    порта    автоматически
сбрасываются в 0.

            Управление памятью.

    Важным  преимуществом 16р. процессоров
была возможность адресовать большие объемы
памяти.Если         большинство        8р.
микропроцессоров,включая  Z80,  адресовали
64  Кбайт  памяти,то  16р.  адресовали как
правило  1-16  Мбайт. Больший объем памяти
обеспечивает      размещение      большего
количества   данных   и   более  сложных,а
следовательно       и      с      большими
возможностями,программ.  MMU  - механизм,с
помощью  которого 64180 может иметь доступ
к  памяти  более 64 Кбайт,но сохранять при
этом  совместимость  по  системе  команд с
Z80.     Все     инструкции    выполняются
по-прежнему   как   бы   в  16р.  адресном
пространстве,   а   MMU  преобразует  16р.
адреса       в      20р.      Пространство
"логических"адресов     преобразуется    в
пространство   адресов  "физических".  Все
пространство      "логических"     адресов
разбивается    на    3    части:   0-3FFFH
преобразуется    в   любой   16к   сегмент
1Mb,например      0-3FFFH      4000H-7FFFH
преобразуется    в   любой   16к   сегмент
1Mb,например   10000H-13FFFH   8000H-FFFFH
преобразуется    в   любой   32к   сегмент
1Mb,например     40000H-407FFH    Возможна
фактически        любая       конфигурация
виртуальной("логической")  памяти.  Полное
обсуждение  MMU  в  рамках  данной  статьи
невозможно,укажем    лишь   на   то   ,что
некоторые  компиляторы поддерживают данный
механизм   автоматически,  для  разработки
программ,код которых превышает 64K.

        Другие Z80 совместимые CPU.

    64180/Z180       не       единственные
высокоинтегрированные потомки Z80. И Zilog
и   Toshiba   продают  ряд  процессоров  с
различным      сочетанием     периферийных
устройств  и  памяти  на одном кристалле и
номенклатура    этого   ряда   расширяется
ежедневно.Обе   фирмы   продают   84013  и
84015,которые включают в себя один SIO(Z80
специфичный      последовательный     порт
ввода/вывода),один  CTC(снова  специфичный
Z80 таймер).SIO и CTC в составе этих чипов
полностью   идентичны   своим   предкам  в
дискретном исполнении.Кроме того в составе
84013  и  84015 Watchdog timer (устройство
для  перезапуска  при  сбоях  и  зависании
программы:    прим.перев.)    и   тактовый
генератор.  84015  попадает в наши руки (к
моему   великому  сожалению)  в  виде  100
ножечного  QFP,что связано с наличием PIO,
которому   требуется   20   дополнительных
выводов.      Продаются      и      другие
чипы,перечисление которых интересно скорее
"железячникам"   нежели  программистам.Это
84с50  с  2K  внутренней RAM и 84с01(Z80,с
встроенной схемой часов).

                  Резюме

    Does    anyone    really   know   what
processors  most  designers use? I believe
this  is  a  mystery.  Chip  vendors track
volume  sales  of  CPUs to determine which
ones  outsell the others. They're happy to
sell  100  million  CPUs  to one customer.
This  tells us nothing about the number of
designers  working with a chip. A thousand
applications  being  produced  in  hundred
quantities  amounts to few chip sales, but
lots  of  engineering.  What processors do
you  use?  Why?  Let me know and I'll pass
the information on to your fellow readers.
Softaid  -  Extraordinary  Emulators for 8
and   16  bit  CPUs  8310  Guilford  Road,
Columbia,  MD  USA. Phone: (410) 290-7760,
Fax: (410) 381-3253 Email info@softaid.com



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

AMIGA NEWS - AMIGA OS v3.5 - вопросы и ответы.

AMIGA NEWS - Описание Viewer'а графических файлов - Fast JPEG.

AMIGA NEWS - Программинг на Amiga: О Amiga изнутри, Графика, Сопроцессоры, Особенности ассемблера.

AMIGA NEWS - События 1998 года (обзор событий).

AMIGA NEWS - Cheat'ы Для Amiga-игр: After The War, Magicland Dizzy, Fantasy World Dizzy, Alien Breed, Exolon, Jagar Zj2200, Goblins, Mega Ball, Prince Of Persia,Projects-x, UGH!, Rick Dangerous-2.

AMIGA NEWS - Амига GFX-чип Permedia2.

AMIGA NEWS - Амига сегодня.

Spectrum программинг - Быстрые 3D-расчеты: продвинутый алгоритм.

Spectrum программинг - Звуковые эффекты для музыкального процессора и их совмещение с основной мелодией.

Spectrum программинг - Зеркальное отображение байтов и Восстановление фона из буфера.

Spectrum программинг - Краткое пособие для системного кодера. Советы автору "boot'a", паковщика, Музыкального редакторы.

Spectrum программинг - Современные методы кодинга и современные способы работы с графикой.

The End - эпилог.

ZX-SOFT - "Черный Ворон II": Готовьтесь к очередному хиту от Copper Feet !

ZX-SOFT - Описание программ: Real Commander v1.6

ZX-SOFT - споры о демо: Forever vs Refresh.

Аторы - Авторы журнала.

Виртуальный Спекки - Конвертация графики на Спектрум с PC и Амиги.

Виртуальный Спекки - Эмулятор от CodeBusters на Амиге.

Виртуальный Спекки - Эмуляторы ZX-SPECTRUM на PC: Где взять последнии версии FAQ по эмуляции ZX-Spectrum, Какие эмуляторы наиболее удобны - эмулятор Лунтера, UKV v1.2, Шалаева. Что за файлы с расширением *.$b,*.$c,*.$s,*.$z,*.$w ? Как прочесть формат "hobeta". Как и в каком эмуляторе можно работать в iS-DOS. Конвертация файлов .z80 в .$ и обратно. Файлы с расширением .fdi. Проблемы с эмулятором UKV. Как получить чистый файл образа диска (.trd) для эмулятора Шалаева. Существует ли Российский ZX-ориентированный FTP или WWW сервер? Hobeta отказывается читать/писать диски 3.5" - что делать?

Вступление - история создания журнала.

Вступление - О целях сценового журнала - RUSH.

Интервью - Большое интервью с группой ANTARES.

Интервью - Интервью с Kvazar'ом из RUSH.

Интервью - Интервью с группой из Витебска Power group.

Информацриум - CD с эмуляторами и ZX-софтом.

Информацриум - Интересные INTERNET адреса.

Информацриум - Обзор журналов и книг об Амиге.

О журнале - Платформобесие - многоплатформенная оболочка для журнала.

Параллельные миры - История центральных процессоров и Windows.

Параллельные миры - обзор моделей компьютера Macintosh.

Развитие Spectrum - 128 цветов на Спектруме (описание расширения графической палитры).

Развитие Spectrum - Блокировка порта клавиатуры SPECCY при подключении C-DOS модема.

Развитие Spectrum - Новый Speccy - AZXMONSTRUM 512K.

Развитие SPECTRUM - Новый Spectrum от Синклера.

Развитие Spectrum - Потомки процессора Z80.

Реклама - подробный прайслист фирмы Скорпион.

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

Реклама - Реклама фирмы X-Trade.

Смысл без смысла - Рассказы: Самый счастливый человек, Третий глаз, Спаситель Вселенной, Цветик-семицветик, Жизнь только начинается, Страшный суд.

Сцена vs профессионалы - собрав команду лучших людей со сцены, мы сможем создавать программы высочайшего качества...

Сценохрония - Живучий Спектрум: Spectrum дорог большинству из нас. Почему ?

Сценохрония - Краткий обзор новостей от группы RUSH.

Сценохрония - Обзор сцено-событий: Alliance, Alchemist Research, Asphyxia, Brokimsoft, CodeBusters, Concern Chaos, Copper Feet, Crystal Dream, Digital Reality, E0Mage, Energy Minds, Entire, Excess, Fatality и т.д.

Сценохрония - Отголоски Fun Top'98.

Сценохрония - Проект Long Live Amiga, призванный помочь становлению и развитию амиговской сцены.

Управление оболочкой - о ZX версии оболочки.

Planet nails встраиваемый пылесос для маникюрного стола www.planet-nails.ru.

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

Похожие статьи:
Авторская программа - демо-версия программы "Formik Acid".
EventS Overview - Surv!v0r о событиях и фактах: Открытие Спектрумовской банерной сети, у POS появился сайт, обзор демок с СС'2000, переименование Eternity Industry, результаты Final Shoque'2k, ЧВ2 не будет, закрытие газеты Born Dead, группа LFG распалась.
Бук - Житие великого митька Иисуса по кликухе Хpистос.
Rants & Raves - "Байки из гроба"...
Анкета - Alеx Иikifоrоv.

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