Что общего между популярным у хоббистов компьютером Синклер ZX Spectrum и космической станцией Juno, которая сейчас вращается вокруг Юпитера? И на одном, и на другом стоит процессор с архитектурой Zilog. На Синклере просто Z80, а на Juno - радиационно стойкий Y180-S. Y180-S спроектировал Монте Далримпл (Monte J. Dalrymple), выпускник Беркли, который проработал 16 лет в Zilog, после чего сделал собственный бизнес, компанию под названием Systemide.
Мы связались с Монте и он согласился выступить перед российскими слушателями, рассказать о всяких занятных ситуациях при проектировании процессоров.
Вы можете послушать Монте в эту субботу, во время занятия Сколковской Школы Проектирования Цифровых Схем в 12 часов. Одна из причин, почему мы пригласили Монте - он недавно спроектировал учебный процессор с архитектурой RISC-V - (книга, исходники), а мы как раз собираемся поупражняться на FPGA плате с синтезом еще более учебного процессора под названием schoolRISCV .
schoolRISCV - это минималистический процессор, его структуру может понять любой способный школьник олимпиадного типа. schoolRISCV спроектировал Станислав Жельнио, который вообще-то работает в компании Syntacore, где Станислав проектирует ядра на три порядка большего размера (по числу строк на языке описания аппаратуры), чем schoolRISCV.
RISC-V ядро от Монте находится посередине между schoolRISCV и high-end ядрами от Syntacore. С одной стороны, ядро от Монте поддерживает спецификацию RISC-V до уровня практического использования, в отличие от schoolRISCV, которое поддерживает только очень небольшое подмножество.
С другой стороны, ядро от Монте - это ядро микроконтроллерного класса, без кэшей, без виртуальной памяти и без внеочередного выполнения инструкций. При этом в ядре Монте есть статический конвейер с шестью стадиями и байпасами. Оно также поддерживает компрессированную (16/32) систему команд переменной длины (такая система команд входит в спецификацию RISC-V как расширение). И атомарные операции - они полезны для параллельного программирования.
Вот schoolRISCV:
Теперь как подготовиться к занятию в субботу 18 декабря 2021. Занятие будет называться:
Микроархитектура однотактового процессора
В него будет входить:
Лекция по устройству однотактового процессорного ядра schoolRISCV, его взаимодействию с программами и вводом / выводом.
Демонстрация симуляции процессора schoolRISCV в среде Siemens EDA / Mentor: ModelSim Starter Edition и Questa Advanced Simulator. Использование средств просмотра сигналов (waveform viewer) для отладки.
Демонстрация синтеза процессора и запуск его на платах.
Упражнение по добавлению в процессор инструкции и верификации этого изменения с помощью программного теста. Измерение максимальной тактовой частоты получившегося варианта процессора.
Рассказ ветерана компании Zilog Монте Далримпла (Monte J. Dalrymple) о его работе над различными вариантами Z80, процессорами Rabbit, варианта 8051, реализации RISC-V, блоков контроллеров памяти, последовательных портов, контроллеров телевизоров и кэша в жестком диске, и т.д. и т.п. Монте работал и как рядовой инженер, и как менеджер проекта, и как консультант, и как основатель собственной компании Systemide. Монте менеджировал группу из 25 инженеров и в частности руководил проектом Z380 - 16/32 битного процессора, который позиционировался как следущий Zilog, таким же образом как Intel 80x86 вырос из Intel 8080.
Ведущие:
Александр Михайлович Силантьев, преподаватель Национального исследовательского университета «Московский институт электронной техники» (МИЭТ).
Михаил Коробков, fpga-systems.ru.
Монте Далримпл (Monte J. Dalrymple), основатель Systemyde International Corporation и ветеран компании Zilog.
Чтобы посетить занятие в Сколково или получить инструкции как участвовать в занятии удаленно, просьба послать емейл Александру Биленко info@chipexpo.ru.
Что желательно сделать перед занятием:
Сначала нужно скачать пакет упражнений:
ChipEXPO 2021 Digital Design School package v2.5
https://bit.ly/chipexpo2021dds25
Прямая ссылкаУпражнения работают и под Linux, и под Windows, но для Windows вам нужно скачать Git и GNU Make. Это связано с тем, что упражнения используют мейкфайлы (для этого нужен GNU Make) и некоторые команды, которые есть внутри дистрибутива Git, который включает в себя MINGW64, который содержит команды типа rm, которые использует make (не волнуйтесь, там нет rm -rf /). Вам не нужно входить в bash, чтобы запустить make, все работает и в обычном Windows cmd.
Git для Windows https://gitforwindows.org/
GNU Make for Windows http://gnuwin32.sourceforge.net/downlinks/make.php
Все это хозяйство нужно поставить в PATH:
C:\Program Files\Git\cmd
C:\Program Files\Git\mingw64\bin
C:\Program Files\Git\usr\bin
C:\Program Files (x86)\GnuWin32\bin - сюда я поставил makeВам также нужно установить IntelFPGA Quartus Prime Lite Edition v21.1 . Обратите внимание, что скачивать и ставить нужно именно Lite версию, а не Pro и не Standard, кроме того случая, если вы хотите подарить пять тысяч долларов Интелу.
Если Quartus под Линуксом не будет прошивать платы, вы можете попробовать взять файл 100-altera.rules и скопировать его в директорию /etc/udev/rules.d с помощью sudo cp:
sudo cp 100-altera.rules /etc/udev/rules.d
а потом перезагрузится или перезапустить udev (спросите у линуксного админа как). Это часто решает проблему.Еще желательно скачать и установить Icarus Verilog и GTK Wave - см. как .
-
Можно просмотреть слайды для следущего занятия, они находятся в пакете:
ce2020labs/day_3/doc/schoolRISCV_slides_ru.pdf ce2020labs/day_3/doc/schoolRISCV_steps_ru.pdf
Само занятие будет 18 декабря в Технопарке Сколково, Капсула № 2 с 12:00 до 15:00. Как добираться в Сколково (платформа «Инновационный Центр»):
Проще всего по МЦД-1 (с Белорусского вокзала обычные электрички каждые 5-10 минут(в пути 25 минут), экспресс каждые пол-часа (в пути 17 минут);
Пересадка на МЦД-1 на станциях метро Беговая, Славянский бульвар, Кунцево. Далее пешком 10 минут до БЦ "Амальтея", пройти через БЦ до входа в Технопарк).
Если вам понравится конструировать простейший процессор, вы можете углубить и расширить - вплоть до суперскаляра, многоядерных кластеров, гетерогенных систем на кристалле с GPU, нейроускорителей итд. Для начала этого пути вот-вот выходит совершенно незаменимая книжка Харрисов, которые сделали вариант своего учебника для архитектуры RISC-V. Предзаказ и PDF оглавления и предисловия :
В файлах книжки есть очень класная шпаргалка по системе команд RISC-V, она пригодится во время занятия:
Кстати, космический процессор Монте вы тоже можете запустить на FPGA плате. Вот его мануал и книжка по его дизайну. Так как он совместим с Z80, вы можете использовать его для своего варианта Синклера на FPGA. А если вы задизайните на FPGA видеоконтроллер TMS9918 компании Texas Instruments, то вы можете скомбинировать его с Z80 от Монте и сделать аналог компьютера MSX Yamaha, которые завозили в СССР при Горбачеве. И даже запустить на нем ямаховские игры. Вот как выглядела моя любимая игра Knightmare в 1987 году:
Комментарии (6)
forthuser
16.12.2021 21:37Оставлю это здесь.
Какие компьютеры были в 80-х годах на Z80, 6502… и какое для них создавали ПО и Демо.
Tiny Emulators (Эмулирование разного 8-ми битного ретро Z-80, 6502… комп. железа и запуск и в браузере подборки некоторых демо, игр и другого софта можно и отладчик запустить)
https://floooh.github.io/tiny8bit/
(перейдя по ссылке можно даже и «попрограммировать» в некоторых представленных образах программ) ????YuriPanchul Автор
16.12.2021 22:41вау! Это круто. CP/M. Я запустил ее в лесу под Новосибирском в 1986 году
axe_chita
17.12.2021 05:04+2А если вы задизайните на FPGA видеоконтроллер TMS9918 компании Texas Instruments
Уже запилили:)
Creating the F18A – An FPGA-based TMS9918A VDP
и вот тут
tms9918.vhd
KeisN13
Не хватает пары переменных, вот полный список в PATH (в системной переменной)
C:\Program Files\Git\cmd
C:\Program Files\Git\mingw64\bin
C:\Program Files\Git\usr\bin
C:\Program Files (x86)\GnuWin32\bin
C:\iverilog\bin
C:\iverilog\gtkwave\bin
YuriPanchul Автор
Да, спасибо