Архитектура процессора 8080

8-битные микроконтроллеры и микропроцессоры от Intel и их клоны, а также компьютеры на них построенные

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Архитектура процессора 8080

Post by Lavr »

Архитектура процессора 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:
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Архитектура процессора 8080

Post by Shaos »

Lavr wrote: Но вот что такое 16-разрядный PCW ?! :o
Это какой-то сикретный PоCоWатый регистр, о котором подло умолчали все известные мне справочники... :(
А он нигде не написал, что PCW 16-разрядный ;)
Судя по диаграмме он наоборот изобарзил, что PC и SP - 8-разрядные :)
Наверное дал студню какому-то статью накидать и потом толком не проверил...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Re: Архитектура процессора 8080

Post by HardWareMan »

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 на вывод?
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Какой шикарный док я нашел в интернетах! Скачать прямой ссылкой. Жалко только качество убогое. Шаос, ты бы купил такую книжку, у вас то оно продается легко. А нам было бы полезно.
Last edited by HardWareMan on 08 Nov 2011 21:20, edited 1 time in total.
User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Post by shoorick »

Конечно, через двадцать лет можно и Бейсик забыть. Поэтому, возможно, какие-то моменты я пропустил. Буду искренне благодарен всем приславшим на адрес chief{}pcweek.ru свои дополнения и замечания,
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

HardWareMan wrote:Какой шикарный док я нашел в интернетах! Скачать прямой ссылкой. Жалко только качество убогое. Шаос, ты бы купил такую книжку, у вас то оно продается легко. А нам было бы полезно.
на амазоне только одно предложение есть - 45 баксов
дороговато однако ;)
P.S. купил на ебее за 25 :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:P.S. купил на ебее за 25 :)
Но КАК?!
Т.е., мы можем рассчитывать на более качественные сканы если не всей книжки, так интересующих нас частей? Я бы тоже поимел, но нам такое наверное не перешлют. Эээх.
PS Спасибо еще раз за библию от ТИ. Очень классная книжка. ;)
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Архитектура процессора 8080

Post by Lavr »

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

Написать что-ли веб-мастеру? Хотя я так устал бороться с глупостью...
shoorick wrote:
Конечно, через двадцать лет можно и Бейсик забыть. Поэтому, возможно, какие-то моменты я пропустил. Буду искренне благодарен всем приславшим на адрес chief{}pcweek.ru свои дополнения и замечания,
Шурик... сайт-то украинский... может ты отпишешься?
А то пошлют меня, "москаля", за "пиииивом"... :wink:
Обычно я ни у кого не спрашиваю - написать или нет...
User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Post by shoorick »

сайт-то украинский... может ты отпишешься?
А то пошлют меня, "москаля", за "пиииивом"
судя по украинской версии этой страницы вряд ли пошлют ;)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

HardWareMan wrote:
Shaos wrote:P.S. купил на ебее за 25 :)
Но КАК?!
Т.е., мы можем рассчитывать на более качественные сканы если не всей книжки, так интересующих нас частей? Я бы тоже поимел, но нам такое наверное не перешлют. Эээх.
PS Спасибо еще раз за библию от ТИ. Очень классная книжка. ;)
Хм, я похоже немного другого наименования книгу приобрёл:
http://www.ebay.com/itm/350504271871
Может просто раннее издание?...
P.S. Пожалуйста :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Архитектура процессора 8080

Post by Lavr »

HardWareMan wrote:Есть у меня скудненький датащитик, вот такой:
Image
Так вот, в нем, я так понял, самая адекватная блок-схема:
Image
Как видно, есть целых два регистра-времянки в регистровом файле: W и Z, а так же один временный регистр для второго операнда ALU (видимо, это облегчает ситуацию, когда второй операнд - регистр M). Что скажете?
Скажу, что программно-недоступные регистры временного хранения W и Z известны из литературы и не удивляют...

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

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

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

Re: Архитектура процессора 8080

Post by b2m »

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/
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Архитектура процессора 8080

Post by Lavr »

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.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:Хм, я похоже немного другого наименования книгу приобрёл: http://www.ebay.com/itm/350504271871
Может просто раннее издание?...
Не похоже. Смотри:
The book is about 50 pages in length.
Против 250+ у просто мануала. К тому же мануал датируется 1976 годом.
Lavr wrote:Как ADDR выводится на шину адреса?
К сожалению, в этой книжке не рассказывается потактовка каждой инструкции. Однако, там рассказывается о 10 возможных машинных циклов, длительностью от 3 до 5 тактов (2 такта могут быть пропущены):
ImageImage
И некоторые из машинных циклов вкраце расписаны. Можно догадаться, хоть и примерно. Например, если присмотреться к блок-схеме, то не зря там все РОН объеденены парами (кроме аккумулятора и флагов естественно), присутствует схема выбора регистра и все это дело выведено на схему инкремента/декремента, которая выводится на защелку адресных линий. Можно догадаться, что у твоих любимых LDA/STA адрес считывается в W и Z и потом выставляется на защелку адреса для цикла обращения к памяти.
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

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/