- Гигатрон — самодельный микрокомпьютер без процессора
- Немного теории
- История создания
- Почему такие старые чипы?
- Зачем все это нужно?
- Что можно запускать?
- UDP: Видео со встречи
- Про Хакспейс Нейрон
- Собираем 8-битный компьютер: как уменьшить количество микросхем до шести
- Стандартный трюк
- Компактный компьютер
- Гигатрон — самодельный микрокомпьютер без процессора
- Немного теории
- История создания
- Почему такие старые чипы?
- Зачем все это нужно?
- Что можно запускать?
- Обзор от EEVblog
Гигатрон — самодельный микрокомпьютер без процессора
Микрокомпьютер Gigatron — это минималистичный 8-битный ретро-компьютер построенный по необычному дизайну: в нём нет никаких сложных логических интегральных схем, нет даже микропроцессора! Его CPU построен на классических логических элементах серии 7400, также известных как микросхемы на ТТЛ-логике. По сути все элементы компьютера разом и есть процессор. Эти простые чипы не только формируют CPU, но ещё и выполняют все задачи, которые обычно требуют дополнительной периферии. Несмотря на простую и компактную конструкцию, Gigatron работает как 8-битный одноплатный микрокомпьютер, на котором можно играть в видеоигры.
Гигатрон — хобби-проект Уолтера Белгера, хакера, специалиста по информационной безопасности и ныне директора по информационной безопасности компании Philips. В этот понедельник 9 сентября Уолтер приезжает в наш Хакспейс, где будет рассказывать об устройстве Гигатрона, истории создания проекта и покажет его живьем.
Под катом подробнее про Гигатрон и анонс встречи с создателем в Москве.
Немного теории
Транзисторно-транзисторная логика — разновидность цифровых логических схем, построенных на основе биполярных транзисторов и резисторов. Название транзисторно-транзисторный возникло из-за того, что транзисторы используются как для выполнения логических функций (например, И, ИЛИ), так и для усиления выходного сигнала (в отличие от резисторно-транзисторной и диодно-транзисторной логики (ДТЛ)).
Упрощённая схема элемента 2И-НЕ
В основе ТТЛ-элемента лежит многоэмиттерный биполярный транзистор. Если хотя бы на один из его эмиттеров подано напряжение 0В — транзистор будет находиться в режиме насыщения и на его коллекторе будет присутствовать логический ноль. В зависимости от схемы входного и выходного каскадов, мы получим ту или иную логическую операцию нашего элемента.
Старый TTL-чип SN7400 выпущенный в 70-х годах
В 80-х годах на ТТЛ-чипах было произведено много игровых автоматов, а также некоторые бытовые компьютеры. Наиболее известных из них Apple I, над которым трудился Стив Возняк.
Пример такого компьютер Apple 1, он тоже сделан на TTL логике, но все же имеет микропоцессор.
Компьютер Apple I частично построен на TTL-логике но имеет микропроцессор
История создания
Автор изначального концепта — Marcel van Kervinck. Он собрал первый прототип Гигатрона на макетной плате. Весь процесс от разработки до конечного проекта зафиксирован здесь: hackaday.io/project/20781/logs
Компьютер работает на тактовой частоте 6.25 MHz и выполняет одну 8-битную операцию за цикл.
Первая версия гигатрона собранная на макетной плате
Почему такие старые чипы?
Из интереса, и чтобы лучше понимать базовую архитектуру компьютера. А также чтобы поковыряться с железом которое у нас было на тот момент. В декабре 2016 нас забавляла идея собрать компьютер на ТТЛ-чипах, который будет достаточно мощный для игры в крестики-нолики на LED-экране 8×8. В конце концов, нечто подобное должен сделать каждый инженер хотя бы раз в жизни.
Зачем все это нужно?
На гигатроне можно изучать фундаментальные принципы работы современных компьютеров и процессоров. Из-за того что все элементы компьютера достаточно примитивны, принцип их работы может понять даже начинающий инженер. К тому же это просто весело!
Что можно запускать?
Попробовать компьютер в работе можно на программном эмуляторе gigatron.io/emu
В стандартной прошивке доступны:
- Игра змейка
- Игра racer
- Игра крестики-нолики
- Игра тетрис
- Множество Мандельброта — программа для рисования фракталов
- Программа для просмотра изображений
- Загрузчик для программ
- Среда BASIC
- WozMon — классический редактор памяти и монитор памяти Стива Возняка для Apple I
UDP: Видео со встречи
Уолтер Белгерс (Walter Belgers) — один из создателей Гигатрона, хакер, работавший в информационной безопасности всю свою жизнь, в основном как пен-тестер, и в данный момент являющийся директором по информационной безопасности компании Philips. По совместительству, председатель Toool – Открытой Организации Взломщиков Замков (The Open Organization of Lockpickers). Уолтер паял еще в 70-х, но никогда до этого он не строил настоящий компьютер целиком.
Про Хакспейс Нейрон
Хакспейсе Нейрон — сообщество гиков и техноэнтузиастов в центре Москвы. У нас регулярно проходят мероприятия для людей увлекающихся технологиями и их нестандартным применением. В остальное время у нас всегда доступны рабочие места для инженеров: с паяльником, осциллографом и всем необходимым для DIY, конструирования и проектирования электроники. А еще у нас можно поиграть в приставки и настолки в творческом кругу задротов.
Источник
Собираем 8-битный компьютер: как уменьшить количество микросхем до шести
В 8-битных системах есть что-то перманентно притягательное: вы можете собрать автономную систему, достаточно мощную, чтобы поддерживать адекватное взаимодействие с пользователем, но достаточно простую, чтобы собрать и запрограммировать её самостоятельно. Большинство современных 8-битных машин, созданных любителями, завязаны на классических процессорах, которые жили в золотой век домашних компьютеров 1980-х годов, когда в качестве дисплеев использовали миллионы телевизоров. Вначале была идея собрать свою машину на базе процессора Motorola 6809 из той же эпохи. Я пытался использовать как можно меньше микросхем, но несмотря на мои старания, мне всё ещё нужно было 13 дополнительных микросхем для работы с ОЗУ и последовательной передачи данных. Тогда я задумался: а что, если я использую более современный 8-битный процессор? Насколько сильно при этом я смогу снизить количество необходимых мне микросхем?
В результате я собрал на нём машину, которая получила название Amethyst . Как любой домашний компьютер, он имеет встроенную клавиатуру и может выдавать аудио и видео. Он также имеет встроенный язык программирования высокого уровня, чтобы пользователи могли писать на нем собственные программы. Мне удалось сократить количество микросхем до шести: ATMEGA1284P CPU, USB-интерфейс и четыре простые интегральные схемы.
ATMEGA1284P (или 1284P) 2008 года выпуска имеет 128 килобайт флеш-памяти и 16 килобайт ОЗУ. Он может работать с частотой до 20 мегагерц. У него на борту есть встроенные контроллеры последовательного интерфейса и 32 цифровых входа / выхода.
Благодаря встроенной памяти и последовательным интерфейсам пропала необходимость в использовании многих вспомогательных чипов. Я мог напрямую генерировать аудио, прерывая и подавая сигнал на ввод / вывод с разной частотой. Таким образом я научился выдавать тон, который, правда, обладал характерной резкостью прямоугольной волны. Но как насчёт генерации аналогового видеосигнала? Неужели для этого потребуется специальное оборудование?
Стандартный трюк
В конце 2018 года я увидел трюк, который Стив Возняк использовал в 1970-х годах, чтобы реализовать в Apple II поддержку цветной графики. В США этот трюк применялся для цветного телевещания в системе NTSC ещё в 1950-х годах.
Изначально американское телевидение было только чёрно-белым и использовало довольно простой стандарт NTSC (разработанный Национальным комитетом по телевизионным системам). Для формирования изображения на экране электронный луч прорисовывал точки на его поверхности, ряд за рядом. Амплитуда принимаемого видеосигнала определяла яркость луча в любом заданном месте вдоль ряда. Затем в 1953 году NTSC был модернизирован для поддержки цветного телевидения, с сохранением совместимости с существующими чёрно-белыми телевизорами.
Инженеры решили представить информацию о цвете в виде высокочастотного синусоидального сигнала. Для этого поднесущая разделялась на два компонента с фазовым сдвигом 90°, каждая из которых подвергалась модуляции. В результате получался сигнал, модулированный и по амплитуде, и по фазе. Амплитуда сигнала определяла насколько ярким должен быть цвет. Этот высокочастотный сигнал цветности затем добавлялся к низкочастотному сигналу яркости для создания так называемого композитного видеосигнала. Такой метод до сих пор применяется для многих телевизоров и более дешевых дисплеев.
«Цифровой аналог»: аналоговый композитный цветной видеосигнал, используемый американскими телевизорами [вверху слева], совместим с чёрно-белыми ТВ, поскольку сигнал яркости маскирует высокочастотный синусоидальный сигнал цветности [пунктирная линия]. Фильтрующие контуры разбивают сигнал внутри телевизора. При достаточно высокой скорости передачи битов цифровой сигнал [внизу слева] будет восприниматься так, как если бы он был аналоговым сигналом: разные битовые комбинации дают разные цвета. В этом примере с двумя битами на пиксель можно получить шесть цветов [показано четыре], но более высокая скорость передачи битов позволяет использовать больше цветов.
Чёрно-белый телевизор воспринимает сигнал цветности как шум и игнорирует его. Но цветной телевизор может отделить сигнал цветности от сигнала яркости с помощью фильтрующих контуров.
В 1970-х годах инженеры поняли, что эта схема фильтрации может быть очень полезна для домашних компьютеров, поскольку она позволяет цифровому прямоугольному сигналу имитировать большую часть композитного аналогового сигнала. Поток нулей, отправленный компьютером на телевизор будет воспринят как постоянное низкочастотное аналоговое напряжение, то есть, чёрный цвет. Поток единиц будет рассматриваться как постоянное высокочастотное напряжение, то есть белый цвет. Но при достаточно высокой скорости передачи битов возникнут более сложные двоичные структуры, которые схемы высокочастотной фильтрации распознают как сигналы цветности. Этот трюк позволил Apple II отображать до 16 цветов.
Сначала я подумал, что нужно очень быстро переключать пин ввода / вывода, чтобы напрямую генерировать видеосигнал. Однако вскоре я понял, что с моим 1284P, работающим на тактовой частоте 14,318 МГц, я не смог бы переключать его достаточно быстро, чтобы отобразить более четырех цветов. Дело в том, что его встроенным последовательным интерфейсам потребовалось бы два тактовых цикла для отправки одного бита, что ограничило бы мою тактовую частоту до 7.159 МГц. Apple II для подключения своей внешней микросхемы к видеовыходу использовал быстрый прямой доступ к памяти, в то время как его ЦП был занят внутренней обработкой. Но, поскольку оперативная память моего компьютера интегрирована в микросхему, я не мог использовать этот подход.
Поэтому я заглянул в свои ящики и вытащил четыре микросхемы серии 7400 — два мультиплексора и два параллельно-последовательных сдвиговых регистра. Я смог параллельно установить восемь выводов 1284P и отправлять с них данные одновременно в мультиплексоры и регистры сдвига, которые преобразуют их в высокоскоростной последовательный поток битов. Таким образом, я научился генерировать биты достаточно быстро, чтобы отображать на экране около 215 различных цветов. Однако мне пришлось заплатить за это своей вычислительной мощностью: обработка видеосигнала постоянно съедает 75% ресурсов процессора.
Компактный компьютер
Amethyst — это одноплатный компьютер. Он собран всего из шести интегральных микросхем — процессор, USB-интерфейс и четыре микросхемы серии 7400, которые служат для создания 215-цветного изображения. Клавишные переключатели припаяны непосредственно к плате, которая также поддерживает аудио и четыре последовательных соединения ввода / вывода для периферийных устройств, таких как игровые контроллеры и устройства хранения данных. Писать программы и запускать их можно благодаря встроенной виртуальной машине Forth.
Мне нужна была легковесная среда программирования для пользователей, что и заставило меня выбрать Forth вместо традиционного Basic. Forth — это старый язык программирования для встраиваемых систем, он поддерживает интерактивность и способен эффективно компилировать код. С ним вы можете сделать достаточно много, используя минимальное количество ресурсов. Поскольку 1284P не позволяет выполнять скомпилированный машинный код непосредственно из его ОЗУ, пользовательский код вместо этого компилируется в промежуточный байт-код. Этот байт-код затем подаётся в качестве входных данных на виртуальную машину, запущенную из флэш-памяти 1284P. Код виртуальной машины был написан на ассемблере и оптимизирован вручную, чтобы сделать его максимально быстрым.
Как инженер, работающий в компании, которая производит лазерные 3D-принтеры, я имею доступ к передовым станкам для лазерной резки. Так что я легко спроектировал и изготовил деревянный корпус (подсмотрел отделку под дерево у Atari 2600 ). Механические переключатели клавиатуры были припаяны непосредственно к одиночной печатной плате Amethyst. У этой клавиатуры есть одна любопытная особенность — отсутствие привычного всем большого пробела. Вместо него — просто кнопка, скромно расположившаяся над клавишей Enter.
Полная схема, PCB-файлы печатной платы и исходный код доступны в моем репозитории на GitHub . Так что вы можете создать свой собственный Amethyst или даже улучшить мой проект. А вдруг вы сможете придумать, как сэкономить ещё парочку микросхем?
Источник
Гигатрон — самодельный микрокомпьютер без процессора
Микрокомпьютер Gigatron — это минималистичный 8-битный ретро-компьютер построенный по необычному дизайну: в нём нет никаких сложных логических интегральных схем, нет даже микропроцессора! Его CPU построен на классических логических элементах серии 7400, также известных как микросхемы на ТТЛ-логике. По сути все элементы компьютера разом и есть процессор. Эти простые чипы не только формируют CPU, но ещё и выполняют все задачи, которые обычно требуют дополнительной периферии. Несмотря на простую и компактную конструкцию, Gigatron работает как 8-битный одноплатный микрокомпьютер, на котором можно играть в видеоигры.
Гигатрон — хобби-проект Уолтера Белгера, хакера, специалиста по информационной безопасности и ныне директора по информационной безопасности компании Philips. В этот понедельник 9 сентября Уолтер приезжает в наш Хакспейс, где будет рассказывать об устройстве Гигатрона, истории создания проекта и покажет его живьем.
Под катом подробнее про Гигатрон и анонс встречи с создателем в Москве.
Немного теории
Транзисторно-транзисторная логика — разновидность цифровых логических схем, построенных на основе биполярных транзисторов и резисторов. Название транзисторно-транзисторный возникло из-за того, что транзисторы используются как для выполнения логических функций (например, И, ИЛИ), так и для усиления выходного сигнала (в отличие от резисторно-транзисторной и диодно-транзисторной логики(ДТЛ)).
Упрощённая схема элемента 2И-НЕ
В основе ТТЛ-элемента лежит многоэмиттерный биполярный транзистор. Если хотя бы на один из его эмиттеров подано напряжение 0В — транзистор будет находиться в режиме насыщения и на его коллекторе будет присутствовать логическая единица. В зависимости от схемы входного и выходного каскадов, мы получим ту или иную логическую операцию нашего элемента.
Старый TTL-чип SN7400 выпущенный в 70-х годах
В 80-х годах на ТТЛ-чипах было произведено много игровых автоматов, а также некоторые бытовые компьютеры. Наиболее известных из них Apple I, над которым трудился Стив Возняк.
Пример такого компьютер Apple 1, он тоже сделан на TTL логике, но все же имеет микропоцессор.
Компьютер Apple I частично построен на TTL-логике но имеет микропроцессор
История создания
Автор изначального концепта — Marcel van Kervinck. Он собрал первый прототип Гигатрона на макетной плате. Весь процесс от разработки до конечного проекта зафиксирован здесь: hackaday.io/project/20781/logs
Компьютер работает на тактовой частоте 6.25 MHz и выполняет одну 8-битную операцию за цикл.
Первая версия гигатрона собранная на макетной плате
Почему такие старые чипы?
Из интереса, и чтобы лучше понимать базовую архитектуру компьютера. А также чтобы поковыряться с железом которое у нас было на тот момент. В декабре 2016 нас забавляла идея собрать компьютер на ТТЛ-чипах, который будет достаточно мощный для игры в крестики-нолики на LED-экране 8×8. В конце концов, нечто подобное должен сделать каждый инженер хотя бы раз в жизни.
Зачем все это нужно?
На гигатроне можно изучать фундаментальные принципы работы современных компьютеров и процессоров. Из-за того что все элементы компьютера достаточно примитивны, принцип их работы может понять даже начинающий инженер. К тому же это просто весело!
Что можно запускать?
Попробовать компьютер в работе можно на программном эмуляторе gigatron.io/emu
В стандартной прошивке доступны:
- Игра змейка
- Игра racer
- Игра крестики-нолики
- Игра тетрис
- Множество Мандельброта — программа для рисования фракталов
- Программа для просмотра изображений
- Загрузчик для программ
- Среда BASIC
- WozMon — классический редактор памяти и монитор памяти Стива Возняка для Apple I
Обзор от EEVblog
Источник