Я оччень сомневаюсь, что прям таки до такта. Впрочем, не исключаю адаптации под конкретную модель.
Я оччень сомневаюсь, что прям таки до такта. Впрочем, не исключаю адаптации под конкретную модель.
к примеру вот эта http://www.pouet.net/prod.php?which=11147 или эта http://www.pouet.net/prod.php?which=54501 (грузить после usr0 в 128ом бейсике)
Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder
До такта - не обязательно. Можно чуть меньше.
Адрес там всегда болтается, через мультиплексор:
http://lvd.nedopc.com/ZX/2_sch.png
Похоже, тормозит по IOREQ, и по MREQ при A14 и А15 в медленную память. Но я не вполне понял что ты хотел сказать.
я к тому что, например команда LD (HL),A - 7 тактов
цикл обработки процом:
x1 тактов - чтение и дешифрация команды
x2 тактов - выставление шины адреса, шины данных
x3 тактов - выдача сигнала MREQ, WR - вот тут и идет торможение
т.е. если команда начала считываться на XXX такте, то тормоза будут на XXX+x1+x2 такте, так вот удобно бы посмотреть для каждой команды когда происходит это торможение, тогда можно все расчитать так, чтобы уменьшить торможение (скажем чтобы оно попадало на 0 или 1 торможение в тактах)
Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder
Ну да. Тормозится только цикл доступа к медленной памяти.
Такты команд неплохо расписаны здесь:
http://igorkov.org/pdf/Z80-Central-Processor-Unit.pdf
5.4 Очерёдность выполнения по циклам
Правда, там на команду PUSH цикл доступа к памяти трёхтактовый, а реально на шине это занимает 2 такта. Непонятно, пустышка первый или последний такт.
PS. Вру. 2 такта используется для чтения кода операции и рефреша. Для доступа к данным используется 3.
Последний раз редактировалось predatoralpha; 01.06.2012 в 12:19.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)