Как стать автором
Обновить
199
-3

Пользователь

Отправить сообщение

Я вас тоже не очень понял. Мне хотелось сделать функциональный компьютер за конечное время, вот я и сделал. В чем претензия вообще?

Да, правильно. В статье про инструкции я напишу об этом.

Потому что так проще. Шаблон не только в голове, но и в компонентах. Нет регистров или памяти на 10 бит.

Не спорю, было бы интересно сделать что-то нестандартное. Я бы вообще предпочел иметь троичную логику, но ее только на транзисторах делать, потому что готовых микросхем (особенно памяти) не существует.

Четыре микросхемы связаны через перенос (TC-CET) в один 16-битный счетчик.

Схема

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

Да, можно много всего наподключать, можно ПЛИС подключить и на ней вообще любую периферию сделать, но это тоже читерство.

Лет десять назад я писал пару раз на ассемблере для AVR, но уже всё давно забыл. Может быть, какие-то идеи бессознательно проникли :)

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

Блок-схема условная, там многое не обозначено, но сброс – это вторичное. Главная идея в том, что нужно два независимых выхода одного регистра на две разных шины. Поэтому и используется два отдельных буфера.

Кроме того, в 74HC573 входная защелка не по фронту, а по состоянию, это тоже критично.

Да, читерство :) Да и ее не найти в продаже.

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

  • ПЗУ с программой. По спекам у нее задержка 150 нс, то есть 6.6 МГц. Было бы прикольно сделать переключаемую частоту: по умолчанию медленную, а когда программа прыгает в ОЗУ, увеличить.

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

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

Да, сложно написать о чем-то так, чтобы было всем понятно. Может быть, у вас есть какие-то конкретные вопросы, которые я мог бы прояснить?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность