Pull to refresh

Comments 52

Некоторые статьи описания компьютера

Часть 1
Часть 2

Разрешение вывода картинки 160х120 (64color) вывод на VGA разъём, частота компьютера 6.25 МГц потребление <90 mA на выбранной серии логики для питания от USB (но может быть и 12,5МГц на другой серии логики, но и потребление значительно возрастает до ~500 -800 mA)

системный язык GTL с элементами дизайна унаследованные из Форт и Лисп инкапсулирующий простейшую аппаратную систему команд компьютера в некоторую более функциональную абстракцию vCPU (виртуальный процессор)

Gigatron on STM32F405
(также есть и его реализации уже на FPGA, а также стороняя разводка платы на Github в Eagle :)
Один из симуляторов данного компьютера

P.S. Репозиторий проекта на Github
Форум проекта

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

"частота компьютера 6.25 МГц потребление <90 mA на выбранной серии логики для питания от USB" — 74HC это же аналоги наших К155? Фантастика какая то для рассыпухи на такой частоте.

155-ые — это когда 74 без букв, а 74HC — это 1564, гораздо более быстрый КМОП аналог, до 30 МГц.

Тогда становится ясно почему так мало жрут, во времена спеков такие серии были нам недоступны

UFO just landed and posted this here

Наверное их не было у нас, потому что мы не жили в ДС :) 555 серию было найти с трудом

Там ещё есть серии:

74AC — КР1554
74LS — КР555 (хорошо использовались при сборке ZX-Spectrum )
74ALS — КР1533
74AS — КР1530
74F — КР1531
74AC — КР1554
74S — КР531
74A — КР131
Ну и SN7400 — KP155, 74H — КР131, SN54 — КР133, SN54H — КР130, SN54S — КР530,…

по потреблению и быстродействию они все разные и, например, в «Чип и Дип» цены на них могут отличаться в разы!

Но, конечно, сборка на рассыпухе компьютера Gigatron не очень бюджетное занятие. (хотя казалось бы и найти полный комплект ещё тот квест, Spectrum проще было собрать в своё время, а сейчас МК контроллеры AVR, STM32, STM8, MSP430, PIC… всё вытеснили :)
Сами разработчики уже отправили больше 500-т комплектов потребителям и даже в крупные корпорации.

P.S. Но, вроде, 74HC совместима по входам с 74HCT (по выходам требуются дополнительные резисторы), но в схемотехнике данного компьютера (и западных традициях) смешивание серии одних элеиентов с другими в порядке вещей.

Спасибо кстати за табличку, сохранил. Недавно ZX Nuvo собирал как раз на 74LS. Оказалось что разраб платы рядом живёт, даже EEPROMки предлагал прошить :) Столько положительных эмоций от сборки получил.

> 74HC это же аналоги наших К155?

Ага. А доллары аналоги наших баксов.

74HC вовсе не TTL, а CMOS (КМОП). Просто специально совместима с 74 TTL.

нет, 74HC не совместима, совместима только 74HCT
Чем-то напоминает компьютеры, которые делают из редстоуна в Minecraft – там тоже все строится на базовых логических элементах, нет готового микропроцессера.
Был до какой то версии в MineCraft проект RP2 (Red Power 2)
там был минимальный компьютер с MinOS (архитектурно вроде 6502 процессор)
— Зачем все это нужно?
— Изучать фундаментальные принципы работы современных компьютеров и процессоров.
— Попробовать компьютер в работе можно на программном эмуляторе.
Компьютер *построен* для изучения принципов работы современных компьютеров, но можно *также* использовать эмулятор для того, чтобы не «убить» реальную машину своими не тестированными программами. То есть эмулятор для изучения ОС компьютера или для тестирования. Также, следуя вашей логике, зачем такие проекты как qemu, virtualbox, vmware и другие?
Следуя моей логике, для изучения компьютера достаточно эмулятора компьютера, а не покупать какой-то новый старый нетипичный неподдерживаемый компьютер, который ещё и спалить как пить дать.

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

P.S. Я это к тому, что не вам решать, делать кому-то компьютер из говна и палок старинных микросхем, или нет
А вы, наверное, хотите видеть только угодные вам комментарии? Я не решаю, что вам делать, а указывают на огромную проблему, про которую забыли написать в статье. Если вам кажется, что люди любят выкидывать деньги на ветер, то я готов рассказать им правду. Если вам понравилась эта «микросхема», не надо спрашивать у меня разрешения на её покупку, а я не буду спрашивать у вас разрешение на высказывание своей позиции.
А в каком месте я кому-то что-то запрещал?
А в каком месте я кому-то что-то запрещал?
Если бы не было увлечённых инженеров, раздвигающих горизонт понимания технологий, то мы бы до сих пор считали на счётах. :)
Homebrewcpuring

P.S. Гдето на форуме Гигатрон была дискуссия о возможности сделать подобный дизайн компьютера в 1979г на имеющихся тогда комплектующих…
минималистичный 8-битный ретро-компьютер построенный по необычному дизайну: в нём нет никаких сложных логических интегральных схем, нет даже микропроцессора! Его CPU построен на классических логических элементах серии 7400
Милленниалы открывают для себя микросхемы низкой степени интеграции, ну реально.
Что значит «необычный дизайн»? Тогда все вычислители строились так. (Немного) необычно было бы, если там был ТТЛ-процессор на одном чипе. А так люди взяли микропроцессорный комплект микросхем и собрали из него микропроцессор, вот это да.

нет никаких сложных логических интегральных схем
Конечно, декодер инструкций прост, как пять копеек. И два чипа памяти тоже, но окей, они не являются логикой.

И самое главное: 74HC — это не ТТЛ. Они совместимы с классическими ТТЛ 74 серии по электрическим уровням, но начинка у них КМОП, что позволяет добиться гораздо лучших параметров по скорости и энергопотреблению.
строго говоря, по электрическим уровням с ТТЛ совместима серия 74HCT, а у серии 74HC чисто КМОП-овские уровни.
Необычность в том, что в качестве основы взята простейшая тьюринг полная система команд ядра компьютера и созданна система команд vCPU
(микропрограмма в терминологии дизайна микропроцессорных секций)
+ данное решение позволило и программно сделать вывод на VGA.

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

но у разработчика была бы определённая гибкость в создании своего vCPU или попытке написания генератора кода на исходной доступной системе команд «регистровых» пересылок. Это уже близко к решениям использования FPGA, но в чём то проще, хотя и с ограничениями.

P.S. А так да, сделано всё по классике, но на рынке нет контроллеров с возможностью изменения штатно микропропрограммы контроллера.
Вроде ещё выпускаются многокристальные микропроцессорные секции, но доступны ли они «радиолюбителям» и какие у них скоростные характеристики и потребление?
Смогут ли они конкурентно «обойти» дизайн принятый в Gigatron проекте, если данную разработку выпустить в виде одной микросхемы.

О чём и речь выше решений на базе FPGA, но это несколько иная ниша и превращения конечного решения в ASIC дорого для радиолюбительских целей.

Дополнение на ответ ниже:

P.P.S. Что за ASIC может получиться, если пытаться реализовать функциональный вариант
проекта ZX-UNO (даже не представляю) и вряд ли окупаемо в малых потребительских тиражах.
Если бы такой аппаратный дизайн ядра компьютера был доступен в ввиде одной микросхемы
1. Прошиваете дизайн в любую маленькую ПЛИС.
2. Отлаживаете.
3. Переносите дизайн с ПЛИС в ASIC на каком-то дешёвом техпроцессе, производите. Стоимость производства полусотни штук будет в районе 5-10 тысяч евро.
4. Сравниваете получившееся с любым однокристалльным MCS51 или AVR8.
Зачем такие сложности?
Можно же «скорпусировать» в рамках одного корпуса и уже представленное решение Gigatron на базе использованых микросхем, возможно в чём то выиграв при этом в технико-технических характеристиках.

P.S. Какая получится конкуренция c MCS51, AVR… сложно сказать, т.к. в этом случае необходима оценка целевого использования процессора в решаемой задаче + с наличием какого то используемого сопутствующего инструментария (компиляторы, отладчики ...) но возможно какой то резон есть.
Возможно данное решение может ещё как то масштабироваться с использованием связки в несколько «Gigatron-микросхем».
Интересно как видят это разработчики.

Вот такой процессор-миникомпьютер уже встраивали в мышь 20-ть лет назад F21 in a Mouse
Зачем такие сложности?
Можно же «скорпусировать» в рамках одного корпуса
Так вы определитесь, вам в одном корпусе или на одном чипе? В прошлом посте было «на одном чипе», я привел простейший процесс переноса дизайна с рассыпухи на один чип. Если все те же кристаллы запихнуть в один корпус, тоже заработает, и лучше, чем на плате, но это будет хуже, чем на одном кристалле. И, опасаюсь, добыть все нужные bare die и собрать их будет намного сложнее и дороже, чем сделать одним чипом.

Интересно как видят это разработчики
Как то, что у них хобби по сборке компьютера из микросхем, а не по разработке микросхем?
Если хотя бы на один из его эмиттеров подано напряжение 0В — транзистор будет находиться в режиме насыщения и на его коллекторе будет присутствовать логическая единица
Ноль же.

О логических уровнях имеет смысл говорить на входе и на выходе элемента. Все, что внутри — это токи, а не напряжения. Потенциал же коллектора входного транзистора всегда практически постоянен, а вот ток через резистор в базе ответвляется либо в базу выходного (тогда на выходе лог. 0), либо в эмиттер(ы) входного (так как Uкэ насыщенного транзистора < Uбэ)

О логических уровнях можно говорить где угодно, на то они и логические. И в данном случае речь именно о логическом нуле, который после инвертора станет логической единицей (и примет привычное физическое значение уровня напряжения).

Ну давайте попробуем. Случай 1 — все эмиттеры в 1, входной транзистор закрыт, через прямосмещенный диод база-коллектор и резистор в базе течёт открывающий выходной транзистор ток. Потенциал коллектора — порядка 0.7 вольт. Случай 2 — хотя бы один из эмиттеров в 0 — входной транзистор открыт, выходной закрыт из за отсутствия тока базы. Потенциал коллектора входного 0-0.5 вольта. Поставьте логический пробник на коллектор первого транзистора — что он покажет?

Вы сосредоточились на физических уровнях, а я говорю о логических. Абстрагируйтесь от напряжений и токов, перейдите к бинарной логике.
Нашла коса на камень. Логический элемент — черный ящик, имеющий спецификации уровней физического интерфейса, соответвующих логическим уровням в выбранной логике (позитивной или негативной), и выполняемой логической функции.

Соответственно, снаружи элемента мы в большинстве случаев можем абстрагироваться от физических уровней (кроме исключений типа ОК/ОС и монтажного И/ИЛИ).

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

Тот факт, что в TTL-имплементации два ИТУТ-трехполюсника работают внутри ячейки в ключевом режиме, не делает попытку анализа напряжений или токов с точки зрения логических уровней, заметно более осмысленной. Физическую схему лучше рассматривать на физическом же уровне, оперируя физическими же параметрами и особенностями работы ее элементов. В случае ТТЛ, например, возникают вопросы — что обеспечивает надежное запирание выходного транзистора в случае нахождения МЭТ в насыщенном состоянии? Каким образом выходной транзистор находится в насыщении, когда МЭТ закрыт? Ответы на эти вопросы невозможно получить, оперируя логическими уровнями внутри схемы.

В КМОП-имплементации при этом внутренности лучше поддаются именно «логическому» анализу, так как ПТ, в отличие от БТ — трехполюснгики ИТУН-типа — и можно при определенных оговорках подменять понятия «напряжение» понятием «логический уровень» для простоты анализа.

И последнее — при этом я прекрасно понимаю, каков должен был быть ответ на Ваш исходный вопрос — в силу неточности перевода или неточности описания, естественно, имелся в виду уровень напряжения на коллекторе выходного транзистора :)
например, внутри может быть четырехуровневая ячейка статической памяти, транслируемая парой компараторов в два выходных бита
И тем не менее мы все понимаем, что внутри ячейки находятся два бита, два логических элемента информации, при этом ничего не зная ни о напряжениях, ни о токах. Всё потому, что вопросы,
ответы на которые невозможно получить, оперируя логическими уровнями внутри схемы
не имеют никакого отношения к сути дела.
Интересно, какая бы была производительность, если сделать подобный простейший компьютер, или, например, z80, в одном кристалле по сомой последней технологии. Может кто натыкался на подобные эксперименты?
Мне не дает покоя идея, что куча подобных простейших ядер, на одном кристалле, будет быстрее и дешевле чем любой из существующих процессоров.: ) нужно только придумать способ их взаимодействия без блокировок.
и с чего оно должно быть быстрее?
процессоры i8080 & Z80: несколько тактов на одну команду, отсутствует конвейер, нет кеша
современные процессоры: несколько команд за один такт, конвейер, внутренний кеш и ещё бог знает что для увеличения производительности.

Z80 в теории проще раскочегарить до каких нибудь 10GHZ, т.к ядро маленькое и уложиться по таймингам прохождения сигнала — заметно проще.
А дальше — т.к ядро маленькое, то на современном тех процессе на площади 13x13мм из поместится десятки тысяч штук, этих ядер, да ещё и хватит места по 128kb SRAM на ядро. Вопрос только в том, что под такой монстр сложно будет найти задачи, которые эффективно его бы использовали… И если подумать… wait a minute… мы только что сделали GPU!

Эти процессоры 8-ми битные, придется городить костыли для расширения адресного пространства и как-то их «спаривать» для расширения регистров.
Подобным образом делают обработку данных в видеокартах. Но с процессорами общего назначения такой фокус не прокатит, можете расслабиться. Дело именно в способах взаимодействия многих ядер, потому что производительность системы в целом растет слабее, чем линейно, с ростом числа ядер. Собственно, почитайте про суперкомпьютеры например, там то же самое концептуально, но с более сложными ядрами в системе.
Некоторое представление и ответ на вышеозначенный вопрос даёт, например,
процессор GA144 и вышедшие статьи по нему, но для массовки, предположу, существующие потребности перекрываются спектром существующих вычислительных решений вплоть до воссоздания нужной вычислительной архитектуры на базе микросхем FPGA.
Интересно, какая бы была производительность, если сделать подобный простейший компьютер, или, например, z80, в одном кристалле по сомой последней технологии
Такое давно уже есть, посмотрите например современные процессоры 51 архитектуры, например C8051 или CC2530
Мне кажется, заголовок у вас получился в стиле жёлтой прессы — уже присутствует приставка «Микро\Мини», типично используемая в то время для компьютеров от DEC, но ещё нет слова «процессор» (который появился задолго до этого, и не в DEC)

Тоже хотел об этом написать. Процессор там точно есть. Там нет _микро_процессора.

Фактически так и есть, сама плата и есть процессор, как описаны в
Электроника-60 его конструктивные варианты. (при использовании БИС — больших интегральных микросхем)

В «Искре-226» и ее прототипе Wang-2200 микропроцессора вроде бы тоже не было. Причем собственно низкоуровневая архитектура, от которой юзер был отрезан (основным языком был Бейсик) и ассемблеры менялись несколько раз еще в семидесятых. Поздние модели архитектуры Wang, кстати, как я читал когда-то, перевели сначала на аппаратную, а потом и на чисто программную эмуляцию под X86.

Странно, что никто пока не упомянул Бена Итера (Ben Eater) и его breadboard computer. https://eater.net/8bit
Рекомендую к просмотру — очень увлекательно. Руки чешутся собрать нечто подобное.

Как это нет сложных логических микросхем? Только из того что я смог рассмотреть: специализированные мультиплексоры, сумматоры, счётчики, декодеры, регистры различного типа. Если всё это реализовывать на базовой логике (И, ИЛИ, НЕ) то схема будет в разы больше. И ещё ПЗУ 1 мбит c 16-битными шинами адреса и данных. Где и реализована часть логики. В чём уникальность? Если нужно добиться минималистичности и безпроцессорности, то можно ПЛИС какой нибудь применить, они тоже древние. Если нужно показать устройство, то интересней было бы реализовать всё именно на базовых элементах ТТЛ (И, ИЛИ, НЕ), и не прятать часть логики в ПЗУ-ху.
Перечисленные микросхемы — это микросхемы средней степени интеграции также были (кроме линейки специализированных сумматоров) использованы, например, в клонах ZX-Spectrum, но в другом номенклатурном составе.

ПЗУ и для того служит, чтобы в нём размещать код процессорных команд описанных в руководстве, но она слишком минималистична, чтобы комфортно использовать при программировании на ней и поэтому автор дополнил её системой команд vCPU,
но достаточна, чтобы программно организовать вывод на VGA (в одном из режимов)
без использования буфера изображения.

P.S. ПЗУ можно заменить на ОЗУ добавив простой загрузчик начального кода на каком нибудь мелком контроллере. Ничто не мешает думать над различными «улучшениями» и использованием данной конструкции (у авторов же получилось, клавиатура у них подключена через ATyny контроллер, a, кто то даже сделал дополнительно отладчик на LPC контроллере).
В какую из «древних» ПЛИС вместится данный дизайн? (и какого она года выпуска и сейчас, скорее всего, не производимая)
ZX-UNO хороший проект данного плана.
Между прочим применяемые в устройстве микросхемы так-же уже не выпускаются, в особенности пзу-ха, они произведены в 80-х 90-х годах. А ПЛИС, например Altera MAX 3000 (2002г.в.) какой нибудь, или даже 7000 (1995 г.в.) встречаются в продаже, хотя и не выпускаются. Или из серии Actel A40MX (1998 г.в.) чего нибудь.
(Надеюсь, Google Translate работает!) Я прекрасно провел время в Neuron Hackspace. Было интересно поговорить о создании собственного компьютера из чипов TTL в Москве, потому что в России гораздо больше людей экспериментировали с системами TTL, чем в Нидерландах.

Мы сделали гигатрон как веселый проект. И мы хотели, чтобы это было образовательным. Построение этого научит вас, как работает компьютер. Схемы онлайн, а также рассказывает о том, как работает система. И мы хотели, чтобы гигатрон был тем, что могло бы существовать во времена Apple-1. Мы немного обманули, например, использовали чипы 74HCT вместо 74LS. Сложно достать чипы 74LS. Но: гигатрон будет работать с оригинальными чипами.

Я хотел бы найти оригинальные русские фишки для сборки российского гигатрона.

Я не понимаю все комментарии, но приятно видеть, что люди интересуются этой технологией.

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

Вальтер.
Из очень популярного у нас процессора-на-целой-плате был терминал 15ИЭ-00-013 forum.maxiol.com/index.php?showtopic=5118
И вспомнился еще более массово производимый продукт — кассовый аппарат ОКА-400 www.leningrad.su/museum/show_calc.php?n=484
Там стояло АЛУ КР588ВС2, а вокруг него процессорная обвязка со своей системой команд на ПЗУ. Обычно к КР588ВС2 делают систему команд PDP-11 с соответсвующими чипами, но тут разработчики решили сделать по-своему.
Наконец-то я нашел место, где можно было купить TTL-чипы из СССР. Компания Evita из Вильнюса (Литва) очень помогла мне поставить чипы. Замены СССР для SRAM, EPROM или 74HC595 я не нашел. 74HCT04 в схеме часов не может быть заменен 74LS04. КФ1594ЛН1 действительно существует, но я не смог найти его в продаже.

image
image
Sign up to leave a comment.