Упомянутые группы/команды
Copyright 1992, Jack G. Ganssle
Перевод: 1997 (c) Савичев Андрей Викторович E-mail: master@satan.spb.su
Об авторе: Jack Ganssle, Основной консультант TGG
RUSH> Невероятно! Все мы так привыкли к старому-доброму Z-80 - сердцу наших Spectrum'ов и даже не знаем, что фирма Zilog, его создатель, не остановилась на данной модели своего процессора и продолжает выпуск гораздо более совершенных его потомков. Сложно сказать, какое это будет иметь значение для дальнейшего развития Speccy, кто знает, возможно в ближайшем будущем новые модели Spectrum'ов будут оснащаться и процессорами нового поколения...
От переводчика:
Некоторые термины замещены русскими эквивалентами, другие оставлены без перевода. Опущены некоторые "лирические" отступления автора. Оставлено без перевода Резюме и одно "темное" для меня ;-) место в тексте.
Аннотация.
Z80 и его потомки продолжают быть чрезвычайно популярными. Вот современное состояние данной архитектуры.
Предисловие.
Я просто бешусь, читая рекламу в прессе. Журналы хотят уверить нас в том, что единственный жизнеспособный процессор, даже для самых простых приложений - это 50 Mhz 486 или RISC процессор. Но сколько проектировщиков реально используют эти CPU во встроенных системах?
На конференции по встроенным системам Andy Rappaport привел убедительный аргумент, что до тех пор пока мы имеем соотношение между производительностью процессора и его ценой, во многих приложениях, чувствительных к стоимостному фактору, меньшие CPUs будут доминировать над новыми архитектурами. Лично я предпочитаю 8 и 16 битные CPU. Они дешевы, к ним имеются более дешевые инструментальные средства и с ними проще работать. Фактически, 8 битный процессор имеет ту же ширину шины, что и большинство распространенных периферийных устройств и может быть использована более простая схема с меньшим числом компонентов за счет интеграции на кристалле. 16 и 32 битные шины часто используются для ускорения пересылок больших массивов информации. Большая длина команд используется для выполнения более сложных действий за один машинный цикл. Выигрыш в производительности оборачивается проигрышем в стоимости. Я думаю, что четыре архитектуры наиболее отвечают запросам проектировщиков встроенных систем. Не учитывая 4-битные архитектуры, которые часто являются оптимальным решением при массовом производстве, я могу рекомендовать семейства 8051, 80186, Z80 и 6800 и их потомков. Время от времени я буду писать статьи об экземплярах этих семейств. В этот раз мой выбор пал на Z80.
Современная Z80 Technology
Z80 по существу ничем не отличается от первоначальной версии, представленной еще в середине 70-х. Все современные CMOS версии имеют космические скорости. Самое новое предложение от 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
Оглавление издания: Rush #01
- AMIGA NEWS
Amiga Inc работает над Amiga OS 3.5 с улучшениями, такими как поддержка CD-дисков и PowerPC. Разработка разделена для процессоров M68K и PPC. Выпуск отложен на конец 1999 или начало 2000 года.
- AMIGA NEWS
Описание просмотрщика 'Fast JPEG 1.10' для Amiga, с акцентом на его особенности, установку и использование. Подчеркиваются преимущества, такие как быстрая обработка без потери качества, и предоставляются советы пользователям. Читателям предлагается делиться своими опытом использования программ.
- AMIGA NEWS
Основы программирования для классической Amiga, обсуждение сложностей и обмен знаниями в кодировании на Amiga. Обзор графических возможностей Amiga и особенностей процессоров. Введение в особенности ассемблера Amiga.
- AMIGA NEWS
Обзор событий, связанных с платформой Amiga, с начала до середины 1998 года. Включает новое оборудование, релизы программного обеспечения и заметные сотрудничества компаний. Будущие обновления и разработки запланированы для следующего выпуска.
- AMIGA NEWS
Подборка читов и секретов для классических игр Amiga, собранных Postcard Man. Читатели поощряются делиться своими находками в сложных играх. Предоставлены советы и коды уровней для различных игр.
- AMIGA NEWS
Обсуждение графических карт Phase-5 и возможностей процессора Permedia 2. Подробности о 2D/3D акселерации и совместимости Permedia 2. Упоминание процессоров GLINT Delta и сравнение цен и доступности.
- AMIGA NEWS
Анализ выживания Amiga в 90-х, подчеркивающий усилия сообщества и технологические достижения. Обсуждение аппаратных улучшений и разработки программного обеспечения. Поощрение дальнейшего изучения и освоения платформы Amiga.
- Spectrum программинг
Объяснение быстрого метода для 3D графики в реальном времени на ZX Spectrum. Вводятся эффективные техники вращения и деформации 3D объектов. Подчеркиваются улучшения по сравнению с традиционными методами с практическими примерами.
- Spectrum программинг - Ticklish Jim
Обсуждение совмещения звуковых эффектов с музыкой для AY-чипа Spectrum. Примеры из разработки 'CSC: Deja Vu' и технические трудности. Содержит практическое руководство и примеры кода.
- Spectrum программинг
Обсуждение зеркального отображения байтов и восстановления фона в программировании ZX Spectrum с примерами.
- Spectrum программинг
Подробное руководство для системных программистов с практическими советами по созданию эффективного и удобного ПО, включая техники кодирования, совместимость устройств и стратегии тестирования программ.
- Spectrum программинг
Совершенные методы кодинга и современные способы работы с графикой для ZX Spectrum. Советы по оптимизации графических процедур и программированию на ассемблере. Полезные рекомендации для программистов по улучшению производительности и эффективности.
- The End
Размышления о создании первого номера журнала 'Rush', его целях, аудитории и будущем развитии.
- ZX-SOFT - Вячеслав Медноногов
Обновления разработки новой игры 'Черный Ворон II' от Вячеслава Медного, включая изменения в игровом процессе, введение новых заклинаний и улучшения производительности.
- ZX-SOFT
Обзор новых возможностей обновленного командера от REAL software для ZX Spectrum, включая управление файлами, автодетекцию и просмотр медиа. Улучшения в работе с текстами, шрифтами и музыкой. Ответы на вопросы о будущих обновлениях.
- ZX-SOFT
Дебаты о том, какое демо заслуживало первое место на Funtop'98: Forever от DR или Refresh от XTM. Обсуждения в сообществе демосцены подчеркивают столкновение между техническим мастерством и концептуальной глубиной. Различные мнения отражают эволюцию предпочтений демосцены.
- Авторы
Благодарности авторам и партнёрам в создании журнала Rush. Подробные роли каждого автора и сотрудничество. Признание технической поддержки и медийных партнёрств.
- Виртуальный Спекки
Обсуждение конвертации графики с PC на Spectrum с мнениями различных экспертов. Описаны техники улучшения качества конверсии и инструменты, такие как Photoshop. Акцент на доработке после конверсии в графических редакторах Spectrum.
- Виртуальный Спекки
Обсуждение эмулятора CBSpeccy для ZX-Spectrum на Amiga, выделение его особенностей, мнений сообщества и технической производительности. Критика и похвалы за его эмуляционные возможности, особенно в сравнении с ПК эмуляторами. Рассмотрение возможных улучшений и дебаты в сообществе о обновлениях версий.
- Виртуальный Спекки
FAQ по эмуляции ZX-Spectrum на ПК, охватывающий популярные эмуляторы и форматы файлов. Инструкции по использованию различных эмуляторов и управлению типами файлов, такими как Hobeta и TR-DOS. Обсуждение российских ZX-ориентированных серверов и ресурсов для энтузиастов.
- Вступление
Вступление к журналу Rush, акцент на креативность, прогрессивную сцену и цель создать превосходный источник информации. Журнал стремится собрать перспективные группы и предложить уникальную перспективу. Основное внимание на содержании и атмосфере, приглашая создателей к сотрудничеству.
- Вступление - Grunge
Введение в Rush, новый сценовой журнал для любителей Speccy/Amiga, целью которого является предоставление качественного контента и новостей с поощрением обратной связи от читателей.
- Интервью - Konex
Интервью с группой ANTARES после FUNTOP-98. Обсуждение их демонстраций, трудностей и планов на будущее. Взгляд на формирование и динамику группы.
- Интервью - Kvazar, DUX
Интервью с Александром Селезневым (KVAZAR), обсуждение его истории с компьютерами, состояния сцены ZX Spectrum и будущих планов.
- Интервью - Kvazar
Интервью с витебской группой POWER о демо 'Crazy Love', опыте разработки и будущих проектах.
- Информацриум
Исследование CD с эмуляторами для различных платформ, с акцентом на Spectrum. Подробности об организации и разнообразии контента. Заключается инсайтами из коллекции программного обеспечения Spectrum CD-ROM Project.
- Информацриум
Подборка интересных и полезных интернет-адресов, связанных с ресурсами Amiga, включая журналы, производителей оборудования и компании-разработчики ПО.
- Информацриум - Viator
Обзор существующих и предстоящих изданий о платформе Amiga. Обсуждение доступности и проблем распространения литературы по Amiga. Призыв к сотрудничеству с новыми изданиями.
- О журнале
Обсуждение создания многоплатформенного журнала с акцентом на Spectrum, Amiga и ПК. Подчеркивается важность широкого понимания компьютерной сцены. Призыв к профессионализму и адаптации к изменяющимся технологиям.
- Параллельные миры
Обзор эволюции ОС Windows и процессоров ПК с 1981 по 2000 год. Вехи развития MS-DOS, Windows, процессоров Intel и конкуренции с AMD и Cyrix. Проблемы совместимости с новыми технологиями процессоров.
- Параллельные миры
Обзор моделей Macintosh и их значимость в области дизайна и графики, охватывающий цены и спецификации с 1997-1998 годов. Обсуждение включает эволюцию оборудования Apple, особенно серию PowerMac, и сравнивает новые процессоры G3 с аналогами для ПК. Подчеркивается возрождение Macintosh после кризиса и его продолжающееся влияние на рынок.
- Развитие Spectrum - Slider
Статья обсуждает новое графическое расширение для ZX Spectrum, расширяющее палитру цветов без увеличения ресурсных требований. Используя модифицированный сигнал flash, создаются новые цвета без нарушения совместимости с существующим софтом. В статье даются подробности реализации и решения практических вопросов.
- Развитие Spectrum
Подключение CDOS-модема к компьютеру 'Компакт-128' через устранение конфликтов порта клавиатуры. Описание аппаратных модификаций для решения проблемы. Решение включает автоматическую блокировку с использованием транзисторного инвертора.
- Развитие Spectrum - Ars
Обсуждение разработки AZX-Monstrum 512K, его аппаратной совместимости, вариантов процессора и потенциальных улучшений в графике и ОС.
- Развитие SPECTRUM
Обсуждение новой компьютерной платформы ZX2000 от Клайва Синклера, предназначенной для превосходства над ПК за счет скорости, доступности и эффективности батареи.
- Развитие Spectrum - Андрей Савичев
Рассмотрение эволюции и продолжающейся актуальности процессора Z80, и его роли во встроенных системах. Сравнение Z80 с его преемниками, выделение таких преимуществ, как энергоэффективность и улучшенные команды. Обзор интегрированных процессоров на базе Z80 и их периферийных устройств.
- Реклама
Статья представляет собой рекламу продукции Scorpion, включая оборудование для ZX Spectrum и программное обеспечение для Amiga, с подробностями цен и заказов.
- Реклама
Коллекция объявлений о продаже оборудования и программного обеспечения для Amiga и ZX Spectrum, с контактной информацией продавцов и подробностями о подписке на новый журнал Amiga.
- Реклама
Реклама музыкальной платы General Sound от X-TRADE. Содержит цены, технические характеристики и инструкции по покупке. Включает FAQ и информацию о совместимости.
- Смысл без смысла - Viator
Философские размышления об экзистенциализме, бессмертии и человеческой судьбе. Повествование переплетается с историями о честолюбии, поиске вечной жизни и утопическом падении. Сочетание интроспекции и спекулятивной фантастики.
- Сцена vs профессионалы
Исследование творчества демосцены в сравнении с коммерческой разработкой игр. Обсуждение потенциала создания профессиональных программ участниками сцены. Призыв к сотрудничеству с ведущими группами сцены.
- Сценохрония - Андрей Савичев
Размышления о неизменной привлекательности ZX Spectrum, устойчивости его сообщества и возможном возрождении в России.
- Сценохрония
Обзор деятельности группы Rush, включая прошлые проекты, текущие начинания и будущие планы, с акцентом на разработку ПО и игр.
- Сценохрония
Статья обсуждает различные новости сцены ZX Spectrum, включая релизы игр, демопати и обновления от разработчиков и команд.
- Сценохрония
Статья обсуждает международный фестиваль компьютерного искусства FUNTOP'98, прошедший в Москве, подчеркивая ключевые события, заметных участников и различные конкурсы, проведенные в ходе мероприятия.
- Сценохрония
Обсуждение развития сцены Amiga через сотрудничество, решение проблемы изоляции пользователей и расширение сети.
- Управление оболочкой
Статья описывает управление оболочкой для ZX Spectrum и Amiga, включая клавиши и функции навигации. Упоминаются особенности работы на Amiga с PAL монитором и предоставляется контакт для поддержки. Также отмечено, что текстовые файлы имеют стандартную MS-DOS кодировку.