nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 08:22



Reply to topic  [ 90 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next
Архитектура процессора 8080 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Архитектура процессора 8080

Я как-то всегда думал, что процессор i8080 (он же К580ВМ80) мы все плохо-бедно, но в основном знаем, и поспорить можем о разных тонкостях, ньюансах исполнения или особенностях эмуляции...
И поскольку я редко жду милостей от природы, я решил покопать ответ на заданный мною вопрос в топике 4-бит про LDA ADDR самостоятельно...

То что я накопал, повергло меня в суеверный ужосс :roll:
http://www.icfcst.kiev.ua/Museum/EP/i8080_r.html

Image
Регистровый файл

Обозначения.
A, B, ..., L - названия 8-разрядных регистров.
BC, DE, HL - названия регистровых пар, образующих 16-разрядные регистры.
SP - 16-разрядный указатель стека.
PSW - слово состояния программы, содержит регистр флагов.


Я как-то всю жизнь глупо надеялся, что PSW - это А и F, что, собственно, и есть "слово состояния"...

Но вот что такое 16-разрядный PCW ?! :o
Это какой-то сикретный PоCоWатый регистр, о котором подло умолчали все известные мне справочники... :(

Что-то одно из двух: либо "век живи - век учись", либо "не читайте советских газет перед едой"... :wink:


06 Nov 2011 13:25
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Lavr wrote:
Но вот что такое 16-разрядный PCW ?! :o
Это какой-то сикретный PоCоWатый регистр, о котором подло умолчали все известные мне справочники... :(


А он нигде не написал, что PCW 16-разрядный ;)
Судя по диаграмме он наоборот изобарзил, что PC и SP - 8-разрядные :)
Наверное дал студню какому-то статью накидать и потом толком не проверил...

_________________
:dj: https://mastodon.social/@Shaos


06 Nov 2011 15:22
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Shaos wrote:
Lavr wrote:
Но вот что такое 16-разрядный PCW ?! :o
Это какой-то сикретный PоCоWатый регистр, о котором подло умолчали все известные мне справочники... :(
А он нигде не написал, что PCW 16-разрядный ;)
Судя по диаграмме он наоборот изобарзил, что PC и SP - 8-разрядные :)
Наверное дал студню какому-то статью накидать и потом толком не проверил...

Меня всегда учили, что "байт" - 8 бит, а "слово" - 16 бит или 2 байта. Правильно Лавр заметил: слово состояния PSW это 2 байта: аккумулятор и флаги. На самом деле, состоянием являются только флаги, аккумулятор просто дополняет их. Но не суть. Так что, нарисовал байтом а описал словом.
Тем не менее, в данном случае указана программная модель, которая не отражает действительности. Есть у меня скудненький датащитик, вот такой:
Image
Так вот, в нем, я так понял, самая адекватная блок-схема:
Image
Как видно, есть целых два регистра-времянки в регистровом файле: W и Z, а так же один временный регистр для второго операнда ALU (видимо, это облегчает ситуацию, когда второй операнд - регистр M). Что скажете?

PS Почему заявлено 512 I/O портов? Или типа 256 на ввод и 256 на вывод?


07 Nov 2011 00:39
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Какой шикарный док я нашел в интернетах! Скачать прямой ссылкой. Жалко только качество убогое. Шаос, ты бы купил такую книжку, у вас то оно продается легко. А нам было бы полезно.


Last edited by HardWareMan on 08 Nov 2011 21:20, edited 1 time in total.



07 Nov 2011 03:40
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
Quote:
Конечно, через двадцать лет можно и Бейсик забыть. Поэтому, возможно, какие-то моменты я пропустил. Буду искренне благодарен всем приславшим на адрес chief{}pcweek.ru свои дополнения и замечания,


07 Nov 2011 07:49
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
HardWareMan wrote:
Какой шикарный док я нашел в интернетах! Скачать прямой ссылкой. Жалко только качество убогое. Шаос, ты бы купил такую книжку, у вас то оно продается легко. А нам было бы полезно.


на амазоне только одно предложение есть - 45 баксов
дороговато однако ;)
P.S. купил на ебее за 25 :)

_________________
:dj: https://mastodon.social/@Shaos


07 Nov 2011 07:57
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Shaos wrote:
P.S. купил на ебее за 25 :)

Но КАК?!
Т.е., мы можем рассчитывать на более качественные сканы если не всей книжки, так интересующих нас частей? Я бы тоже поимел, но нам такое наверное не перешлют. Эээх.
PS Спасибо еще раз за библию от ТИ. Очень классная книжка. ;)


07 Nov 2011 09:27
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Наверное дал студню какому-то статью накидать и потом толком не проверил...

Копипастил он подло-невнимательно. :(
Источник и автора источника я давно знаю.
Что меня расстраивает - вот зайдёт кто-то и "наберётся ума" про знаменитый процессор. :(

Написать что-ли веб-мастеру? Хотя я так устал бороться с глупостью...

shoorick wrote:
Quote:
Конечно, через двадцать лет можно и Бейсик забыть. Поэтому, возможно, какие-то моменты я пропустил. Буду искренне благодарен всем приславшим на адрес chief{}pcweek.ru свои дополнения и замечания,


Шурик... сайт-то украинский... может ты отпишешься?
А то пошлют меня, "москаля", за "пиииивом"... :wink:
Обычно я ни у кого не спрашиваю - написать или нет...


07 Nov 2011 10:04
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
Quote:
сайт-то украинский... может ты отпишешься?
А то пошлют меня, "москаля", за "пиииивом"

судя по украинской версии этой страницы вряд ли пошлют ;)


07 Nov 2011 10:43
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
HardWareMan wrote:
Shaos wrote:
P.S. купил на ебее за 25 :)

Но КАК?!
Т.е., мы можем рассчитывать на более качественные сканы если не всей книжки, так интересующих нас частей? Я бы тоже поимел, но нам такое наверное не перешлют. Эээх.
PS Спасибо еще раз за библию от ТИ. Очень классная книжка. ;)


Хм, я похоже немного другого наименования книгу приобрёл:
http://www.ebay.com/itm/350504271871
Может просто раннее издание?...
P.S. Пожалуйста :)

_________________
:dj: https://mastodon.social/@Shaos


07 Nov 2011 12:11
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
HardWareMan wrote:
Есть у меня скудненький датащитик, вот такой:
Image
Так вот, в нем, я так понял, самая адекватная блок-схема:
Image
Как видно, есть целых два регистра-времянки в регистровом файле: W и Z, а так же один временный регистр для второго операнда ALU (видимо, это облегчает ситуацию, когда второй операнд - регистр M). Что скажете?

Скажу, что программно-недоступные регистры временного хранения W и Z известны из литературы и не удивляют...

Если смотреть на организацию РС, то всё - как в литературе:
"на шину адреса микропроцессора i8080 через схему инкремента-декремента и тристабильный буфер выводится содержимое программного счётчика РС"

Так как же всёж работают LDA ADDR и STA ADDR?
Я, Хардыч, всё ж на тебя надеялся, ибо я непомню покомандных времЯнок процессора 8080, а ты их порой напоминешь...

Так куда же девают РС во время LDA ADDR и STA ADDR?
А если по-другому, то как? :wink:


07 Nov 2011 12:28
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Lavr wrote:
Так куда же девают РС во время LDA ADDR и STA ADDR?
А если по-другому, то как? :wink:

Никуда его не девают, просто в 4-м цикле он не меняется.
Вот растактовка по циклам:
M1 T1 выдача статуса (M1,чтение из памяти) и адреса PC
M1 T2 PC=PC+1
M1 T3 запись кода инструкции в регистр текущей команды
M1 T4 ничего (цикл М1 минимум 4 такта)
M2 T1 выдача статуса (чтение из памяти) и адреса PC
M2 T2 PC=PC+1
M2 T3 Z=шина данных
M3 T1 выдача статуса (чтение из памяти) и адреса PC
M3 T2 PC=PC+1
M3 T3 W=шина данных
M4 T1 выдача статуса (чтение из памяти) и адреса WZ
M4 T2 ничего (кроме изменения сигнала /DBIN)
M4 T3 A=шина данных

Когда выдаётся что-то на шину адреса, на следующем такте можно сохранить адрес, увеличенный на еденицу (т.е. прошедший через схему инкремента). Например в командах LHLD/SHLD в четвёртом такте сохранится WZ=WZ+1.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


07 Nov 2011 13:04
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
Никуда его не девают, просто в 4-м цикле он не меняется.
...
Когда выдаётся что-то на шину адреса, на следующем такте можно сохранить адрес, увеличенный на еденицу (т.е. прошедший через схему инкремента). Например в командах LHLD/SHLD в четвёртом такте сохранится WZ=WZ+1.

Я готов поверить - только чуть поподробнее, где хранится ADDR?
Как ADDR выводится на шину адреса?
И, если не жалко, - ссылку на официальный источник.


Last edited by Lavr on 08 Nov 2011 06:37, edited 1 time in total.



07 Nov 2011 13:13
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Shaos wrote:
Хм, я похоже немного другого наименования книгу приобрёл: http://www.ebay.com/itm/350504271871
Может просто раннее издание?...

Не похоже. Смотри:
Quote:
The book is about 50 pages in length.

Против 250+ у просто мануала. К тому же мануал датируется 1976 годом.
Lavr wrote:
Как ADDR выводится на шину адреса?

К сожалению, в этой книжке не рассказывается потактовка каждой инструкции. Однако, там рассказывается о 10 возможных машинных циклов, длительностью от 3 до 5 тактов (2 такта могут быть пропущены):
ImageImage
И некоторые из машинных циклов вкраце расписаны. Можно догадаться, хоть и примерно. Например, если присмотреться к блок-схеме, то не зря там все РОН объеденены парами (кроме аккумулятора и флагов естественно), присутствует схема выбора регистра и все это дело выведено на схему инкремента/декремента, которая выводится на защелку адресных линий. Можно догадаться, что у твоих любимых LDA/STA адрес считывается в W и Z и потом выставляется на защелку адреса для цикла обращения к памяти.


07 Nov 2011 20:28
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
Lavr wrote:
чуть поподробнее, где хранится ADDR?

Во временных регистрах W и Z, оттуда же и выдаётся, как и из любой другой регистровой пары.
b2m wrote:
M4 T1 выдача статуса (чтение из памяти) и адреса WZ

А ещё кто-то упрекал меня в том, что я не умею читать :)

HardWareMan wrote:
Lavr wrote:
Как ADDR выводится на шину адреса?

К сожалению, в этой книжке не рассказывается потактовка каждой инструкции.

А что же тогда показано на страницах с 28 по 31 (нумерация PDF, в самом мануале с 2-16 по 2-19)?

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


08 Nov 2011 01:08
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 90 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: No registered users and 4 guests


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 post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.