Важная информация

User Tag List

Показано с 1 по 5 из 5

Тема: Z80 Pipeline

  1. #1
    Activist Аватар для Higgins
    Регистрация
    03.05.2007
    Адрес
    St. Petersburg
    Сообщений
    297
    Благодарностей: 153
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Z80 Pipeline

    Вопрос знатокам внутренней архитектуры Z80.

    На страничке
    http://www.z80.info/z80arki.htm
    сказано, что в Z80 выборка инструкции (fetch) и исполнение инструкции могут перекрываться по времени, т.е. фактически реализован конвейер.
    Более того, приведена временная диаграммка для этого случая.

    Все бы ничего, и можно было бы даже не обращать внимания на то, что о конвейере в Z80 я никогда не слышал, но вот только что автор понимает под исполнением инструкции? В оригинальном User's Manual я ни в одной диаграмме не вижу ни микросекунды какого бы то ни было исполнения. Вместо это ясно сказано, что инструкция выполняется в три машинных цикла M1, M2 и M3, где M1 - выборка, M2 - чтение памяти, M3 - запись в память. Единственное, что сказано об исполнении инструкции, - это то, что оно (вместе с декодированием) происходит на циклах T3 и T4 в пределах цикла M1 (выборка), и это же время используется для обновления динамической памяти.

    Мало того, на диаграммке по приведенной выше ссылке видно, что выборка первой инструкции длится 3 временных цикла. А в том же User's Manual сказано, что выборка всегда длится 4, 5 или 6 временных циклов, ни никак не 3.

    Кто-нибудь может прояснить ситуацию?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    ZEK
    Гость

    По умолчанию

    данную статью я бы к примеру назвал бы не совсем точной

  4. #3
    Veteran Аватар для Mikka_A
    Регистрация
    23.10.2006
    Адрес
    С.Петербург
    Сообщений
    1,754
    Благодарностей: 81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy Посмотреть сообщение
    данную статью я бы к примеру назвал бы не совсем точной
    с чего такое мнение ( про НЕМО ) ?
    Scorpion 256 TurboPlus GMX2048 edition (с новой ревизией спец-чипов - Турбина и ПрофПЗУ на GAL22v10D, ФАПЧ дисковода - GAL16v8D ),CARO ZX_MC/SMUC1.3/GeneralSound 512 Kb/FDD3.5+5.25... Pentagon1024Sl v2/Z-controller+SD 2Gb/GS-512/TurboSound/FDD3.5+5.25...Speccy2007 48 +SD 2Gb ( 128+Ay в процессе ) ... Все через PAL-Coder

  5. #4
    Activist Аватар для Higgins
    Регистрация
    03.05.2007
    Адрес
    St. Petersburg
    Сообщений
    297
    Благодарностей: 153
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще два вопроса о Z80.

    В User's Manual сказано, что значение младших битов регистра R увеличивается после каждой выборки инструкции, а старший копируется из старшего бита регистра A. Это нужно понимать так, что R инкрементируется после каждого M-цикла выборки или только один раз на инструкцию, после выборки всех ее оп-кодов?

    Второй вопрос о значении адресной шины во время активного ~RFSH. Если я правильно понял, A15-A8 в это время - это значение R (кстати, уже увеличенного или еще до увеличения?). А чему в это время равны A7-A0?

    Спасибо!
    Последний раз редактировалось Higgins; 07.05.2007 в 10:16.

  6. #5
    Master
    Регистрация
    27.04.2005
    Адрес
    Москва
    Сообщений
    869
    Благодарностей: 3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насколько я помню, один раз за инструкцию, даже с префиксами. Хотя могу ошибаться - много времени прошло.
    Касаемо старшего бита - он просто сохраняется неизменным. Его можно загрузить по команде LD R, A. По этой команде R становится равным A, инкремент происходит уже на следующей команде.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •