Давайте запилим pin-2-pin платку, на ПЛИС, сблекджеком и продажными женщинамиSDRAM и кешем. Белого цвета :biggrin:
- - - Добавлено - - -
https://www.1801bm1.com/files/images/vm2_dia3.png
Вид для печати
Давайте запилим pin-2-pin платку, на ПЛИС, сблекджеком и продажными женщинамиSDRAM и кешем. Белого цвета :biggrin:
- - - Добавлено - - -
https://www.1801bm1.com/files/images/vm2_dia3.png
@Vslav, что такое IN_UA, UA_REPLY, TO_REPLY, IOP_IAK, IOP_SEL?
UA - UnAddressed - безадресное обращение, UA_RPLY - это фантомный RPLY, генерируется внутри процессора в циклах безадресного обращения (не требуется внешний RPLY)
TO_REPLY - это фантомный внутренний RPLY, генерируется в транзакциях предвыборки инструкций по тайм-ауту шины для того чтобы избежать исключения. С блокировкой исключений на предвыборке много интересного, я писал про это в своей теме, и у меня есть специальный тест vm2/tst/pcbug.mac который все эти специальные случаи тестирует.
IOP_IAK - команда блоку IO для выполнения транзакции чтения вектора прерывания
IOP_SEL - команда блоку IO для выполнения безадресной транзакции
@Vslav, не очень мне нравится, что триггер IOP_RD не сбрасывается по MCRES.
Это может привести к тому, что если MCRES придет в середине цикла DIN, то DIN встанет в Z-состояние.
Что за сигналы RA_FWN, RA_FR, RTA, CREQ?
IOP - это буферный регистр текущего кода транзакции, он и не должен сбрасываться. MCRES вполне штатно приходит при аквтином DIN/DOUT - при тайм-ауте шины и все работает.
- - - Добавлено - - -
Это я не помню, RTA вроде запрос на транзакцию, и оно было описано в документации на процессор.
И все работает - это ненаучный подход)
DIN при этом переходит в Z-состояние из-за того, что выходной буфер использует комплиментарный DIN, /DIN, из которых по MCRES сбрасывается DIN, а /DIN и так был в нуле.
- - - Добавлено - - -
Посмотрел внимательнее выходной буфер DIN.
Там еще хуже. При DIN=0, и /DIN=0 на выходных транзисторах вообще получается сквозной ток.
Никогда не говори такого физикам, потому что эксперимент - критерий истины. Это уже твоя проблема как теоретика понять где ты чего упустил и почему твое представление не соответствует экспериментальным данным - "мадам, это Ваш сон" (c) :). DIN_SET снимается при тайм-ауте, похоже потому что rplys становится высоким и никаких проблем с DIN нету.
Чего очевидно не наблюдается в реальном процессоре (иначе горели бы выходы nDIN массово).
Держи картинку отработки тайм-аута шины:
Скрытый текст