FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups nedoPC.org    
 Donate Bitcoins to support nedoPC.org: 1F2d97c5oUpk7v3jzfy5RvdmYgMm3epMZi
 Not tax-deductible! All transactions are public and irreversible! No goods or cash in exchange!
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in    
 
Z80 Finite State Machine
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    nedoPC.org Forum Index -> ZILOG

Lavr Reply with quote
Super God


Joined: 21 Oct 2009
Posts: 7781
Location: Россия

PostPosted: 09 Jun 2013 13:43    Post subject:
 
pfgx wrote:
Да на этом форуме столько всего написано!.. Надо будет потом отдельно заняться только чтением...

Да я сам его (форум) с год примерно почитывал... жалко некому всё это упорядочить,
ибо - работа огромная!...

Но я хоть немного в общих чертах стал представлять где и что у нас лежит...
Конечно же, Shaos это всё лучше знает и помнит!
_________________
iLavr
Back to top
View user's profile Send private message

Shaos Reply with quote
Admin


Joined: 09 Jan 2003
Posts: 12576
Location: New York

PostPosted: 09 Jun 2013 14:13    Post subject:
 
Shaos к сожалению не всё помнит - иногда только Search спасает, да и то не всегда...
_________________
XMPP:shaos@jabber.org
Back to top
View user's profile Send private message Send e-mail Visit poster's website

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 10 Jun 2013 05:17    Post subject:
 
Lavr wrote:
Мне кажется, пора бы делать прикидку на соответствие топологии командам z80...

Вот тут можно уже и прикидывать, это "ядро" АЛУ http://yadi.sk/d/-UL-KbU05fDn6

Я нашёл ещё 4 защёлки Находятся между выходом АЛУ и младшими разрядами локальной шины. http://yadi.sk/d/75ZpHn-i5fP8M
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 15 Jun 2013 06:18    Post subject:
 
Вопросов пока больше нет?

Попытался нарисовать управление блоком АЛУ. Запутался в сигналах, поэтому продолжил рисовать от instruction register. В направлении к РОН там только комбинационная логика с мелкими вкраплениями триггеров различной конструкции для, например, exx или ex DE,HL. Расположение РОН скорее всего всё-таки соответствует иллюстрации из книги.

Что обработано:
- instruction register
- "распознаватель" команд
- комбинационная логика после "распознавателя"
- комбинационная логика с сигналами от блока управления (почти готово)
- блок АЛУ
- блок РОН

Что осталось:
- логика управления блоком АЛУ, блоком РОН, коммутацией шин и т.п.
- формирование флагов
- блок управления (reset, wait, interrupt, машинные циклы и т.п.)
- подключение выводов D0...D7 к внутренней шине данных
- прочие мелочи

Блок управления наверное будет самым сложным, он занимает 20% площади кристалла, в нём куча логики с обратными связями (триггеры, причём, кажется, многофазные) и нет никакой системы.
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 15 Jun 2013 07:32    Post subject:
 
Картинка ещё раз http://yadi.sk/d/75ZpHn-i5fP8M
Сигнал 10 соединён с 24, а 11 и 25 это инвертированные 10 и 24, то есть одно и то же. Перекрёстное соединение полубайтов видимо используется только для rrd.

Примерный порядок работы блока АЛУ.

С ШД процессора через коммутатор-сдвигатель аргументы записываются в 8-битные регистры (прямоугольные блоки слева и справа). Левый регистр может инвертировать данные.

На АЛУ подаются младшие полубайты (открыты транзисторы, управляемые сигналами 24 и 10), при этом также выход АЛУ соединён с 4-битным регистром (квадратный блок в середине).

На АЛУ подаются старшие полубайты (открыты транзисторы 25 и 11), при этом 4-битный регистр отключается от АЛУ и хранит младший полубайт результата.

Затем подаётся сигнал 15, открываются транзисторы, на локальную шину блока АЛУ подаётся байт результата, активируются драйверы (сигнал 34) и результат попадает на шину процессора.

Точные фазы работы смогу сказать после того, как разберу схему управления.
Back to top
View user's profile Send private message

Mixa64 Reply with quote
Senior


Joined: 25 Aug 2009
Posts: 182
Location: Москва

PostPosted: 19 Jun 2013 09:29    Post subject:
 
А вот интересно, ИП3 круче, чем АЛУ сабжа?
Back to top
View user's profile Send private message

Lavr Reply with quote
Super God


Joined: 21 Oct 2009
Posts: 7781
Location: Россия

PostPosted: 19 Jun 2013 10:04    Post subject:
 
pfgx wrote:
Вопросов пока больше нет?

Попытался нарисовать управление блоком АЛУ. Запутался в сигналах, поэтому продолжил
рисовать от instruction register.

Я не знаю, увидел ты или нет, но вот здесь коллега sheff440 свой вклад в понимание
и объяснение реализации 4-битного АЛУ у Z80 оставил
...
_________________
iLavr
Back to top
View user's profile Send private message

Lavr Reply with quote
Super God


Joined: 21 Oct 2009
Posts: 7781
Location: Россия

PostPosted: 19 Jun 2013 10:09    Post subject:
 
Mixa64 wrote:
А вот интересно, ИП3 круче, чем АЛУ сабжа?

На мой взгляд, здесь не может быть совсем уж адекватного сравнения,
поскольку вещи несколько разные...

Но если сравнивать что называется "в лоб" - то ИП3 - НЕ круче, поскольку
не может делать RAL, RAR, RRC, да и набор флагов победнее будет...
_________________
iLavr
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 19 Jun 2013 14:33    Post subject:
 
Lavr wrote:
Я не знаю, увидел ты или нет, но вот здесь коллега sheff440 свой вклад в понимание
и объяснение реализации 4-битного АЛУ у Z80 оставил
...

Как оно внутри устроено я понял (http://www.nedopc.org/forum/viewtopic.php?p=105741#105741), но к блоку АЛУ подходит около 30 управляющих сигналов, которые формируются отдельной схемой. В эту же схему идёт десяток выходов АЛУ, и она же участвует в формировании флагов. Вот в этой схеме я и запутался.
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 28 Jun 2013 16:41    Post subject:
 
Не с той стороны я рисовать схему начал. Надо было как раз с этой сложной схемы управления, можно было бы хоть как-то внешние сигналы сэмулировать, чтение команды в instruction register, а потом и всё остальное.

Процесс движется, надо будет отдельно заняться упрощением схемы. Сейчас это почти 40 страниц А4 и около 400 сигналов, рисовавшихся по принципу "что вижу, то пою"
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 09 Jul 2013 17:39    Post subject:
 
Дорисовал схему управления. На эту схему завязаны все входящие и выходящие управляющие сигналы микропроцессора (CLK, RESET, RD, WR, BUSRQ...), также она содержит два "счётчика" тактов (или FSM, не знаю как точно назвать). Один счётчик считает такты, сброс по условию, второй счётчик несколько сложнее. Выходы счётчиков заведены на огромную комбинационную схему, которая в зависимости от декодированной команды и номера такта (и цикла?) формирует сигналы управления для АЛУ, чтения-записи регистров, сброса счётчиков и т.д.

На рисунке http://yadi.sk/d/hHdabDM46f1UY слева второй счётчик (счётный вход 625, выходы 202...206), справа схема разрешения тактирования этого счётчика (выход 609 комбинируется с CLK и получается 625). То есть условие, при котором меняется состояние этого "счётчика", достаточно сложное.
Сигналы 1xx, 2xx (кроме 20x, это выходы счётчиков) формируются той самой комбинационной схемой.
Back to top
View user's profile Send private message

Lavr Reply with quote
Super God


Joined: 21 Oct 2009
Posts: 7781
Location: Россия

PostPosted: 09 Jul 2013 18:05    Post subject:
 
pfgx wrote:
Выходы счётчиков заведены на огромную комбинационную схему, которая в зависимости от декодированной команды и номера такта (и цикла?) формирует сигналы управления для АЛУ, чтения-записи регистров, сброса счётчиков и т.д.

Ну так "хардварный" он получается наш любимый Z80 - так?
_________________
iLavr
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 10 Jul 2013 04:40    Post subject:
 
Как бы да, но в схеме много "табличных" преобразований.
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


Joined: 20 Mar 2013
Posts: 138
Location: Ростов-на-Дону

PostPosted: 06 Aug 2013 06:05    Post subject:
 
http://yadi.sk/d/s5RRVIjP7cRgA
Похоже что это всё-таки "счётчик" циклов.

Сигнал 627 - запись "10000", сброс. Формируется очень просто: для каждого цикла (их 5, сигналы 206, 205, 204, 203, 202) существует группа команд, при которых формируется сигнал 613. Например, для цикла 206 (первого) это выходы декодера 171, 172, 173, 177. Проверил - да, это одноцикловые команды.

Сигнал 626 - запись "x001x", переход с цикла 1 или 2 на цикл 4. Используются выходы декодера команд 49, 172, 173, 177. Какие это команды сложно сказать, в декодере не всё так просто. (Впрочем, как и везде в этом процессоре.)

Сигнал 609 - переход на следующий цикл. Логику формирования объяснить не возьмусь

Вверху схема #BUSRQ и #BUSACK, на неё же заведён 609, то есть запрос будет обработан только после окончания очередного цикла. 606 это, видимо, блокировка тактирования счётчика тактов (сигналы 211, 210, 209, 208...).
Back to top
View user's profile Send private message

Lavr Reply with quote
Super God


Joined: 21 Oct 2009
Posts: 7781
Location: Россия

PostPosted: 06 Aug 2013 10:38    Post subject:
 
pfgx wrote:
...надо будет отдельно заняться упрощением схемы. Сейчас это почти 40 страниц А4
и около 400 сигналов, рисовавшихся по принципу "что вижу, то пою"

Ты извини, не подумай, что под работающую руку лезу тебе с советами...

Может в момент "упрощения схемы" тебе перейти к отрисовке в электронном виде?
А то, на мой взгляд, ты скоро с бумажками путаться начнешь...

Элементов у тебя немного - в основном это вентили однотипные... отрисуй их один раз
все по одному красиво, а потом - вставляй методом "копи-паст" и соединяй мышью.

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

Я как-то, начиная со "Специалиста", отвык схемы руками на бумаге рисовать, хотя и
граф-редактор у "Специалиста" был не в пример даже Пейнту убогий...
Но всё-равно, на мой взгляд, в итоге это удобней и быстрее выходит, да и рисунок -
более разборчивый обычно.
_________________
iLavr
Back to top
View user's profile Send private message
Post new topic   Reply to topic    nedoPC.org Forum Index -> ZILOG
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 5 of 9

Choose Display Order
Display posts from previous:   
User Permissions
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 
Jump to:  


Skin Created by Sigma12 and modified by Shaos
Powered by phpBB © 2001-2005 phpBB Group