ZX Format #02
30 ноября 1995
  Железо  

Железо - Производители: KAY - Турбирование Spectrum - машин

<b>Железо</b> - Производители: KAY - Турбирование Spectrum - машин
Турбирование Spectrum - машин.


   Цель: устранение неведения.

                         
                         
                         
(C) Nemo                 
________________________________


   "...   Это  стремление  может
сказываться  в разных формах и с
разной  силою - в зависимости от
того,  насколько  просветлена  и
обуздана эта знойная жажда чело-
веческого самоуничижения, проры-
вающаяся  из  подсознательных  и
темных глубин..."
   Свящ. Г.В. Флоровский, "Ви-
   зантийские отцы V-VIII" из
   чтений в православном бого-
   словском институте в Париже.
   Париж, 1993, стр.35.

   Средство: магия слова.

   "...  Слова  путались и двои-
лись и увлекали за собой мысль -
у   слов   есть   своя  магия  и
власть..."
   Там же, стр.7.

   "...  Здесь  важны не столько
отдельные слова и речения, - ха-
рактерен  самый стиль и внутрен-
няя тенденция мысли..."
   Там же, стр.9.

   Права:  перепечатка и цитиро-
вание  разрешены  только  в  ав-
торской  редакции  со ссылкой на
фирму (с) Nemo.
        _______________

         Терминология.

   Для начала следует определить
гамму смежных понятий, необходи-
мых  для однозначного, без пута-
ниц,  восприятия дальнейшего из-
ложения.
   Def.  1:  Вычислительная мощ-
ность    ПК    -    интегральный
(комплексный)  критерий, конста-
тирующий  практическую  скорость
(производительность труда) рабо-
ты пользователя на этом ПК.
   Это понятие удобно рассматри-
вать на примере ПК IBM, обладаю-
щего наиболее развитой, гибкой и
разнообразной конфигурацией, так
как  вычислительная мощность за-
висит прежде всего от конфигура-
ции  и  производительности. Гиб-
кость  процессора  и  наращивае-
мость    конфигурации    придает
встроенное ПО. Прежде всего, это
DOS,  а в ней BIOS (Base Input /
Output  System). Переделывая BI-
OS, можно получать разнообразные
аппаратные конфигурации, имеющие
адекватную    программную   под-
держку.  Spectrum в этом отноше-
нии исключительно консервативен,
так как TR-DOS DOS'ом, как кста-
ти, и OS'ом, в буквальном смысле
этого слова не является. Истори-
чески система задумывалась и ре-
ализовывалась как устройство для
быстрой  загрузки  программ  под
аппаратный  довесок  к "резинке"
сэра Клайва Синклера, что и пре-
допределило дальнейшие трудности
с аппаратным развитием Spectrum-
'а.  IS-DOS в этом отношении вы-
годно  отличается  и  сравнима с
TR-DOS,  как  божий дар с яични-
цей.
   Не забудем и о  соразмерности
мощностей  примененных в ПК под-
систем.  Значительное,  несораз-
мерное наращивание мощностей от-
дельных  подсистем если и приво-
дит,  то  лишь к незначительному
росту  вычислительной  мощности.
Конкретные оптимальные соотноше-
ния   мощностей  зависят  прежде
всего  от круга решаемых пользо-
вателем  задач  и  будут разными
для, например, баз данных и гра-
фических станций.
   Представим себе, что мы уста-
новили   32Мб   памяти   ОЗУ  на
Spectrum  (Спокойно, дорогие чи-
татели,  эта  мысль  пришла не в
голову  автора,  см. "Радиолюби-
тель"  N4 за 94г., "Персональный
компьютер   "Эрик",   стр   9.).
Представили?   Автор   себе  это
представляет в виде двигателя от
"Боинга", установленного на "За-
порожец".  Весело, не правда ли?
Почему  же получилась такая хох-
ма?  Z80  имеет  восьмиразрядную
шину  данных, 4 МГц тактирования
и  64к непосредственно доступной
памяти;  механизмы сегментирова-
ния  окажутся сложны, непроизво-
дительны  и  нестандартны. Объем
информации  в 32Мб, буде таковой
найдется,   превратится,  как  и
"Запорожец",  в кучу хлама, если
отсутствует  DOS  для  доступа и
работы  с такими объемами. К со-
жалению, все вышесказанное можно
отнести  и  к  винчестеру - даже
если  Вы и согласны работать под
системой IS-DOS, все равно целе-
сообразность его установки оста-
ется под вопросом.
   Чтобы закрыть  Def.  1,  сле-
дует, пожалуй,  разъяснить,  что
служит  мерилом   вычислительной
мощности. Это программа -  тест,
которая показывает, с какой час-
тотой необходимо было бы  такти-
ровать процессор некоей  базовой
машины,  чтобы  та  по  вычисли-
тельной  мощности  сравнялась  с
тестируемым образцом. Именно так
и делается  в  компьютерах  IBM,
которые выдают красивое число  в
МГц, которое ошибочно  путают  с
физической   частотой    реально
имеющегося тактового сигнала.
   Если  предположить, что архи-
тектура    неизменна,    а   для
Spectrum'а  это  весьма близко к
истине,  то  вычислительная мощ-
ность зависит только от произво-
дительности процессора и ей пря-
мо  пропорциональна.  Поэтому  -
Def. 2:

  Def.   2:   Произвоительность
процессора  (компьютера)  -  это
количество выполняемых процессо-
ром  коротких  команд (например,
регистр  -  регистр)  в  единицу
времени.  Размерность, таким об-
разом, выглядит как [опер./сек].
   Этот параметр важен не только
для  решения ирреальных академи-
ческих задач в нереальном време-
ни.   Пример   такой   задачи  -
подсчет числа счастливых билетов
в  рулоне существовавших когда -
то  автобусных  касс. Эта задача
уникальна  по  трем причинам. Не
существует  иного  способа реше-
ния,  нежели  перебор; программа
исключительно компактна; для ре-
шения  необходимо машинное время
в лошадиных дозах.
   Гораздо   более   важны   для
Spectrum'а,   как   для  преиму-
щественно  игрового  компьютера,
возрастающие  потенциальные воз-
можности  по усложнению графики,
увеличению числа графических об-
ъектов  (спрайтов) на экране без
уменьшения  их динамики, утонче-
ние   антуража  (игрового  фона,
второго  плана)  и,  несомненно,
игр  уже  существующих. В играх,
использующих итерационные вычис-
ления  (имитаторах)  объекты со-
вершают более плавные эволюции и
менее судорожны.
   Отступая несколько в сторону,
можно  привести  и другие (архи-
тектурные) способы повышения ка-
чества  графики. В Dendy, напри-
мер,  при  относительно немощном
процессоре и малом объеме ОЗУ за
счет техники ПДП (прямого досту-
па к памяти) достигается высокое
качество  антуража, однако общая
статичность  картинки и бедность
игровой ситуации с головой выда-
ют  методы их технической реали-
зации.
   Вообще Motorol'овские прибам-
басы упирают в технику ПДП. Один
из  последних  компьютеров Amiga
имеет  27 каналов ПДП, и поэтому
очень удобен, например, для соз-
дания TV - рекламных роликов.
   Итак,  полезность  увеличения
производительности  нами осозна-
на. Засим Def. 3:
   Def.  3: Коэффициент турбиро-
вания  - это относительная вели-
чина,  показывающая,  во сколько
раз (на сколько процентов) изме-
нилась   производительность   по
сравнению с эталоном.
   Def.  4: Эталон - базовый об-
разец ПК, производительность ко-
торого принята за единицу. Обыч-
но  в  качестве эталона выбирают
тот же самый ПК до турбирования.
Недостаток такого выбора состоит
в  том,  что  производительность
разных  марок машин в нормальном
(обычном) режиме уже различна. В
результате  появляется неопреде-
ленность  при сравнении турбиро-
ванных  машин  по быстродействию
(производительности).
   Комментарий:  определения вы-
несенные  в пролог статьи, пока-
жутся кому - то тягомотиной, по-
этому   приведу  примеры  непра-
вильных трактовок, встречающихся
сплошь и рядом.
   Турбированный контроллер дис-
ков - контроллер дисков, в кото-
ром период сигналов позициониро-
вания  головок снижен в 1.75 : 2
раза.  Никакого отношения к про-
изводительности собственно ПК не
имеет;  вычислительная  мощность
же, хоть и незначительно, но по-
вышается,  так  как  уменьшается
время доступа к диску.
   Коэффициент турбирования час-
то  путают с отношением тактовых
частот  компьютера  до  и  после
турбирования. Как правило, отно-
шение  тактовых  частот  во всех
Spectrum'ах  равно двум; коэффи-
циент  же турбирования может ле-
жать  в диапазоне 1.25 : 2 (25 :
100%).
   Коэффициент      турбирования
обычно различен для ПЗУ и ОЗУ: в
ПЗУ  он  больше и примерно равен
двум.

     Расчетные соотношения.

   Коэффициент  турбирования  не
является  абсолютной  величиной,
как  это следует из определения,
поэтому исследуем, отчего он за-
висит.
 ┌───────────────────┐

 │     F    Nту + Nwб│

 │Kт = ── * ─────────│   (1),

 │     Fб   Nту + Nw │

 └───────────────────┘

где:
    Kт  - коэффициент турбирова-
ния;
    F - тактовая частота процес-
сора  в  турбо  - режиме (обычно
7 МГц);
    Fб  -  тактовая частота про-
цессора базового варианта;
    Nту  -  общее  число  тактов
процессора на основе технических
условий (ТУ) на Z80, необходимое
для  выполнения  тестового фраг-
мента программы;
    Nw и Nwб - число тактов ожи-
дания, образовавшихся при прого-
не  тестового фрагмента в тести-
руемом  и базовом образцах соот-
ветственно.
   Анализ формулы. В формуле нет
точного  равенства. Это объясня-
ется тем, что F в процессе рабо-
ты  может  меняться. Например, F
обычно  снижается  при  работе с
портами ввода - вывода; реализо-
вать   требуемую  задержку,  ис-
пользуя  WAIT,  оказывается нак-
ладно  схемотехнически. Nw может
зависеть  от фазы видеопроцессо-
ра.
   Коэффициент  турбирования  Kт
действительно зависит от отноше-
ния  тактовых частот. Однако же-
лание безмерно увеличить F явля-
ется  не  более,  чем соблазном.
Увеличение  F, начиная с некото-
рого момента, приводит к резкому
росту Nw. Физически это объясня-
ется  следующим  образом. Каждый
машинный  цикл  содержит  в себе
обращение  к  памяти,  а  память
имеет  вполне определенное коли-
чество промежутков времени (цик-
лов  обращения к ОЗУ; подразуме-
вается,  что машина с непрозрач-
ным видеопроцессором), в которых
возможен доступ процессора к ОЗУ
(возможен  обмен  данными  между
процессором и ОЗУ). Если процес-
сор  "созрел"  и захотел поиметь
данные  раньше, чем подошло оче-
редное  окно,  то он получает от
арбитра WAIT и тем обламывается.
   Домножив  Kт  на  Fб, получим
эффективную частоту тактирования
Fэфф,  которая  в  отличие от F,
действительно      характеризует
быстродействие       (производи-
тельность)  по отношению к базо-
вому  образцу или базовому режи-
му.
     ┌──────────────┐

     │Fэфф = Fб * Kт│    (2)

     └──────────────┘


   В заключение необходимо отме-
тить,  что формула (1), имея не-
сомненные  достоинства в нагляд-
ности,  не функциональна. Форму-
лы,  вообще  -  то,  пишутся для
умозрительного  анализа и синте-
за, то есть предполагают какую -
то полезную работу с ними. Опре-
делить  же  Nw  без  специальных
ухищрений  невозможно.  Это либо
титанический   процесс   анализа
временных диаграмм, либо кропот-
ливая работа  по  созданию  спе-
циальной аппаратной  "мышеловки"
(ловушки) для  "левых"  активных
WAIT'ов со счетчиком на Nw.  За-
дача определения Kт (либо  Fэфф)
решается при помощи  программ  -
тестов.

                            ...

...


     Способы турбирования.


   Все  способы турбирования, по
существу, сводятся к более раци-
ональному и экономному использо-
ванию  того  ограниченного числа
окон, которые образуются при ра-
боте с ОЗУ. Умело работая такто-
вой  частотой  (CLC)  и WAIT'ом,
нужно  заставить  процессор хва-
тать не что попадя, а именно то,
что лежит в ОЗУ, то есть совмес-
тить  во времени момент защелки-
вания  (либо  истинности  данных
при  выдаче) процессора и готов-
ность  ОЗУ.  Обычно  эту функцию
выполняет арбитр. На него стека-
ется  разнообразная информация о
том,  что  делает или собирается
делать  процессор, и фаза, в ко-
торой  находятся  временное окно
ОЗУ  и видеопроцессор. В функции
арбитра  входит анализ поступаю-
щей  информации и управление ли-
нией  WAIT'а.  Вовремя обламывая
процессор,  арбитр  не  дает ему
хватать  всякую  гадость с шины.
Обычно арбитр выполняется в виде
дерева   (многоярусная   логика)
запретов,  например, на базе ИМС
PALR8,   которая   по  совмести-
тельству  обеспечивает и необхо-
димую  степень синхронности сиг-
налов, то есть синхронным цифро-
вым  автоматом, на что указывает
индекс R (Register).
   Дерево  получается  раскидис-
тым,  так  как требуется предус-
мотреть все ситуации, когда про-
цессор  необходимо притормозить.
Это пример апофатического турби-
рования,  то  есть  когда истин-
ность  WAIT'а  определяется  как
поштучное  отрицание ряда непод-
ходящих для этого ситуаций.
   Существует  и  другой  метод,
примененный в компьютере KAY-256
TURBO фирмы (с) Nemo, основанный
на фазовой автоподстройке циклов
процессора  под  окна  ОЗУ. Этот
метод можно назвать динамическим
модифицированием машинных циклов
(ДММЦ).  Любопытно, что для реа-
лизации ДММЦ не требуются допол-
нительные  аппаратные затраты, а
только    незначительное   пере-
распределение функций в уже име-
ющихся  цепях. Нет арбитра - при
ДММЦ  арбитр вырождается в прос-
тейший нуль - датчик - синхрони-
затор  системы  ФАП и существует
только  виртуально. Нет арбитра,
нет  дерева,  нет  затрат. Метод
ДММЦ  более  простой,  и в то же
время наиболее эффективный метод
турбирования  Spectrum  - машин.
Однако   эта   святая   простота
весьма  обманчива,  так  как для
практической реализации ДММЦ не-
обходима высокая культура схемо-
техники и, прежде всего, высокая
степень  синхронизации подсистем
Spectrum'а.   Поэтому  переделка
имеющихся   Spectrum'ов  если  и
возможна, то неоправданно трудо-
емка.  Проще  заново  воссоздать
четверть схемы компьютера на ба-
зе PAL16-R8. Именно Заново, гос-
пода, Заново.
   Простота  ДММЦ  выливается не
только  в красивую схемотехнику,
но  и в удобство временного ана-
лиза, и в нечто более существен-
ное,  о  чем будет сказано ниже.
Действительно,  при  ДММЦ  время
выполнения    различных   циклов
весьма отличается от предписыва-
емого спецификацией Z80, но чис-
ло  тактов  в  цикле оказывается
кратным  4, и его легко пересчи-
тывать. Пересчет числа тактов из
паспортного  (по  ТУ  на  Z80) в
ДММЦ осуществляется по следующе-
му алгоритму:

       ТУ ----> ДММЦ

     ┌─

     │  3 ----> 4

     │  4 ----> 4      (3)

     │=>5 ----> 8

     └─


   Однажды составив табличку но-
вых  тактовых длин команд, можно
вернуться  к традиционному поко-
мандному подсчету времени выпол-
нения.
   Алгоритм  достаточен для опи-
сания  ДММЦ,  поэтому  ссылка на
такой  алгоритм указывает на ис-
пользование метода ДММЦ, незави-
симо  от марки компьютера. Такой
подход  к временному анализу де-
лает  ненужным счисление WAIT'ов
(Nw). Можно заметить, что произ-
водительность  процессора макси-
мальна и достигает своего теоре-
тического  предела  для коротких
(простейших  однобайтных) команд
(что весьма импонирует Def. 2) -
например, типа LD r,r', ADD A,r,
NOP  и  так  далее. Это чем - то
напоминает   RISC  -  технологию
компьютеров   IBM.   Метод  ДММЦ
практически  полностью реализует
потенциально  имеющиеся  ресурсы
времени  по  доступу в ОЗУ, про-
дуктивно   используя  почти  все
предоставляемые  им  окна и дает
близкие  к  предельным Kт и Fэфф
для  компьютеров  с непрозрачным
видеопроцессором.  Можно  увели-
чить Kт до теоретического преде-
ла,  дополнительно разогнав про-
цессор  на  BORDER'е,  при  этом
преобразование  (3) будет выгля-
деть следующим образом:

       ТУ ----> ДММЦ

    ┌──

    │   3 ----> 4

    │┌─ 4 ----> 4           (4)

    ││=>5 ----> 8   BORDER

    ││ 5.6----> 6  /BORDER

    │└─

    └──


   Самым ценным, однако, в мето-
де  ДММЦ  является линейность по
времени  в адресном пространстве
и  в  фазе  видеопроцессора. При
преобразовании  (4) свойство ли-
нейности по времени в фазе виде-
опроцессора  окажется утерянным,
что, по мнению  автора,  превра-
щает незначительный  выигрыш  по
Kт (5 - 7%) в проигрыш  по  ком-
плексным характеристикам системы.
   В  качестве  примера  уместно
рассмотреть  следующий пассаж из
руководства пользователя фирмен-
ного Spectrum+3 (стр.189).
   "RAM  - банки бывают двух ти-
пов:   совмещенные,  это  RAM  -
страницы с 4 по 7 (делящие время
с видеопроцессором) и эксклюзив-
ные  с 0 по 3 (которые использу-
ются   процессором  единолично).
Любые  машинные  коды  программ,
имеющие критичное время выполне-
ния (такие, как музыка или связ-
ные  - "communications" програм-
мы), следует размещать в эксклю-
зивных  банках. Например, после-
довательность NOP'ов (это не что
иное, как ссылка на тест - прог-
рамму  - автор), расположенная в
совмещенных  банках, дает эффек-
тивную  частоту  (Fэфф  - автор)
2.66  МГц против нормальной 3.55
МГц   (Fб  -  автор).  Это  дает
уменьшение  в  скорости  (dKт, в
данном  случае  он отрицателен -
автор) около 25%." Для компьюте-
ра  KAY-256 этого ограничения не
существует.
   Любопытно,  что апофатическое
турбирование,  в  пределе,  дает
аналогичное  (3) либо (4) преоб-
разование    при   несопоставимо
больших  аппаратных  затратах  и
сложности реализации. Объясняет-
ся  это  порядком  следования  и
очередностью появления окон дос-
тупности  ОЗУ,  которые  в любых
машинах с непрозрачным видеопро-
цессором сходны.
   В  заключение о  турбировании
следует упомянуть о том, что ме-
ханизмы    турбирования    могут
отключаться   при   обращении  к
TR-DOS.  В  KAY-256 на это приш-
лось  пойти  для сохранения сов-
местимости   по   шине  базового
контроллера дисков.
   Управление  турбо  -  режимом
может  осуществляться  как прог-
раммно  (OUT  в  порт), системно
(OK (открытый коллектор) в логи-
ческом  "0"  на  системной  шине
(линия  *TURBO)), так и переклю-
чателем  на передней панели. Для
отключения турбо - режима доста-
точно  хотя  бы  одного запрета,
для  активации  - необходимы все
три разрешения (to pass). По RE-
SET'у  материнская плата перехо-
дит в турбо - режим.
  Пример пересчета числа циклов.

 Команда         Циклы
              ТУ        ДММЦ
   NOP
           Ц1(OCR)4 ---> 4
LD(nn),HL
           Ц1(OCR)4 ---> 4
           Ц2(ORL)3 ---> 4
           Ц3(ORH)3 ---> 4
           Ц4(MWL)3 ---> 4
           Ц5(MWH)3 ---> 4
           ───────────────
           Итого:20 --->24


      Способы тестирования

        (измерения) Kт.


   Как  следует  из  определения
(Def.  3; формула (1)), Kт зави-
сит от Nwб и Nw, которые, в свою
очередь,  зависят  от параметров
тестового  фрагмента  программы.
Для  ДММЦ, в частности, от соот-
ношения  числа коротких команд и
длинных. Для апофатического тур-
бирования  связь  не столь проз-
рачна,  но она также существует.
Можно  пойти  еще  дальше и зая-
вить, что для каждой модели тур-
бо  - Spectrum'а существует свой
оригинальный тест, дающий макси-
мальную,  по сравнению с другими
тестами, величину Kт.
   Специальные программы - тесты
обычно  используют  для  отсчета
времени аппаратный таймер - сиг-
нал  INT, период которого доста-
точно  точно  задается видеопро-
цессором.  Тестовый фрагмент при
этом  помещается в виде цикла со
счетчиком  между  двумя (или бо-
лее) последовательными  INT'ами.
Значение  счетчика после прогона
тестового фрагмента затем норми-
руется  в духе формулы (1). Нор-
мировка   проводится   в   соот-
ветствии с выбранным базовым об-
разцом. Далее следует выдача ре-
зультата на экран.
   Нужно  хорошо  отдавать  себе
отчет  в  том, что Kт зависит от
конкретной  реализации тестового
фрагмента  и образца, выбранного
для  нормировки,  то есть тест и
образец задают, по существу, ме-
ру Kт. Коэффициент Kт без ссылки
на тест и базовый образец указы-
вает цены на дрова в Австралии.
   Тест по INT'ам усредняет зна-
чение Kт по циклу видеопроцессо-
ра,  поэтому он не дает реальной
информации по нелинейности ("де-
тонации"  скорости  процессора).
Ниже приведены результаты тести-
рования турбо - Spectrum'ов тес-
том "ZX-BENCHMARK TEST", который
Вы  можете найти в разделе "При-
ложение"  нашего  журнала.  (Эта
программа впервые была опублико-
вана  в  "Радиолюбителе",  N7 за
94г.) и тестом по бордеру.

┌──────╥───────────────╥───────┐
│      ║   Kт в % по   ║тест по│
│ Ком- ║  ZX-BENCHMARK ║бордеру│
│пьютер╟───┬───╥───┬───╫───────┤
│      ║ОЗУ│ПЗУ║ОЗУ│ПЗУ║  ОЗУ  │
├──────╫───┼───╫───┼───╫───────┤
│KAY256║ 93│ 95║100│100║  100  │
│      ║   │   ║   │   ║       │
│KAY256║170│195║182│205║  174  │
│turbo ║   │   ║   │   ║       │
├──────╫───┼───╫───┼───╫───────┤
│Penta-║   │   ║   │   ║       │
│gon128║100│100║108│105║ данные│
│Penta-║   │   ║   │   ║       │
│gon128║160│д/о║172│д/о║ от-ют │
│ turbo║   │   ║   │   ║       │
├──────╫───┼───╫───┼───╫───────┤
│Scorp.║ 93│ 95║100│100║  100  │
│      ║   │   ║   │   ║       │
│Scorp.║145│195║156│205║  178  │
│ turbo║   │   ║   │   ║       │
└──────╨───┴───╨───┴───╨───────┘

    В данной таблице под базовым
образцом,  относительно которого
меряется  Kт,  может приниматься
любая   машина,   имеющая   100%
быстродействия в ОЗУ.
   Анализируя таблицу, можно за-
метить,  что точность тестирова-
ния  примерно  5% (не совсем по-
нятно,  как при двухкратном уве-
личении  тактовой  частоты  ско-
рость  работы  в ПЗУ увеличилась
на  105%. Также, как и следовало
ожидать,  величина Kт зависит от
теста,  причем  различные  тесты
могут  давать разницу в скорости
машин разного знака.

     Влияние турбирования на

    программную совместимость.


   Программная совместимость ма-
шин  семейства Spectrum, похоже,
воспринимается    пользователями
как   комплекс  неполноценности.
Чего  только  не делают, гоняясь
за  призрачными  долями процента
этой самой программной совмести-
мости: и порт #FF устанавливают,
и  адрес  порта  A12  заводят на
процессор  звука,  и делают точ-
нейшие дешифраторы адреса; всего
мракобесия не перечесть.
   Так  вот,  господа,  вынужден
Вас    расстроить,    производи-
тельность    компьютера    также
влияет,  хотя и весьма слабо, на
программную совместимость.
   Автора,   в   данном  случае,
откровенно забавляет пикантность
создавшейся ситуации. При турби-
ровании  потери программной сов-
местимости    оказываются   даже
больше   этих  несчастных  долей
процента  и  поэтому  они теряют
смысл,  уравнивая турбо - машины
с оными прибамбасами и без оных.
Пользователь  же оказывается пе-
ред  задачей  выбора  между  ре-
альными характеристиками системы
и  идеей  -  фикс  о  100% прог-
раммной   совместимости.  Можно,
конечно, усидеть  и на двух сту-
льях, имея весьма близкую к 100%
совместимость   при   нормальной
скорости  и  возможность включе-
ния  турбо - режима. По существу
же, такое решение в корне ничего
не меняет.
   Например,  Pentagon,  как  мы
уже  установили, является слабо-
турбированной машиной по отноше-
нию к фирменному Spectrum'у. Ес-
ли  написать  на Pentagon'е кри-
тичный   по  времени  выполнения
участок программы и впихнуть его
без зазора между INT'ами, то по-
лучим   программную  несовмести-
мость  со  всем  сообществом ос-
тальных Spectrum'ов.
   Кстати, плохая связь по моде-
му  типа  "VICOMM"  Pentagon'а с
другими Spectrum'ами объясняется
именно  нестандартной  скоростью
работы     (производительностью)
первого. Возможно, выход состоит
в создании юстировочных подпрог-
рамм,  компенсирующих  разницу в
производительности различных ма-
рок  машин,  и в первую очередь,
турбированных.

  Несколько отступая в сторону.
   Автор хочет заявить, что счи-
тает  порочным удалять ноги мик-
росхем  в компьютерах, в которых
почему  -  то  не идут Pentagon'
овские  программы.  Таких  прог-
рамм может оказаться больше, чем
ножек   в  компьютере.  Конечно,
создание  несовместимых программ
на  Pentagon'е  не  вина их вла-
дельцев.  Так уж получилось, что
Pentagon  оказался первой массо-
вой    версией    Spectrum'а   с
контроллером  дисковода,  и  его
владельцы   накопили  наибольший
опыт   программирования.  Однако
учитывать, что Pentagon вовсе не
эталон и не самая массовая маши-
на  на данный момент, все - таки
стоит.  Деятельность программис-
тов  сейчас  напоминает стрельбу
полупьяного   расчета  установки
"ГРАД",  который  свою неспособ-
ность хорошо прицелиться компен-
сирует массированностью залпа, а
точным  пересылкам  предпочитает
ковровое бомбометание.
   Нелинейность по времени в фа-
зе  видеопроцессора  весьма  су-
щественна для программ, работаю-
щих в реальном масштабе времени.
Это,  например,  синтез  голоса,
музыки;   преобразования  Фурье;
генераторы функциональных после-
довательностей, связные програм-
мы для обмена данными. Для таких
программ  требование  линейности
является  необходимым,  попросту
говоря,  их  создание невозможно
при  нелинейном  турбировании. В
качестве   упражнения   (умозри-
тельного) попробуйте представить
себе  голос, синтезированный ме-
тодом   прямого  кодирования  на
компьютере,  процессор  которого
разгоняется на BORDER'е и тормо-
зит  при сканировании видеопамя-
ти.  По мнению автора, это будет
дребезжащий дуэт напару с гармо-
никами кадровой развертки.
   Возможность создания программ
для Spectrum'а, работающих в ре-
альном  времени, пока что не бо-
лее, чем потенция, так как ранее
такой возможности не существова-
ло.  Наименьшим, дальше не кван-
туемым, отрезком времени был пе-
риод   системного   таймера  INT
(примерно 20 мс), теперь время в
Spectrum'е может устанавливаться
с  точностью  до машинного цикла
(единицы мкс).

________________________________



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

IS-DOS - Информация: новости в мире IS-DOS

IS-DOS - Как это сделано No 2

IS-DOS - начинающим No 2

IS-DOS - пользователям No 2

IS-DOS - программистам No 2

Ассемблер - Ассемблер для чайников

Железо - Доработки: Пеpеключатель turbo/normal для Scorpion ZS-256-Turbo

Железо - Переферия: презентация звуковой карты General Sound.

Железо - Производители: Create Soft - Возвращаясь к напечатанному

Железо - Производители: KAY - Турбирование Spectrum - машин

Игрушки - Новелла: 48 Утюгов.

Игрушки - По полочкам: Carrier Command.

Интервью - интервью с Сергеем Зоновым и Андреем Ларченко

Информация - Авторы журнала

Информация - От авторов

Информация - Помощь

Информация - Чёрный ящик

Конкурс

Отдохнём - Нечто: Нервная работа

Почтовый ящик - Доска объявлений

Почтовый ящик - Письма читателей

Премьера - Digital Studio v1.12

Программистам - Basic для всех.

Разное - Из истории Амиги.

Разное - Перспективы П/О.

Системы - музыкальный редактор Instrument 3.01

Что новенького - Обзор новинок: Night Hunter, Extreme, Grell & Falla, Duck Out, Internationl Ninja Rabbits, Italian Super Car, Sly Spy Secret Agent, The Turn, Sextris.


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

Похожие статьи:
О разном - Просто приколы.
CODING - Драйвер чтения/записи.
От автора - День рождения газеты !!!
Введение - О новом интерфейсе в газете.
Железо - Порт #FD.

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