В споре рождается срач, только если в форум сра... гадить.Сообщение от omercury
И никакого спора нет. Все давно поняли мою правоту. Похоже, Вы единственный, до кого еще не дошло. Кроме того, как указали в предыдущих постах, данную идею уже давно реализовали. Так что, о чём тут спорить и что доказывать ?
В качестве примера я рассматриваю реализацию МК на обычном МП ядре с обычным CPU. Здесь речь идёт об идее, о алгоритме работы и его реализуемости. Сложности реализации на AVR или другом прогрессивном кристалле вне данного вопроса. Чтобы обсуждать алгоритм не нужны знания о данных "материях". Достаточно посмотреть в исходном тексте программы как CPU работает с контроллером дисковода или винта. Тут вообще не требуется никаких знаний даже аппаратуры этих контроллеров. Исходный текст даёт знание алгоритма и этого достаточно, чтобы разработать эмулятор, хоть на прогрессивном МК, хоть на самом древнем CPU со своим ОЗУ, ПЗУ и интерфейсом с шиной основного процессора.Сообщение от omercury
Регистр данных и регистр статуса находятся внутри ВГ93, а в эмуляторе контроллера НГМД и винта эти регистры тоже есть аппаратно (хотя задействовав WAIT можно сократить железо и обойтись всего одним регистром на вывод). Что Вы оспариваете ? Процесор читает данные из регистра данных, когда они уже готовы и скорость с какой он это делает ни на что не влияет. Также и при записи, процессор не будет писать в регистр данных ничего, пока не будет готовности. Все операции выполняются только по готовности. И процессор готов ждать этого часами.Сообщение от omercury
Это 38-я и 39-я ноги ВГ93. Они в КНГМД большинства ЭВМ не используются (т.к для их чтения тратится лишний буфер) и используются только в ZX. Но эти выходы ВГ93 позволяют сделать опрос готовности аппаратным. Например, в КНГМД разработанным Л.Афанасьевым для СПЕЦИАЛИСТА, где такт КР580 всего 2 МГЦ, для ускорения работы эти выходы используются для вывода КР580 из захвата шины. Когда КР580 хочет считать байт из ВГ93, он переводит себя в HOLD и зависает. По сигналу на выводе DRQ ВГ93 процессор выходит их HOLD и сразу же читает или пишет байт данных, не теряя время на цикл и анализ готовности. Я встречал аналогичную схему, где CPU с этой же целью переводится в WAIT, что по-моему традиционнее.Сообщение от EvgenRU