Турбирование 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'е может устанавливаться
с точностью до машинного цикла
(единицы мкс).
________________________________