ZX-News #36
02 июля 1997

Процессоры - Хитрые процессоры или программы , которые стабильно , в одном и том же месте "зависают".


Аппаратное обеспечениеОбучение и справочные материалыОписание логических микросхем и микропроцессоров

╔═───────────────════════───────────────═╗
│            Хитрые процессоры           │
╚═──────────────────────────────────────═╝

                      - Я сказал DI : HALT
                      - Ну и что?!

                         Александр Майоров
                             Дмитрий Ломов

  Вам,  уважаемые читатели, не встречались
программы,  которые  стабильно,  в одном и
том же месте, "зависают"?

  Ну,  причин для этого очень много, а вот
ещё одна:

  Некая программа при запуске "висела", и,
с вопросом "почему?", на Скорпе была нажа-
та кнопка "Magic"...

  И что-же оказалось? А вот что:
  Процессор выполнял команду HALT при зап-
рещённых прерываниях!

  И такой же "эффект" имелся ещё в некото-
рых программах.
  Разумеется,  после  того,  как процессор
"протолкнули" через этот  HALT,  программа
заработала...

  Поскольку маловероятно, что авторы прог-
рамм "не заметили" этот "глюк" при отладки
программы, то вопрос  "что же это такое?",
казалось, не имел ответа...

  Оказывается, всё объясняется процессором
КР1858ВМ3. Его система прерываний несколь-
ко отличается от фирменного  Z80.

             Пункт номер раз:
  В случае выполнения команды  HALT запрет
прерываний  игнорируется. То есть, команда
DI  запрещает прерывания, и они невозможны
до тех пор, пока процессор не наткнется на
HALT. На время исполнения  HALT прерывания
разрешаются, и, как только прерывание воз-
никло, опять запрещаются.

             Пункт номер два:
  Во  время ожидания прерывания по команде
HALT  не выполняются циклы регенерации па-
мяти.  Ни  к чему фатальному это не приво-
дит,  так как память регенерируется видео-
контроллером.  В  случае стандартного про-
цессора во время ожидания по  HALT  внутри
процессора  генерируются и выполняются ко-
манды  NOP, и вместе с ними проходят циклы
регенерации.  В результате, для процессора
ВМ3 регистр  {R}  не меняется во время ис-
полнения HALT.

 Пункт номер три, следствие предыдущего:
  Во  время  исполнения  HALT  реакция  на
прерывание  при поступлении запроса проис-
ходит  мгновенно. В стандартном же процес-
соре реакция на прерывание возникает толь-
ко  по окончанию выполнения текущей холос-
той команды  NOP.

      Рулезное следствие пункта три:
  При написании мультиколоров внутри стро-
ки  (например,  шахматное поле), для стан-
дартного  процессора нужно выравнивать всю
программу,  дабы  время  её  исполнения от
HALTа  до HALTа было кратно четырем (здесь
также  нужно  учитывать цикл подтверждения
прерывания).  Если программа не выровняна,
то  возникают  "дрожалки"  по горизонтали,
так  как время между возникновением преры-
вания и его подтверждением зависит от фазы
быполнения холостых NOPов (неравномерность
от  нуля до трех тактов). В случае процес-
сора  ВМ3  время между возникновением пре-
рывания  и его подтверждением всегда равно
нулю (если был HALT). Посему процессор ВМ3
незаменим на этапе отладки мультиколоров.

  Процессор   1858ВМ3   является  аналогом
Z84C004   (Z80A),  исключая  вышеназванные
обстоятельства.

  Вот так-то!

        __________________________
           ────────────────────



>



Другие статьи номера:

Oт редакции - Первый блин - слегка комковатый.

Scorpion - О новых разработках для компьютера Скорпион.

Музыка - Музыка в жизни компьютерщика.

Опечатка - Vicomm-совместимый модем от FLASH'a ??? Краткое пояснение возможности скоростей,больших 3200 бод на Vicomm-модеме.

Процессоры - Хитрые процессоры или программы , которые стабильно , в одном и том же месте "зависают".

Сетевые новости - Правила эхи BBS.INFO

Список BBS - Сетевой гейт. Список BBS.

Юмор - Это было на самом деле.

Информация куклы эвер афтер хай на нашем сайте.

Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Железо - сердце спекки - это его микропроцессор.
Железо - обзор микропроцессора Zilog Z380, продолжение.
Таблички - справочные сведения по микросхемам и кодам команд микропроцессора К580ИК80.

В этот день...   28 сентября