Spectrum Progress
#02
19 января 1997 |
|
Железяка - "SPRINTER-97": графический ускоритель.
(C) Иван Макарченко, 1997.
УСКОРИТЕЛЬ ЭКРАННЫХ ОПЕРАЦИЙ.
Главная идея ускорителя в возможности ис-
пользования максимально возможной скорости пе-
ресылки данных в видео-ОЗУ.
На частоте 3.5 MHz видео-ОЗУ может принимать
информацию со скоростью 3 500 000 байт в секун-
ду. При объеме Spectrum-овского экрана в 6.3K
эта скорость позволяет, например, очистить весь
экран за 2 милисекунды ( 1/10 часть экранного
цикла). Скролинг всего экрана осуществляется за
4 милисекунды (необходимо считать информацию с
экрана и переместить ее). Если же использовать
подобную скорость и в других операциях, то это
даст огромное увеличение динамики экранных
изображений.
Как работает процессор Z80. Он выбирает свою
команду, дешифрирует ее, а затем исполняет. Что
бы переслать один байт на обычной частоте тре-
буется 4 микросекунды (вместе с командами пере-
сылки). На один байт, на второй, на третий..
Получается, на пересылку всего экрана требуется
25 милисекунд.
Что делать? Турбирование процессора не все-
сильно. Можно увеличить частоту в два раза, в
три... в четыре уже под большим вопросом. Пусть
мы увеличили частоту в четыре раза и скорость
пересылки возросла во столько же. Получаем вре-
мя: 1 микросекунда на байт; 6.3 милисекунды на
весь экран. И это предел, выше которого турби-
рование процессора не прыгнет.
Но экранное ОЗУ позволяет работать с еще
большей скоростью. На минимальной частоте 3.5
MHz максимальная скорость обмена в полтора раза
превышает предел процессора. А что если ОЗУ ра-
ботает на более высокой частоте ? На 7, на 14,
на 28... Для ОЗУ эти частоты вполне реальны при
установке соответствующих микросхем. Вот здесь
и дает эффект ускоритель экранных операций.
Схема ускорителя довольно проста и весь смысл
в том, что в момент обращения процессора к ви-
део-ОЗУ происходит не одна, а сразу несколько
выборок информации с максимально возможной ско-
ростью для ОЗУ. Процессор лишь ждет. Информация
блоком переписывается в КЭШ ускорителя, а затем
точно так же она может быть перенесена в другое
место видео-ОЗУ. И так же блоком. Скорость об-
мена информации на экране резко повышается !
Кроме указанных операций очистки и скролиро-
вания экрана ускоритель предоставляет еще нес-
колько функций, но о них в другой раз.
Экспериментальная схема ускорителя уже реали-
зована и опробована. И здесь следует сказать
вот что. Достижение максимального ускорения,
соответствующего пределу по частоте видео-ОЗУ
невозможно из-за последовательной работы про-
цессора и ускорителя. В момент работы ускорите-
ля процессор ждет ее окончания и наоборот. Но и
в подобном режиме работы достигнуто ускорение
работы с видеоизображением в несколько раз.
Время вывода полного изображения Spectrum-
-овского экрана, когда оно предварительно было
загружено в ОЗУ акселератора, составляет 3 ми-
лисекунды. Это время практически не зависит от
режима работы процессора TURBO/не-TURBO, потому
что большую часть времени работает ускоритель.
Для новых режимов это время будет больше, но
оно в любом случае оказывается меньше чем вре-
мя, за которое производился перенос изображения
на экран в старом Spectrum-e.
Для графического изображения 320x256 точек на
16 цветов это время составляет примерно 15 ми-
лисекунд. ( Для обычного ZX-Spectrum время за-
полнения обычного экрана составляет примерно 25
милисекунд).
Увеличение скорости работы с ОЗУ будет прояв-
ляться максимально, когда необходим перенос
блоков информации и когда необходим вывод оди-
наковых или часто встречающихся блоков.
Для статических картинок ускоритель требуется
только для увеличения удобства вывода, для пе-
рекодировок, для вывода символьной информации.
Для динамических картинок ускоритель даст
возможность быстрого изменения содержимого эк-
рана, когда экран содержит множество одинаковых
блоков.
Как еще увеличить динамику изображения, если
ускорителя не достаточно?
Самое простое решение - переходить на более
низкий графический уровень. В определенных мес-
тах картинка может и не иметь полного разноцве-
тия. В этом случае можно перекодировать режим
вывода на экран для этих мест. Например, заме-
нить высокую графику обычной Spectrum-овской.
Режим вывода может быть изменен в процессе ра-
боты программы. Например, при перемещении кра-
сивого цветного спрайта можно подгонять под не-
го режим в нужных местах экрана. Если же этот
спрайт выводится с помощью ускорителя, то высо-
кая динамика вам будет обеспечена.
─────
От редакции.
В настоящее время в схему видеоакселератора
вносятся изменения и поэтому в данной статье не
приведены его параметры. Но оснавная идея, как
нам кажется, высказана достаточно ясно - новый
Spectrum-совместимый компьютер будет обладать
быстрой графикой.
─────
Другие статьи номера:
Похожие статьи:
В этот день... 12 ноября