Самодельный компьютер на z80

Самодельный компьютер на z80

Упоминая о синтезаторах выпускаемых с 1976 года, начиная с легендарного Prophet, нельзя не вспомнить и о настоящем бестселлере электронных схем конца 70-х, 80-х и даже начала 90-х годов прошлого века — микропроцессоре Zilog Z80.

Ведь благодаря именно этому очень передовому для своего времени микропроцессору, музыкантов порадовали новыми цифровыми возможностями своей музыкальной продукции такие киты синтезаторостроения, как Sequential Circuits, Oberheim, EMU, Moog, Korg, Roland и многие другие менее известные производители.

Zilog Z80 — 8-разрядный микропроцессор, разработанный и производимый фирмой Zilog с 1976 года. Широко использовался в персональных компьютерах, во встраиваемых и военных системах. Z80 вместе с 6502 были доминирующими ЦПУ на рынке 8-разрядных компьютеров с середины 1970-х до середины 1980-х годов. Z80 и его наследники — одни из наиболее распространённых семейств микропроцессоров.

Zilog предоставляла лицензии на ядро процессора, что позволяло другим компаниям производить совместимые аналоги. Некоторые компании производили аналоги, не имея официальной лицензии (в основном, в Восточной Европе). В результате Zilog выпустила менее 50 % от всех произведённых Z80.

Микропроцессор Z80 его структура и система команд (стр. 1 из 4)

Московский Институт Электроники и Математики

по курсу : “ЭВМ и периферийные устройства”

на тему: Микропроцессор Z80 его структура и система команд.

Выполнил: студент группы АП-41

Архитектура микропроцессора Z-80

Архитектура микропроцессора Z-80 фирмы ZILOG основывается на архитектурных принципах микропроцессора 8080 и позволяет выполнять все 78 команд этого микропроцессора, а также 80 дополнительных команд. Всего микропроцессор Z-80 имеет 696 кодов операций (в отличие от 244 кодов микропроцессора 8080).

К числу особенностей микропроцессора Z-80 относятся: использование для питания лишь одного источника напряжением “+5В”, наличие однофазного внешнего синхрогенератора, 17 внутренних регистров и встроенная схема регенерации ОЗУ.

Микропроцессор Z-80 — это микросхема с 40 выводами, пронумерованными от 1 до 40. Рассмотрим функции выводов.

Вывод 11 напряжение питания +5в. Вывод 29- общий. Вывод 06- тактовый вход. В SPECTRUMe используется тактовая частота 3.5 Мгц. Вывод 07-10, 12-15- информационная шина. Вывод 1-5,30-40- адресная шина.

Оставшиеся 13 выводов присоединены к линиям, которые несут управляющие сигналы. Вывод 21- линия считывания RD. Эта линия становится активной, когда байт информации должен быть считан из памяти или порта. Вывод 22- линия записи WR. Эта линия активна, когда байт информации должен быть записан в память или в порт. Вывод 19- запрос памяти MREQ. Эта линия активна в тех случаях, когда требуется обращение к памяти.

Байт информации считывается из памяти в соответствии с адресом, помещенным на адресной шине. Далее, в соответствии с откликом на сигналы RD и MREQ, байт информации поступает на информационную шину, с которой эта информация в дальнейшем считывается микропроцессором. Для записи байта данных в память микропроцессор помещает требуемые адреса на адресную шину и требуемую информацию на шину данных. Сигналы MREQ и WR активизируются, и байт данных записывается в память.

Вывод 28- линия регенерации RFSH. Она используется для регенерации динамической памяти. Частично используется для формирования TV сканирующих сигналов. Вывод 27- активизируется при выполнении машинного цикла М1 и показывает, что проходящий машинный цикл обработки команды находится в состоянии “ввода кода операции” при выполнении некоторой команды. Сигнал М1 при выполнении двухбайтовой команды формируется при вызове каждого байта кода операции. Сигнал M1 появляется вместе с сигналом IORQ в цикле приема прерывания. Выборка инструкции требует, чтобы все три сигнала MI, MREQ и RD были активизированы. В то же время выборка байта данных из ячейки памяти требует, чтобы только MREQ и RD были активизированы. Время необходимое для выборки инструкции — 1.14мкс, что составляет 4 такта. Вывод 20- линия выход lORQ. Эта линия активна при выполнении команд IN или OUT. Вывод 18- останов HALT. Линия активизируется при выполнении команды HALT. Вывод 25- линия запроса BUSRQ. Z-80 позволяет внешним устройствам использовать адресную и информационную шину в режиме пропуска цикла. Запрос микропроцессору пропустить следующий цикл выполняется внешними устройствами путем активизации этой линии. Вывод 23- линия подтверждения, BUSAK. Микропроцессор подтверждает запрос остановки после выполнения команды и активизирует эту линию.

Оставшиеся 4 вывода находятся под контролем пользователя. Вывод 26- линия сброса, RESET. Используется для инициализации микропроцессора. Она активизируется при включении питания. Сброс может быть осуществлен в SPECTRUMe соединением линий RESET и GND. Вывод 24- линия ожидания WAIT. “Медленная” память может требовать большего времени для цикла считывания или записи и об этом сообщает микропроцессору путем активизации линии WAIT. Вывод 17- “немаскируемое прерывание” NMI. Активизация этой линии приводит к остановке выполнения микропроцессором текущей программы, и вместо нее микропроцессор выполняет программу прерывания, записанную специально для этой цели. В SPECTRUMe немаскируемое прерывание требует системного сброса, который выполняется записыванием 0 по адресу 23728. Вывод 16- “маскируемое прерывание”, INT. В SPECTRUMe сканирование клавиатуры и обмен в режиме реального времени называется “управляемым прерыванием”. Это означает, что электроника системы каждые 1/50 секунды активизирует INT, вызывая остановку выполнения микропроцессором основной программы и, вместо этого, выполнение программы сканирования клавиатуры. Способность Z80 реагировать на INT может управляться программистом специальными машинными командами.

ЛОГИЧЕСКАЯ ОРГАНИЗАЦИЯ Z80

В состав Z80 входят: устройство управления, регистр команд, программный счетчик, 24 регистра пользователя и арифметико-логическое устройство.

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

Термин “регистр” используется для описания простой ячейки памяти внутри Z80. Регистр содержит 8 бит (1 байт). В Z80 имеется большой блок регистров, и пересылка байтов данных к регистрам и от них является простейшей и наиболее важной чертой программирования в машинных кодах.

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

Программный счетчик — это пара регистров, которые используются совместно, поэтому программный счетчик содержит 16-ти битные значения.

Когда инструкции выбираются, управляющее устройство использует информацию в программном счетчике как адрес ячейки памяти, содержащей команду, которая должна выполняться следующей. После выполнения команды значение в программном счетчике увеличивается.

Действие программного счетчика очень похоже на переменную РРС интерпретатора бэйсик, которая содержит номер текущей строки бэйсик и также наращивается.

Регистры пользователя (основные регистры).

Имеется 24 регистра пользователя. Все регистры однобайтовые, хотя обычно используются парами. Регистр А называется аккумулятором. Аккумулятор — основной регистр микропроцессора при различных операциях с данными. Большинство арифметических и логических операций осуществляется путем использования АЛУ и аккумулятора. Любая такая операция над двумя словами данных предполагает размещение одного из них в аккумуляторе, а другого — в памяти или еще в каком-нибудь регистре. Так при сложении двух слов, условно называемых А и В и расположенных в аккумуляторе и памяти соответственно, результирующая сумма загружается в аккумулятор, замещая слово А.

Регистр F — это флаговый регистр. Он часто рассматривается как набор восьми флаговых битов, связанных вместе, а не как отдельный регистр. Установление флага соответствует 1, сброс -0. Программист обычно имеет дело с 4-мя основными флагами. Это флаг нуля, флаг знака, флаг переноса и флаг четности-переполнения. Дополнительные флаги используются управляющим устройством и не могут быть использованы программистом непосредственно.

Регистровая пара HL.

При обращении к регистровой паре HL сначала указывается младшая часть (LOW), а затем старшая (HIGH). Память 64К может быть рассмотрена как 256 страниц по 256 адресов в каждой. В этом случае значение старшего байта указывает на используемую страницу.

В микропроцессоре регистровая пара HL является одной из трех регистровых пар, которые используется в качестве адресных регистров. В этом качестве регистровая пара HL является наиболее важной. Регистровая пара HL также может быть использована для хранения 16-ти разрядного числа, и существует определенный ряд арифметических операций, которые могут быть выполнены с этими числами. Н-регистр и L-регистр также могут быть использованы и как отдельные регистры, хотя с ними может быть выполнено ограниченное число операций.

Регистровая пара ВС и DE. Эти пары используются главным образом как адресные регистры. Регистры могут быть использованы как одинарные. Регистр В рекомендуется использовать в качестве счетчиков циклов.

Набор альтернативных регистров.

Z80 имеет альтернативный набор регистров для А,Р,Н,1ДС, D,E. Они обозначаются A’,F, и т.д. Существуют две специальные команды, которые позволяют обменивать основной и альтернативный набор регистров. После обмена для Z80 альтернативный набор становится основным, а основной — альтернативным.

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

Регистровые пары IX и IY используются для выполнения операции, которая включает индексацию. Это дает возможность работать со списком или таблицей. Начальный адрес списка или таблицы должен быть первоначально занесен в подходящую пару регистров IX иди IY. В программе монитора SPECTRUMa lY пара содержит адрес 23610 (5C3Ah), что является начальным адресом таблицы системных переменных. IX пара широко используется как указатель в программах обработки команд LOAD, SAVE, VERIFY, MERGE.

Указатель стека — это адресный регистр. Он используется для указания в памяти области машинного стека и всегда рассматривается как одинарный двухбайтовый регистр. Z80 использует стек, заполненный в памяти сверху вниз. Аналогией является магазин автомата — по принципу последний пришел, первым ушел. Указатель стека используется для указания различных размещений в области стека в каждом случае. Указатель стека всегда содержит адрес, куда последний раз была произведена запись. Поэтому управляющее устройство сначала уменьшает значение указателя стека, а затем помещает туда значение. Пересылка в стек двухбайтовая, и поэтому указатель стека должен быть дважды уменьшен при помещении в стек и дважды увеличен при выборке из стека. Машинный стек обычно используется как место сохранения адресов возврата, но можно использовать его как рабочую область.

Аналоги

Ввиду огромной популярности, аналоги Z80 выпускались множеством фирм по всему миру, все их перечислить вряд ли возможно. В странах СЭВ Z80 производили в ГДР под названиями U880 и 80A-CPU (выпускались варианты как в пластиковых, так и в металлокерамических корпусах) и в СРР под названием MMN80. При этом, по некоторым данным, ГДР-овский процессор не совсем соответствует своему прототипу: не выставляется флаг CY при выполнении команды OUTI (когда L=0), а также выявлено другое поведение скрытого регистра шины, видимого через недокументированные флаги F3 и F5.

К началу 1990-х свою версию Z80 (по распространенному в Сети мнению, советские варианты не были копиями, а именно аналогами) разработали в СССР на предприятии «Ангстрем» (Зеленоград) под названием Т34ВМ1. В серийном производстве отечественный Z80 назывался КР1858ВМ1. В начале 90-х в Минске на заводе «Транзистор» выпускался процессор КР1858ВМ3 — КМОП-вариант Z80.

Процессор 8085 также в какой-то мере можно назвать ответом на Z80.

Основные характеристики компьютера «Микро-80»

Процессор — КР580ВМ80
ОЗУ — 2КБ (в минимальной конфигурации), 16К-64К в случае установки модуля динамического ОЗУ
ПЗУ — 2КБ
Видео — текстовый режим 32 строки по 64 символа в строке, наличие инверсного курсора.
Клавиатура — 59 клавиш

Процессорный модуль.
Содержит в себе процессор КР580ВМ80 со схемами тактового генератора, шины управления и буферов шин данных и адреса.

Модуль памяти.
Содержит в себе 4КБ статического ОЗУ, собранного на 32-х микросхемах КР565РУ2. Возможен вариант 2КБ ОЗУ и 2КБ ПЗУ. Впрочем по выбору пользователя возможны любые варианты исполнения этого модуля.

Отладочный модуль.
Служит для облегчения отладки компьютера. Содержит в себе кроме платы с микросхемами целый пульт с тумблерами и светодиодами для отображения состояния шин компьютера. Отладочный модуль имеет широкие возможности для отладки работы железа и программ, кроме того с него можно самому вводить программы в память (благодаря режиму ПДП) и запускать их на выполнение. Т.е. можно проверять работу компьютера даже без установленного ПЗУ с «монитором».

Дисплейный модуль.
Служит для вывода алфавитно-цифровой информации на экран телевизора или монитора. Содержит собственное ОЗУ — 2КБ видео-ОЗУ и курсорное ОЗУ ёмкостью 2КБит. Модуль отображает текстовую информацию в 32 строки по 64 символа в строке. Графического режима нет — отображаемые на экране символы жёстко заданы в ПЗУ знакогенератора, но благодаря псевдографическим символам в знакогенераторе можно худо-бедно что-то нарисовать на экране. Модуль является самостоятельным устройством и может работать не только в составе Микро-80, но и с любым другим компьютером, который сможет обеспечить запись нужной информации в видео-ОЗУ. Интересно, но в видео-ОЗУ и ОЗУ курсора можно только записывать информацию, но не считывать. Это сделано для упрощения схемы дисплейного модуля. Впрочем при установке модуля динамической памяти с 64К ОЗУ области видео-ОЗУ и ОЗУ курсора становятся доступными для чтения.

Модуль клавиатуры.
Представляет собой порт на КР580ВВ55, к которому подключается клавиатура в виде матрицы кнопок.

Модуль сопряжения.
Представляет собой два порта, через которые идёт ввод/вывод на магнитофон.

Модуль динамического ОЗУ.
Служит для расширения объёма ОЗУ. Может содержать до 4-х банков ОЗУ на КР565РУ3 объёмом 16К (1 банк), 32К (2 банка), 48К (3 банка) и 64К (4 банка).

Планы на будущее

В моих ближайших планах (то есть, железо уже лежит в мастерской, просто надо найти время на пайку):

  • Покрасить всё это. Ноутбук сделан из фанеры, и его очень хочется чем-то покрыть.
  • Позиционирующее устройство типа джойстик. Соединить его с клавиатурным контроллером.
  • Отслеживание батареи. ADC на контроллере клавиатуры позволит достаточно легко отслеживать батарею, чтобы мне было понятно, на каком уровне заряд.
  • WiFi – у меня валяется ESP32 для запуска Zimodem! Вместе с телефоном в режиме точки доступа это должно позволить мне выходить в интернет в пути. Для CP/M есть хорошие терминальные приложения, однако было бы прикольно написать что-то типа IRC-клиента или простейшего веб-браузера. Также будет удобно использовать протокол передачи файлов Kermit на современный компьютер под управлением Linux.
  • Последовательный порт, доступный снаружи, для соединения с другой машиной (для него уже распечатан разъём, его нужно только припаять).
  • Светодиод, сообщающий текущий статус. Для него уже есть отверстие спереди – сейчас я планирую соединить его с сигналом доступа к SD-карте.

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

  • Как сильно можно разогнать Z80? Первый шаг – отвязать скорость процессора от пиксельного таймера, однако также будет интересно попробовать применить современные компьютерные техники к Z80 (конвейеры, переименование регистров, предсказатель переходов, и т.п.).
  • Может быть интересно добавить специальные ускорители для таких вещей, как операции с плавающей запятой. На чипе есть 1024 неиспользуемых DSP-блоков, и думаю, что никто ещё не пробовал построить ускоритель для 48-битного формата Real в TP.
  • Использовать существующее железо! У меня остаётся куча неиспользованной памяти, а именно:
  • 512 MB DDR3 SDRAM with a 64 bit data bus

128 MB DDR3 SDRAM with a 16 bit data bus

Apple ][

10 домашних компьютеров начала компьютерной эры-7

Apple II ( или Apple ][) — первый и весьма успешный серийный компьютер компании Apple, впервые представлен в 1977 году на выставке West Coast Computer Fair и стал одним из самых успешных компьютеров того времени. Он поставлялся со встроенной клавиатурой, разъемом для подключения кассетного магнитофона и поддерживал цветной вывод картинки в разных режимах ( текстовый, графический цветной с разрешением 280х192 и 6 цветами и графический низкого разрешения, 40х48, 16 цветов).

Компьютер был оснащен процессором MOS Technology 6502 с тактовой частотой 1 МГц, 4 КБ ОЗУ с возможностью расширения до 48 КБ и 4 КБ ПЗУ с программой мониторинга и интерпретатором Integer BASIC (Basic для целочисленных операций). Звук выводился на встроенный динамик, было предусмотрено 8 разъемов расширения, 1 для дополнительной оперативной памяти, остальные — для внешних устройств.

Процессор

Тут будет проще всего. Смотрим на сокет материнской платы и выбираем процессор. Можно делать наоборот, кому как по душе. Главное — добиться совместимости и корректной работы обоих устройств.

Процессор сам по себе довольно компактный, поэтому никаких его уменьшенных версий искать не придется. Можете выбрать любой, который вам нравится и который встанет на выбранную платформу.

На что нужно обратить внимание? Чтобы не потерять совместимость, придется изучить сокет — разъем на плате, а после подобрать для него чип. Также проследите за тем, чтобы он был не сильно «горячий», поскольку с системой охлаждения в мини-ПК туго.

Процессор для мини-ПК

Также стоит сразу подумать о том, будете ли вы покупать видеокарту и поместиться ли она в корпус. Если вы планируете строить систему базовую, то можно выбрать процессор с интегрированной видеокартой. Для игровых систем придется подобрать адаптер.

Вторичные компоненты

Это различные внутренние компоненты ПК, которые могут оказаться полезными, но которые необязательны для работы компьютера. Это оптический привод, звуковая карта, вентиляторы, установленные на корпусе, а также ряд карт расширения.

Дисковод

как собрать игровой компьютер самому

Было время, когда оптический привод, то есть дисковод, был обязательным для любого ПК, поскольку CD и DVD были наиболее популярным носителем данных. Твердотельная память не была достаточно развитой, и Интернет был очень медленным по сравнению с тем, что мы имеем сегодня, поэтому альтернативы почти не было. И сегодня стоит задуматься, а нужен ли CD/DVD дисковод?

Если у вас много компакт-дисков, DVD-дисков или дисков Blu-Ray, которые вы, возможно, захотите вставить в свой компьютер, то можете приобрести внутренний или внешний оптический дисковод. Единственное, что вам нужно иметь в виду, это то, поддерживает ли привод только CD и DVD, или он также совместим с дисками Blu-Ray. Последние диски стоят дороже, но они все еще стоят вложений, если они вам действительно нужны.

Звуковая карта

звуковая карта

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

Единственная причина, по которой можно купить выделенную звуковую карту, заключается в том, что вам необходим надлежащий объемный звук 5.1 или 7.1, поскольку большинство специализированных звуковых карт имеют все необходимые входы и вычислительную мощность для обработки объемного звука.

Если вы планируете использовать только стереодинамики 2.0/2.1 и наушники, вам не нужно вкладывать деньги в звуковую карту. Но если встроенный чип выходит из строя, вы можете легко заменить его, не покупая совершенно новую материнскую плату.

Разные карты расширения

создание игрового компьютера

Карты расширения представляют собой разнообразную категорию карт на основе PCIe с различными функциями. Они могут включать внутренние модемы, адаптеры Wi-Fi, а также различные расширения портов ввода/вывода. Однако, как и в случае со звуковыми картами, они в основном не нужны, поскольку материнские платы часто имеют все функции, которые вам могут потребоваться.

Кулер

как собрать компьютер

Как следует из названия, это вентиляторы, установленные на корпусе, которые обеспечивают дополнительное охлаждение за счет улучшения воздушного потока внутри корпуса.

Это совершенно необязательно, но настоятельно рекомендуются получить как минимум один или два, особенно если планируете купить большую видеокарту, которая будет сильно нагреваться. Более того, вентиляторы со светодиодным или RGB-освещением также могут внести свой вклад в вашу систему в отделе эстетики.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector