Комментарии 71
Зело прельстиво. Пишите обо всём, я считаю.
Согласен, писать нужно про все. Классная работа
Хотелось бы чуть больше объяснений на пальцах для дилетантов, местами честно говоря нифига не понял. А вообще класс, знания автора и количество проделанной работы впечатляет !
Жду статью про инструкции и АСУ
Да, сложно написать о чем-то так, чтобы было всем понятно. Может быть, у вас есть какие-то конкретные вопросы, которые я мог бы прояснить?
Ну скорее всего, мои вопросы тянуться из очень плохого понимания структуры, логики работы процессора. Когда разговор в статье пошёл о регистрах, лично я сразу потерялся в их предназначении, что утянуло за собой последующие понимание всего.
По этой причине и хочу увидеть статью про АСУ, инструкции и прочих основах.
Могу посоветовать nandgame, возможно будет полезно если есть свободное время
Это прекрасно! Плюсанул бы, да не могу.((
Даёшь статью о видюхе!
+1 пишите про все
Напишите про борьбу за частоту?
Я давно наблюдаю за похожим проектом 32-битного процессора, но в нём автор упёрся в 500КГц, и что с этим делать пока не знает
У меня не было никакой борьбы за частоту. Я ни разу не сталкивался с тем, чтобы что-то не работало из-за слишком высокой тактовой частоты. Мне кажется, можно даже немножко разогнать, но я не пробовал: не хочется отлаживать сложноуловимые случайные ошибки. Места, которые, как мне кажется, ограничивают частоту, это:
ПЗУ с программой. По спекам у нее задержка 150 нс, то есть 6.6 МГц. Было бы прикольно сделать переключаемую частоту: по умолчанию медленную, а когда программа прыгает в ОЗУ, увеличить.
Сумматор, выполненный по схеме с переносом через каждый бит. Если грубо оценить задержку, то должна быть в худшем случае тоже порядка пары сотен наносекунд.
И в одном месте у меня есть асинхронная задержка на RC-цепочке, которая фиксит неправильные тайминги доступа к памяти. Это можно исправить, переделав модуль управления.
На форуме проекта его разгоняли до ~12,5МГц (и вроде до 15МГц) но и потребление с заявленных ~500мА от 5В (2.5W, или 0.5W для 74HCT версии логических микросхем) возрастало существенно на логике другой серии.
P.S. Была статья на Хабре:
Гигатрон — самодельный микрокомпьютер без процессора
Форум Gigatron проекта
Gigatron на сайте https://hackaday.io
А если сразу плавное управление частотой? Задолго до появления SpeedStep существовал процессор, частота которого подстраивалась под нагрузку.
используя только простые логические микросхемы 74 серии
A 74181 это уже читерство? :)
Да, читерство :) Да и ее не найти в продаже.
Да и ее не найти в продаже.
В Чип и Дип вроде можно заказать 74LS181, китайские за 350 рублей и Motorola / Fairchild за 1000+ рублей, но я не имею ни малейшего понятия откуда они их возьмут и возьмут ли вообще. Плюс, непонятно что придёт, особенно от китайцев.
ну можно же реализовать ее на мелкой логике. логическая схема ее есть.
О, это первое на чём я познал как вообще это работает, ещё в планаре была, но быстро наскучило.
весьма впечатлён проделанной работой
Круть крутячая, хабр торт!
Обязательно пишите по всем пунктам!
Например, для регистра B нужно три микросхемы: собственно восьмибитный регистр 74HC273 и два выходных буфера 74HC244.
А почему не 74НС573? У неё есть встроенные буферы на выходе. Сброса нет, но по логике и блок-схеме он не нужен.
Проделана большая работа, моё почтение! Голосовал за АЛУ.
Очень круто, всегда интересно читать про такие самоделки. Есть в планах новые доработки?
Нет, нету. На самом деле, он у меня уже в таком состоянии с весны лежит, я только иногда какую-нибудь новую программу пишу. Была идея сделать сетевую карту, но пока кажется, что это слишком сложно.
Хотел написать, что для уарта есть SLIP и можно соорудить SLIP/WiFi gateway из малинки или ESP8266/ESP32 - но сообразил, что у этого компьютера нет уарта :). Тогда пожалуй проще всего подключить ту же ESP32 по параллельной шине, а внутри написать эмуляцию этой шины. Ну или прицепить честно RTL8019AS (бонусом кусочек SRAM внутри) или CS8900, это будет более в стиле "самодельного компьютера". Они обе умеют работать по 8-битной шине данных. Но это будет только проводная сеть, без Wi-Fi.
Да, можно много всего наподключать, можно ПЛИС подключить и на ней вообще любую периферию сделать, но это тоже читерство.
Только сейчас посмотрел видео из статьи. Обратил внимание, как громко в начале видео работает тактовый генератор. ))
Ваш ассемблер очень похож на ассемблер для AVR. Не оттуда брали идеи и байт-код инструкций?
Ранее находил одного человечка который собрал сумматор и назвал это компьтером.
Подумал что эта статья будет подобным клибейтом, но оказалось нет.
Даже больше скажу: теперь мне в голову засела мысль поиметь дома подобный экземпляр.
А теперь странный вопрос: как думаете насколько реально реализовать этот компьютер в Minecraft? (думаю вполне реально по всем параметрам кроме тактовой частоты)
В сети пишут, что там уже компов накрафтили: https://www.google.com/search?q=%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80+%D0%B2+minecraft
я в курсе, но к сожелению большенство из них это не компьтеры по своей сути, хотя
иногда попадаются реализации реальных (например LC3) или выдуманных (например DjCPU8) процессор и компьютеров целиком, да и сам я однажды практиковал такое.
Но реализовать компьютер из этой статьи будет настоящим мировым рекордом я полагаю.
Всегда восхищаюсь подобному энтузиазму, терпению, и умению довести проект до конца! В опросе не хватает вариантов "Обо всем" и "О себе".
Я бы это сделал на какой нибудь ПЛИС. Всё равно там внутри те же элементы на транзисторах, только намного меньше боли с припоем и проводами как тут https://www.megaprocessor.com
Очень понравилась реализация 16-битных адресов. Пожалуй утащу её себе, если получится (всего два регистра, не считая IP и выбирать их нельзя, т.к. аргументов у инструкций тоже нет). А то у меня дальше #00FF прыгнуть можно, только непосредственно с #00FE или #00FF и только на #0100.
upd: Аргументы инструкциям таки придётся добавить.
Автор, вы переизобрели zx-specrum на минималках с нуля!!
Это круть крутячая!!
Назовем этот регистр P. Так как адрес 16-битный, а данные 8-битные, разделим P на две части: PL и PH.
Для каждой пары регистров из P нужно восемь микросхем: четыре четырехбитных счетчика
А вы не могли бы пояснить зачем там нужны эти счётчики?
Счетчики именно этим и занимаются.
А у меня вот здесь счётчик последовательно перебирает все команды в памяти команд (данные хранятся отдельно от команд). При переходах (джампах) адрес загружается а счётчик.
А у вас, наверное, сначала младший счётик инкременируется?
А можно обосновать, почему делая процессор "с нуля" он стал восмибитным? Потому что намертво заложенный в голове шаблон 8 или 16? Почему не 10 или 12 бит?
Потому что так проще. Шаблон не только в голове, но и в компонентах. Нет регистров или памяти на 10 бит.
Не спорю, было бы интересно сделать что-то нестандартное. Я бы вообще предпочел иметь троичную логику, но ее только на транзисторах делать, потому что готовых микросхем (особенно памяти) не существует.
Как-то я вас не понял. Зачем тогда вообще выбирать сложный путь?
Вы сами жалуетесь что вам нужно две команды на переход. И что из за этого код пухнет так, что надо много памяти чтобы его уместить. И чтобы по этому объёму памяти перемещаться - нужно две команды на переход....
Я вас тоже не очень понял. Мне хотелось сделать функциональный компьютер за конечное время, вот я и сделал. В чем претензия вообще?
Да нет у меня к вам никаких претензий! Могу даже извинится если чем-то обидел.
Просто глядя на ваш проект, не могу понять в чём его особенность? Проверить возможность создания компа классической архитектуры на классической элементной базе?
Мне вспоминаются братья Стругацкие, которые устами одного из своих персонажей говорили что неинтересно решать задачи, про которые точно известно что они имеют решение. Куда интереснее решать задачи про которые точно известно что они решения не имеют.
Очень круто, сам пару лет назад загорелся идеей сделать такое, но потом как-то забил. Пишите про всё!
Отличная идея для любительского радиоконструктора с целью изучения основ устройства процессоров и компмьютеров
Отличный результат!!!
Когда-то наблюдал авиационный бортовой компьютер — собранные в брикет керамические подложки с бескорпусными микросхемами — очень напоминает описанный компьютер, только там микросхемы поплотнее стояли.
Может у автора времени нет писать обо всём.
Моя задача проголосовать, а уж как он будет выбирать о чём дальше писать — его дело)
Какой учебник посоветуете чтобы разобраться?
К сожалению, не смогу ничего посоветовать. У меня нет систематических знаний в области электроники, я читал в разных источниках по мелочи.
https://www.nand2tetris.org лучший бесплатный курс по теме на английском, но надеюсь это не помеха.
Можно систему комманд глянуть?)
Мой компьютер на логических микросхемах