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

Mixa64 Reply with quote
Senior


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

PostPosted: 08 Jun 2013 07:49    Post subject:
 
pfgx wrote:
Или просто так совпало?

А может, и совпало чудесным образом. Была бы возможность 256 перебирать - не отказались бы IMHO.
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


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

PostPosted: 08 Jun 2013 13:07    Post subject:
 
Срисовал транзисторы блока АЛУ, получилось 4 почти одинаковых блока примерно по 150 транзисторов в каждом. Почти - потому что в блоках (1 блок - 2 бита данных и 1 бит АЛУ) есть некоторые различия, но пока я на них не хочу останавливаться. В дальнем конце АЛУ засунут маленький, но очень запутанный блок, по-моему это для daa, его пока не рисовал.

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

Внутренняя шина данных делится двумя коммутаторами на три части:
1. старший байт регистров, АЛУ
2. младший байт регистров, выходы формирователей флагов и коррекции для daa (00h, 06h, 60h, 66h)
3. instruction register, выводы D0...D7 (выводы как-то путаются, но вроде подключены сюда)
То есть на картинке, которая из книги, "поперечные ромбики" это и есть коммутаторы (по 8 транзисторов каждый). Ещё при рисовании регистров вывихнул мозг по поводу инверсии, и по-моему на внутренней ШД данные в инвертированном виде.

АЛУ я называю то, что явно выделяется на фотографии. Оно включает в себя:
0. Собственную 8-разрядную локальную шину данных (далее - ЛШД). Её наверное и имеют в виду авторы, говоря про 4 части ШД и 3 коммутатора.
1а. Коммутатор (тот самый третий?), который может соединить ЛШД с частью ШД процессора. Но сделать он это может "один к одному" или со сдвигом на один разряд. 0-й и 7-й разряды при сдвигах берутся не с шины, а с логики, видимо для реализации сдвига через флаг переноса.
1б. Push-pull драйвер для выдачи данных с ЛШД на общую ШД.
2. Схему (всё ещё 8-разрядную), которая может на свой выход подать бит с ЛШД (с инверсией или без), со своего входа подать бит на ЛШД (только с инверсией), она же содержит защёлку (8 разрядов).
3. Выходы этих схем попарно проходят через коммутаторы и получается 4 разряда (2 полубайта), которые подаются на
4. собственно АЛУ, 4-разрядное.
5. Ещё одна схема, назначение которой мне не совсем понятно.
6. Маленький, но сложный кусочек, возможно для десятичной коррекции.
При этом там внутри очень хитро перекрещиваются полубайты, понять как именно не могу, у меня от этого в голове тоже что-то перекрещивается на АЛУ заведены и выходы-входы схемы (см.п.2), и ЛШД, а на непонятный блок (п.6) ещё и 4, 5 и 6 разряды ШД процессора. Далее, видимо, уже надо просто срисовывать, не пытаясь понять назначение всей этой паутины.

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


Last edited by pfgx on 08 Jun 2013 13:51; edited 4 times in total
Back to top
View user's profile Send private message

Lavr Reply with quote
Super God


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

PostPosted: 08 Jun 2013 13:14    Post subject:
 
pfgx wrote:
на картинке, которая из книги, "поперечные ромбики" это и есть коммутаторы...
Добавлю здесь ниже картинку, чтобы следить за мыслью автора:




pfgx wrote:
Срисовал транзисторы блока АЛУ, получилось 4 почти одинаковых блока
...
даже есть какое-то понимание, но выразить так, чтобы это понял кто-то другой...

А явно входы АЛУ не просматриваются?
По всем патентам и канонам - ко входам АЛУ должны подключаться коммутаторы...

Взглянь ещё на вот эту картинку в обвязке АЛУ - может быть сходные идеи
просматриваются?
Всё же авторы практически одни и те же...
_________________
iLavr


Last edited by Lavr on 08 Jun 2013 13:41; edited 1 time in total
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


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

PostPosted: 08 Jun 2013 13:19    Post subject:
 
Lavr wrote:

А явно входы АЛУ не просматриваются?

Так, не сбивайте с мыслей, я ещё пытаюсь их выразить (см. выше)
Back to top
View user's profile Send private message

Lavr Reply with quote
Super God


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

PostPosted: 08 Jun 2013 13:43    Post subject:
 
pfgx wrote:
Так, не сбивайте с мыслей, я ещё пытаюсь их выразить (см. выше)

Наоборот помочь стараюсь! т.к. мне тоже это интересно...
А "молоток" со стрелкой вверх ещё ни к каким блокам не "привязывается"?
pfgx wrote:
и по-моему на внутренней ШД данные в инвертированном виде

Это вполне может быть - такое решение нередко, вроде, как обещают,
помехоустойчивость шины повышается...
_________________
iLavr
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


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

PostPosted: 08 Jun 2013 13:54    Post subject:
 
Что мог выразил, читайте, спрашивайте
Lavr wrote:
А "молоток" со стрелкой вверх ещё ни к каким блокам не "привязывается"?

Не знаю. Может куда-то и привязывается, но очень уж загадочное у него обозначение.

О! Под "молотком" могли иметь в виду третий коммутатор, реализующий сдвиг. Он как раз находится на пути с ШД процессора в ЛШД, далее в защёлки (не 8 бит, а две по 4), АЛУ, а с него на ЛШД и далее на ШД процессора.
Back to top
View user's profile Send private message

Lavr Reply with quote
Super God


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

PostPosted: 08 Jun 2013 21:02    Post subject:
 
pfgx wrote:
Под "молотком" могли иметь в виду третий коммутатор, реализующий сдвиг. Он как раз находится на пути с ШД процессора в ЛШД, далее в защёлки (не 8 бит, а две по 4), АЛУ, а с него на ЛШД и далее на ШД процессора.

Вот этот момент и на блок-схеме очень непонятен...



Через "молоток", кем бы он ни был, 8-битная шина явно выходит 4-битной... А вот как она,
будучи 4-битной, обратно соединяется с 8-битной, без каких-либо явных узлов, - этот
момент просто в тупик ставит!...
_________________
iLavr
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


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

PostPosted: 09 Jun 2013 01:07    Post subject:
 
Lavr wrote:
Через "молоток", кем бы он ни был, 8-битная шина явно выходит 4-битной... А вот как она, будучи 4-битной, обратно соединяется с 8-битной, без каких-либо явных узлов, - этот момент просто в тупик ставит!...
Нет, после "молотка", если это коммутатор-сдвигатель, шина 8 бит. "Локальная" шина этого блока тоже 8 бит. А вот T, AC и ALU 4-битные, но оно там сильно перемешано "по кругу" (полубайты ЛШД, вход-выход АЛУ и прочие 4-битности) для последовательной обработки полубайтов.

Но насчёт 4-битности T и AC не уверен, там со всеми этими временными защёлками очень сложно, кое-где в процессоре всё-таки есть элементы динамической логики и "повисший в воздухе" затвор может использоваться для хранения. Из-за этого, кстати, появляются значения флагов F3 и F5 - в схеме формирования флагов для выдачи на ШД на этих разрядах просто нет драйверов, что в ёмкости шины от предыдущей внутренней операции повисло, то в регистр F и записалось.
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


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

PostPosted: 09 Jun 2013 05:47    Post subject:
 
pfgx wrote:
АЛУ я называю то, что явно выделяется на фотографии. Оно включает в себя:
...
2. Схему (всё ещё 8-разрядную), которая может на свой выход подать бит с ЛШД (с инверсией или без), со своего входа подать бит на ЛШД (только с инверсией), она же содержит защёлку (8 разрядов).
...
5. Ещё одна схема, назначение которой мне не совсем понятно.
...

Схема из п.5 оказалась почти такой же, как схема из п.2, то есть защёлок всего 16 и временные регистры всё-таки 8-битные.

1/4 блока АЛУ с временными регистрами
http://yadi.sk/d/HjmP9afY5cxde
- коммутатор 3в1 (К)
- push-pull на шину данных процессора
- регистр с инвертором на выходе (РЕГ, ИНВ)
- коммутатор 2в1 (К)
- собственно АЛУ (АЛУ)
- коммутатор 2в1 (К)
- регистр (РЕГ)
- не знаю что (?)

На вход АЛУ подаются половинки временных регистров (вот где появляется 4-битность). Результат АЛУ пишется в младшую половину первого регистра. Но АЛУ связано и с локальной шиной, зачем - пока не знаю.
Инвертор на выходе первого регистра может инвертировать, а может и не инвертировать данные на выходе (типа как XOR).
На второй регистр заведён clock.
В целом по инверсиям или я где-то ошибся, или там полный бардак. Данные с ШД попадают на ЛШД "как есть" (а они инвертированы), при этом драйвер с ЛШД на ШД с инверсией, то есть на локальной шине внутри блока результат операции в итоге без инверсии. Инверсию триггеров, с учётом того, что у них 1 вход, 1 выход и 1 вход-выход на локальную шину, описать на данный момент не берусь.
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 Jun 2013 10:17    Post subject:
 
pfgx wrote:
Инвертор на выходе первого регистра может инвертировать, а может и не инвертировать данные на выходе (типа как XOR).

Ну это классика - все так делают дополнение до 2-х для вычитания.
pfgx wrote:
Но насчёт 4-битности T и AC не уверен, там со всеми этими временными защёлками очень сложно...

Ну если они явно работают с 4-бит АЛУ - они явно обязаны быть 4-битными просто
без вариантов!

Ладно - я подожду окончательного варианта твоего "эпического подвига"...
Толкать человека под руку, когда он напряженно работает - не в моих правилах...
Доделаешь - тогда и разберемся поточнее...
_________________
iLavr
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


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

PostPosted: 09 Jun 2013 12:34    Post subject:
 
Lavr wrote:
Ну это классика - все так делают дополнение до 2-х для вычитания.

Во-от. Сам я такое или не знаю, или просто не увижу, а вот такой контроль со стороны это то, чего мне не хватает.

Lavr wrote:
Ну если они явно работают с 4-бит АЛУ - они явно обязаны быть 4-битными просто без вариантов!

Регистры - 8-битные, АЛУ - 4-битное. Там ещё коммутаторы есть.

Открываем картинки
http://yadi.sk/d/HjmP9afY5cxde (эта уже была, это как оно выглядит на кристалле)
http://yadi.sk/d/cJtADjGA5dirU (блок-схема)

Таких блоков 4 штуки, они почти одинаковые, отличия в правой части АЛУ видны на изображении кристалла. (Есть ещё одно отличие в схеме precharge, но по-моему это несущественно.) В каждом блоке по 1 разряду из младшей и старшей половины. В качестве примера взял 3-й (счёт с 1), он обрабатывает разряды 2 и 6.

Сначала идёт 2 коммутатора 3в1. Они на внутреннюю шину (в данном случае два разряда Ш2 и Ш6) могут подать байт с ШД процессора "как есть" (D2 и D6), а могут сдвинуть на 1 разряд влево-вправо (D1/D5 или D3/D7). Там же находится отключаемый мощный драйвер для выдачи байта с локальной шины на шину процессора.

Слева и справа 4 блока, левые немного отличаются от правых, но каждый содержит коммутатор входов (взять данные с локальной шины или с альтернативного входа), защёлку, и отключаемый драйвер для выдачи данных на локальную шину. Альтернативный выход (на АЛУ) работает всегда. Регистры управляются только целиком, не половинами.

Альтернативные выходы (2 по 8 разрядов) проходят через коммутаторы 2в1 (получается 2 по 4 разряда) и через драйвер подаются на АЛУ. То есть регистры 8-разрядные, но на АЛУ для обработки подаются либо младшие, либо старшие половины регистров.

Куда точно выводятся результаты АЛУ, зачем ему соединения с локальной шиной и для чего нужны перекрёстные (старший/младший полубайт) подключения альтернативных входов защёлок пока не знаю.
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 Jun 2013 12:58    Post subject:
 
pfgx wrote:
Lavr wrote:
Ну это классика - все так делают дополнение до 2-х для вычитания.

Во-от. Сам я такое или не знаю, или просто не увижу, а вот такой контроль со стороны это то, чего мне не хватает.

Я просто просмотрел довольно много схем процессоров, в поисках оригинальных
решений для своей конструкции. Так что многое в "районе АЛУ" повторяется у них...
pfgx wrote:
Куда точно выводятся результаты АЛУ, зачем ему соединения с локальной шиной и для чего нужны перекрёстные (старший/младший полубайт) подключения альтернативных входов защёлок пока не знаю.

Мне кажется, пора бы делать прикидку на соответствие топологии командам z80...
По описанию - напоминает SWAPF от PIC... но у 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: 09 Jun 2013 13:07    Post subject:
 
Lavr wrote:
Я просто просмотрел довольно много схем процессоров, в поисках оригинальных решений для своей конструкции. Так что многое в "районе АЛУ" повторяется у них...

Эта конструкция где-нибудь описана?

Lavr wrote:

По описанию - напоминает SWAPF от PIC... но у z80 вроде же нет подобной команды...

У него есть rrd, она как раз полубайты вращает. Да и просто при вычислениях это может использоваться.
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 Jun 2013 13:27    Post subject:
 
pfgx wrote:
Lavr wrote:
Я просто просмотрел довольно много схем процессоров, в поисках оригинальных решений для своей конструкции. Так что многое в "районе АЛУ" повторяется у них...

Эта конструкция где-нибудь описана?

Естественно... и даже на нашем форуме я эти материалы собирал, когда сам конструировал АЛУ.

Другое дело, что в итоге XOR я не применил - поскольку было "спортивное" ограничение,
"всё - максимально на NAND"... хотя фактически там XOR из NAND-ов и сделан - в узле "B"MUX .
_________________
iLavr
Back to top
View user's profile Send private message

pfgx Reply with quote
Senior


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

PostPosted: 09 Jun 2013 13:32    Post subject:
 
Lavr wrote:
[Естественно... и даже на нашем форуме я эти материалы собирал, когда сам конструировал АЛУ.

Да на этом форуме столько всего написано!.. Надо будет потом отдельно заняться только чтением и конспектированием
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 4 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