синий - GND
красный - Vcc
зелёный - сигналы в верхней металлизации
фиолетовый - затворы транзисторов, проводники (полисиликон?)
голубой - истоки, стоки транзисторов, проводники (диффузия?)
синий - GND
красный - Vcc
зелёный - сигналы в верхней металлизации
фиолетовый - затворы транзисторов, проводники (полисиликон?)
голубой - истоки, стоки транзисторов, проводники (диффузия?)
Обвёл все слои, срисовываю схему. Срисовал всю регистровую часть: регистры, запись-чтение, 16-битный инкремент-декремент, формирование адреса. Ну и другие модули немного. Кое-где есть "зависающие в воздухе" затворы при #CLK=0.
Как вы думаете, почему у регистра R инкрементируются только 7 бит, а старший не меняется?
Схема 16-битного инкремента-декремента имеет периодическую структуру по 2 разряда, в которую не вписывается только ускоренный перенос. Скорее всего регистр R находится в младших 8 битах, I - в старших, а инкремент происходит как обычно (как PC, например). От переноса из 6-го разряда в 7-й (если нумеровать с нуля) сделан отвод и за пределами всей схемы находится отдельный транзистор, который блокирует перенос. Видимо так удобно было, авторы не хотели нарушать структуру и тащить отдельный проводник для этого
Схему рисую на бумаге, а сфотографировать сейчас кроме мобильника с 0,3 мегапикселями больше ничего нет. Да и схемы ещё толком нет.
http://yadi.sk/d/HjmP9afY5cxde
Далее читать там http://www.nedopc.org/forum/viewtopi...=105290#105290
Комментировать можно и здесь.
Это примерно 1/20 часть схемы на данный момент: http://yadi.sk/d/hHdabDM46f1UY
Описание что это такое: http://www.nedopc.org/forum/viewtopi...=106306#106306
Осталось формирование флагов, управление АЛУ и всякие мелочи. Потом надо будет привести это всё в порядок и разобраться как оно работает.
Команда (машинная инструкция) делится на М-циклы, каждый М-цикл делится на Т-такты.
Последовательность М-циклов для команд без префиксов:
Количество тактов в циклах будет позже.Код:0x: 1 123 123 1 1 1 12 1 1 123 123 1 1 1 12 1 1x: 12 123 123 1 1 1 12 1 12 123 123 1 1 1 12 1 2x: 12 123 12345 1 1 1 12 1 12 123 12345 1 1 1 12 1 3x: 12 123 1234 1 145 145 12 1 12 123 1234 1 1 1 12 1 4x: 1 1 1 1 1 1 14 1 1 1 1 1 1 1 14 1 5x: 1 1 1 1 1 1 14 1 1 1 1 1 1 1 14 1 6x: 1 1 1 1 1 1 14 1 1 1 1 1 1 1 14 1 7x: 14 14 14 14 14 14 14 14 1 1 1 1 1 1 14 1 8x: 1 1 1 1 1 1 14 1 1 1 1 1 1 1 14 1 9x: 1 1 1 1 1 1 14 1 1 1 1 1 1 1 14 1 Ax: 1 1 1 1 1 1 14 1 1 1 1 1 1 1 14 1 Bx: 1 1 1 1 1 1 14 1 1 1 1 1 1 1 14 1 Cx: 123 123 123 123 12345 123 12 1 123 123 123 1 12345 12345 12 1 Dx: 123 123 123 12 12345 123 12 1 123 1 123 12 12345 1 12 1 Ex: 123 123 123 12345 12345 123 12 1 123 1 123 1 12345 1 12 1 Fx: 123 123 123 1 12345 123 12 1 123 1 123 1 12345 1 12 1
Набросать бы принципиальную схему процессора. Или хотя бы блок-схему, соответствующую оригиналу.
На уровне транзисторов схему оформлять по-моему вообще смысла нет. Транзисторные черновики у меня есть, но так как на кристалле нет чётких границ блоков, то и на схеме такой же "поток сознания".
На уровне логических элементов рисовать всё не буду, например, схему синхронизации #RESET толком разобрать не смог, выход нашёл - и ладно. Где можно я упрощаю, например, два элемента 2И-НЕ, подключённые к 2ИЛИ-НЕ, нарисую как 4И.
Блок-схема будет обязательно, как и разбор недокументированных особенностей вместе со всеми флагами и префиксами. Кстати, а как выполнится ldir с префиксом DD или FD?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)