Быстродействие ПК8000 (Веста, Сура, Хобби)

(первый вариант 04.02.2010, последняя правка 11.04.2010)

В конце 2008 - начале 2009 благодаря содействию Михаила Тарасова (Mick на форуме zx.pk.ru) удалось протестировать быстродействие ПК8000. Подробнее "ход мысли" можно проследить в соответствующей ветке форума zx.pk.ru.

Процессор: КР580ВМ80 2,5 МГц
Характеристики развертки: В кадре 308 строк по 160 тактов (частота прерываний примерно 50,73 Гц). Прерывание генерируется в первой строке нижнего бордюра.

Растактовка некоторых команд при выполнении их из ОЗУ в режимах SCR 1/2 и при выполнении из ПЗУ и внешней памяти (подключенной к разъему (разъемам) расширения). Для сравнения также приведено паспортное число тактов на команду для КР580ВМ80.

Команды
По документации на КР580ВМ80
ПК8000
ОЗУ (SCR 1/2)

ПК8000
ПЗУ и внешняя память

Add R
4
8
Dad RP
10
12
11
In D8
10
16
Inx RP
5
8
6
Lda Adr
13
20
Lhld Adr
16
24
Lxi RP,D16
10
16
Mvi R,D8
7
12
Out D8
10
20
Push RP
11
20
Xthl
18
36

Комментарии:
Выполнение команд из внутреннего ПЗУ и внешней памяти подключенной к разъему (разъемам) расширения
На каждое обращение процессора к памяти генерируется такт ожидания. Также нужно отметить, что если команда выполняется из ПЗУ или внешней (подключенной к разъему расширения) памяти, но осуществляет обмен с внутренним ОЗУ, то время выполнения будет зависеть от синхронизации операции чтения или записи процессора и цикла чтения видеоконтроллера (который различен для режимов SCR 0 и SCR 1/2).
В таблице приведены данные только для двух команд, но проводилась дополнительная проверка на смеси команд, подтвердившая правильность предложенной "схемы торможения".
Остается открытым вопрос о наличии дополнительного торможения (сверх одного такта) при записи.

Выполнение команд из внутреннего ОЗУ (SCR 0)
Режим SCR 0 наиболее сложен для точной оценки времени выполнения команд из ОЗУ, т.к. оно зависит от того, какая часть экрана отображается при выполнении команды. Требуется дополнительная обработка имеющихся данных.

Выполнение команд из внутреннего ОЗУ (SCR 1/2)
В данном режиме нужно учитывать 2 фактора:
1. Время поделено на циклы по 4 такта, только один из которых доступен для обращения процессора.
2. На каждое обращение процессора к памяти генерируется такт ожидания.
В результате все 4х и более тактные циклы КР580 с обращением к памяти превращаются в 8ми тактные, что очень отрицательно сказывается на быстродействии.
Судя по результатам тестирования команд Out, Push и Xthl при записи в память или УВВ есть дополнительное торможение.


Максимальное число операций процессора КР580ВМ80 в секунду на ПК8000 в зависимости от режима отображения информации и от типа памяти, из которого читается выполняемая программа.

  Внутреннее ПЗУ или внешняя память Внутреннее ОЗУ
SCR 0
500 000 операций / секунду
примерно 384 615 операций / секунду
SCR 1 / 2
312 500 операций / секунду

Приведены оценки быстродействия при выполнении четырехтактных (исходно) команд КР580ВМ80. На ПК8000 они могут выполняться (в зависимости от режима экрана и вида памяти) от 5 до 8 тактов.