nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 23 Apr 2024 03:34



Reply to topic  [ 295 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 20  Next
Proteus C++ DLL's 
Author Message
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Post 
Quote:
0100 0010 CY=1
RLC
1000 0100 CY=0
RLC
0000 1001 CY=1

0100 0010 CY=1
RAL
1000 0101 CY=0
RAL
0000 1010 CY=1

Ты ничего не напутал?

Вполне возможно.
У меня уже вкралось такое подозрение.
Скажите пж-та коды этих 4-х операций.


15 Dec 2012 03:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
aav8 wrote:
Можно будет позаниматься прерываниями.

Вот насчет прерываний - запилили меня сомнения, но откуда не вспомню никак:
если по прерыванию получаем вектор RST N, то DI выполняется чисто аппаратно само,
а если CALL ADDR, то DI - должно быть первым кодом подпрограммы обслуживания
прерывания.

Это так, или я что-то подзабыл?

Дословно информация выглядит вот так:

Image

То есть, получается что RST N просто из текста программы само делает DI?
А в перываниии - это как бы дублируется ещё и механизмом прерывания
самого процессора?

_________________
iLavr


17 Dec 2012 22:52
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
2_aav8: И ещё у меня тут один момент посеял сомнения... :(
Ты по какому источнику выставляешь значения STATUS WORD?
Я по началу ориентировался на вот это:


Intel 8080 Microcomputer Systems User's Manual

Но дёрнуло меня сравнить со справочником Шахнова...



Дык они не совпадают! :o

А с ними не совпадает таблица для STATUS WORD с нашего форума, которую
я брал вот здесь: http://it.fitib.altstu.ru/neud/emt/index.php?doc=teor&module=3
Attachment:
SlovoSost.jpg
SlovoSost.jpg [ 19.08 KiB | Viewed 8915 times ]

Я сверился ещё с тремя источниками - и они не совпадают между собой,
но один, похоже, совпадает с Intel...

И сомнения вызывает HLT - по идее при HLT ничего не пишется в память,
но ничего и не читается...
Разве что при HLT не выдается строба обращения к памяти, тогда и
соответствующий бит STATUS WORD как бы безразличен... :-?

А у Intel при HLT:
D7 - Чтение памяти (MEMR) =1шина данных будет
использоваться для чтения данных из памяти
.

_________________
iLavr


18 Dec 2012 00:42
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Lavr wrote:
А у Intel при HLT:
D7 - Чтение памяти (MEMR) =1шина данных будет использоваться для чтения данных из памяти.

У Intel при HALT выдается не только MEMR, но и WO. Может, PLA внутри 8228 декодирует это как "Illegal State" и отключает все сигналы?

Немного о ВК28:
Image
Так как он определяет, что нужно 3 байта для варианта CALL? По идее, прерывание это:
Image
И это подтверждает таблица:
Image
И согласно уже поднадоевшим кое-кому таблицам машинных циклов ясно, что М1 на то он и первый машинный цикл, когда происходит чтение (FETCH) самого опкода. И в случае многобайтной команды (например та же CALL) второй и третий циклы уже не будут иметь флаг M1 в статусе. Учитывая, что 8259 использует только команду CALL:
Image
Получается, что 8228 заточен под код команды CALL, а выше озвученная проблема автоматического исполнения команды DI решается самим 8259, который запрещает все прерывания с более низким приоритетом и которого нужно обязательно тронуть, при выходе из прерывания.


Last edited by HardWareMan on 18 Dec 2012 04:32, edited 2 times in total.



18 Dec 2012 03:49
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 860
Reply with quote
Post 
HardWareMan wrote:
У Intel при HALT выдается не только MEMR, но и WO.

Я так и подумал, что ты не обратил внимание, что в таблице WO с чёрточкой сверху...

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


18 Dec 2012 04:17
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
b2m wrote:
HardWareMan wrote:
У Intel при HALT выдается не только MEMR, но и WO.

Я так и подумал, что ты не обратил внимание, что в таблице WO с чёрточкой сверху...

А, точно. Забавно, конечно, почему один инверсный сигнал среди 7 нормальных.


18 Dec 2012 04:30
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 860
Reply with quote
Post 
HardWareMan wrote:
выше озвученная проблема автоматического исполнения команды DI решается самим 8259

Флаг разрешения прерываний сбрасывается самим процессором в цикле подтверждения прерывания. А 8259 лишь маскирует (дополнительно к маске прерываний, хранящейся в регистре маски прерываний) запросы, которые он отработал.

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


18 Dec 2012 04:35
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Shaos wrote:
P.S. А это не та ли книжка, в которой "схема заряда шины" была нарисована? ;)

Я в той книжке нашел следующее упоминание:
Image
Отсюда возникает вопрос: наш nMOS старичок не фулл статик? Я к тому, что верхнюю границу тактовой частоты все проверяют, а нижняя на каком уровне? Если он окажется полностью статический, то можно будет выбросить эту книжку. Кто-то же тут собирал ЮТ, на нем вполне можно проверить. Ну а если никто не хочет - что ж, это могу сделать и я, собрав такой маленький стендик для тестов и издевательств над ВМ80. Отмечу, что датащит ограничивает максимальную длительность периода тактов на уровне 2мкс (500КГц):
Image
Image


18 Dec 2012 11:52
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
Отсюда возникает вопрос: наш nMOS старичок не фулл статик? Я к тому, что верхнюю границу тактовой частоты все проверяют, а нижняя на каком уровне?

Давно известно из многих источников (в частности, П.Хоровиц,
У.Хилл
"Искусство схемотехники. Том 2.
"), что у i8080
внутренние регистры динамического типа.

Поэтому он не работоспособен на "нулевой" частоте.

Нижняя граница частоты тактов регламентирована.

_________________
iLavr


Last edited by Lavr on 18 Dec 2012 14:46, edited 1 time in total.



18 Dec 2012 11:56
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Lavr wrote:
у 8080 регистры динамического типа.

Изучая PPU от NES/FC я понимаю, что это нормальная практика тех лет. Отсюда другой вопрос: где регламентировано время запуска процессора (установления предсказуемых осмысленных сигналов и, собственно, начала чтения первой команды) и как происходит регенерация внутренних регистров на основе динамической памяти (т.е. конденсаторах)? Для MOS 6502 это все указано в соответствующем мануале.


18 Dec 2012 12:04
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
Lavr wrote:
у 8080 регистры динамического типа.

Изучая PPU от NES/FC я понимаю, что это нормальная практика тех лет. Отсюда другой вопрос: где регламентировано время запуска процессора (установления предсказуемых осмысленных сигналов и, собственно, начала чтения первой команды) и как происходит регенерация внутренних регистров на основе динамической памяти (т.е. конденсаторах)? Для MOS 6502 это все указано в соответствующем мануале.

Для 8080 это указано в любимых тобой времянках: Tmin ... Tmax.

Image

Минимальное время сброса - 3 такта. Обсуждали здесь уже...

_________________
iLavr


18 Dec 2012 12:08
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Жалко LPT высокие частоты не пропустит... :(

А то, по имеющимся уже оценкам, можно было бы повторить "Специалист"
для пробы вот так - с реальным видео-выходом... :lol:

Image

Цифровые модели без аналоговых частей DSIM Proteus симулирует очень шустро! :o

Пожалуй, на Core 2 Duo на 2 ГГц симуляция "Спеца" была бы в реальном масштабе времени...

_________________
iLavr


18 Dec 2012 13:52
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Джентльмены, тем не менее - по поводу HLT:
Lavr wrote:
А у Intel при HLT:
D7 - Чтение памяти (MEMR) =1шина данных будет
использоваться для чтения данных из памяти
.

/WO = 1 и М1 = 1.
Ну М1 = 1 - это ясно, т.к. команда с 1 циклом должна выдать STATUS WORD и подать SYNC.

А что получается с MEMR =1 и /WO = 1 ?
Ведь HLT действительно не обращается к памяти ни на чтение, ни на запись.

Или просто i8080 не выдаёт DBIN/WR во время HLT?

По времянкам Хардыча - выдаётся DBIN при HLT :



Так что читаем - то в HLT ? Ну в первом цикле - сам КОП HLT выходит...
А вот дальше что? На шинах текуший адрес или z-состояние?

_________________
iLavr


18 Dec 2012 14:56
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
А по графику в 9 цикле нет чтения или записи. Я про DBIN и про WR. Напоминаю, что биты статуса нужны только для декодирования намерений процессора, а сома чтение или запись гейтятся вполне конкретными сигналами, которые в режиме останова он не генерирует.


19 Dec 2012 01:57
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Post 
Это выходит HLT - 2 машинных цикла?


19 Dec 2012 02:12
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 295 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 20  Next

Who is online

Users browsing this forum: No registered users and 35 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.