User Tag List

Страница 28 из 29 ПерваяПервая ... 242526272829 ПоследняяПоследняя
Показано с 271 по 280 из 282

Тема: Отечественные компьютеры: быстродействие

  1. #271

    Регистрация
    20.05.2013
    Адрес
    г. Ейск
    Сообщений
    197
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Прогнал Basic-тесты на реальном железе: БК 0010 и БК 0011М. Результаты БК 0010 немного отличаются от тех, что в таблице (насколько я понял, они получены из эмулятора). БК 0011М в таблице не было, так что встречайте новичка

    Таблица БК 0010 и 0011
    Спасибо за таблицы по скорости реального БК, они очень важны для пополнения общей таблицы скорости Бейсиков (для БК там до сих пор были в основном данные с эмуляторов, причём я их корректировал в соответствии с предполагаемой разницей между эмулятором и реалом, но все равно получилось быстрее .

    И теперь мы можем разгадать одну из загадок БК – насколько все же в среднем БК-0011М быстрее, чем БК-0010? А заодно и другую интереснейшую тайну – насколько программы в ПЗУ были быстрее, чем в ОЗУ.

    Сравнение Бейсика-87 в ОЗУ дает преимущество в скорости БК-0011М над БК-0010-01 всего в 13,5% (если усреднить преимущества по 8 тестам ВМ1-ВМ8), с разбросом примерно от -2 до +17% (однако, из-за невысокой точности измерений могут быть ошибки в несколько процентов, но средний показатель должен быть ближе к реальности). Причем в тесте ВМ7 (вроде бы работа с массивами) показатели странные – БК-0011 даже медленнее на 2%, чем БК-0010. Нет ли здесь ошибки в таблице? Если не учитывать ВМ7, то среднее преимущество БК-0011М над БК-0010 в Бейсике-87 будет 15,5%, и это близко к данным по другим тестам. Однако показатели Бейсика, конечно, более универсальны и точны в качестве усредненных, поскольку в этих тестах выполняется множество самых разных машинных команд в разных сочетаниях.

    А вот сравнение Бейсиков-86, расположенных в ПЗУ дает преимущество БК-0011М над БК-0010-01 ровно в 30%, практически равное разнице в тактовой частоте. То есть в ПЗУ процессор, судя по всему, работает почти без задержек от контроллера памяти и дисплея, и программы выполняются намного быстрее.

    Наконец, по данным для Бейсика-86 в ПЗУ и ОЗУ (дисковый) мы можем легко вычислить разницу в быстродействии программ в ПЗУ и ОЗУ БК-0011М (для БК-0010, к сожалению, таких данных нет) – она составляет в среднем 31,5%, в пользу ПЗУ, конечно.

    Ну и ещё один вывод, сделанный уже давно, но теперь подтверждаемый данными с реального ПК – насколько офигительным был Бейсик-85/87, загружавшийся в ОЗУ, и как жаль, что его скорость не перешла к штатному Бейсику-86 для БК-0010-01 и БК-0011 – а ведь в ПЗУ преимущество 87-го над 86-м было бы еще больше – еще почти на треть! В одинаковых условиях (когда оба Бейсика в ОЗУ) при сложных вычислениях (ВМ8) Бейсик-87 быстрее Бейсика-86 аж в 11 раз! Видимо, такая же разница была бы и при работе в ПЗУ. К сожалению, такой шикарный задел разработчики добровольно, по неведомым причинам, взяли и перечеркнули. Что же произошло – вильнюсцам не хватило 24 Кб ПЗУ (+8 Кб еще и штатное БК-шное ПЗУ с драйверами) для размещения двух вариантов подпрограмм вещественных вычислений? Или настолько был высок пиетет перед американо-японскими разработчиками систем MSX/MSX2, которые на несколько лет раньше наступили на те же грабли – включили в Бейсик-MSX только процедуры вычислений с двойной точностью, работавшие в разы медленнее вычислений с одинарной точностью? И не слишком ли велика разница по скорости между вычислениями одинарной и двойной точности (почему сразу в 11 раз!?, хотя с учетом разного подхода к вычислению квадратов – порядка 7 раз, но это тоже немало .

    И почему же, видя, какое вышло безобразие, разработчики вильнюсского Бейсика или его заказчики не выпустили какую-то исправленную версию (и не только в плане скорости вещественных вычислений, но и проблем со строковыми функциями и т.д.)? А если еще более глобально, то затея с полукомпилятором для БК, конечно, при всей необычности и крутизне в плане скорости, была очень сомнительна для БК (о чём критики говорили и тогда, в конце 80-х) – наверное, более разумно было бы сделать интерпретатор с максимальной производительностью, не отъедающий половину памяти для хранения шитого кода: скажем, просто преобразовывать сразу после ввода строки команды бейсика во внутренний формат – хотя бы с числами не в текстовом виде, а с двоичным внутренним представлением, еще лучше вместо функций и операторов адреса подпрограмм, вместо имен переменных их адреса в памяти, а вместо алгебраической записи выражений обратную бесскобочную – тогда получился бы тот же шитый код с такой же высокой скоростью исполнения, но без дублирования (надеюсь, при выводе листинга на экран или редактировании строк можно было бы восстановить их первоначальный текстовый вид – хотя бы приблизительно Тем более что и со скоростью у версии 86 были очень большие проблемы (за исключением целых чисел, конечно). Правда, у тех же MSX скорость вычислений тоже низкая, а также и у ряда других популярных моделей – ZX Spectrum, Atari (причем оба с одинарной точностью расчетов), TI-99/4A... У Бейсика-ДВК тоже низкая… Даже можно было просто адаптировать старинный Бейсик-11 (как адаптировали Фокал), и это уже дало бы очень хорошую скорость и функциональность (хотя, судя по всему, требовалась совместимость со стандартом MSX, который дальше использовался и на других массовых школьных ПК – УКНЦ и Корвете). Кстати, на УКНЦ-то скорость все же исправили (по крайней мере, в версии вильнюсского бейсика 1988 года) – он работает так же быстро, как Бейсик-87 (интересно, исправили ли другие недостатки БК-шного Бейсика-86 – неправильную обработку строк и т.д.)

    Этот пользователь поблагодарил vladtru за это полезное сообщение:

    Pyhesty(08.07.2020)

  2. #271
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #272

    Регистрация
    20.05.2013
    Адрес
    г. Ейск
    Сообщений
    197
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    LeoN65816,

    Благодарю за разъяснения и листинг программы. То есть в универсальном случае копирования блоков памяти во всем адресном пространстве развернутый цикл имеет длину 13 тактов – это до 76,7 Кбайт/с при частоте 1,021 МГц (я, как человек, давно и близко имеющий отношение к компьютерам, всегда под К подразумеваю 2 в 10 степени – думаю, так привычнее для всех ретрокомпьютерщиков). Команда цикла BNE здесь занимает всего 3 такта, правда для числа повторений не больше 256. Соответственно, заполнение произвольной области памяти константой имеет развернутый цикл 8 тактов – при достаточно большой длине такой цепочки скорость стремится к 124,6 Кбайт/с. На организацию цикла также требуется всего 3 такта.

    Конечно, если сравнивать эти показатели с 8080 (как наиболее актуального для советских домашних ПК) и Z80 (популярные английские и японские ПК), 6502 очень сильно проигрывает – у 8080 на частоте 2,5 МГц (Корвет, Орион-128) максимальная скорость копирования через стек почти в 2 раза больше (около 150 Кбайт/с, насколько я помню), без стека – почти в 1,5 раза больше (чуть больше 100 Кбайт/с), а скорость заполнения памяти через стек почти в 4 раза (!) больше – около 450 Кбайт/с (все данные, конечно, с развёрнутыми циклами, которые, однако, не всегда применимы и дают большое преимущество в основном на ПК со «столбцовой» организацией видеопамяти – типа «Вектора-06Ц», «Специалиста» или «Ориона-128»). У компьютеров на Z80 предельные скорости копирования и заполнения, естественно, ещё выше – хотя бы за счет более высокой частоты (копирование стеком – примерно до 250 Кбайт/с, без стека – более 200 Кбайт/с, заполнение памяти через стек – до 600 с лишним Кбайт/с, в 5 раз быстрее, чем у 6502 на 1 МГц). У БК-0010 максимальная скорость копирования тоже почти вдвое выше – порядка 136 Кбайт/с.

    Вторые варианты («Развернутый цикл») в таблице для 6502 получились почти вдвое и втрое быстрее – и это очень хорошие показатели, сравнимые с 8080, однако не понятно, как их применять на практике, если используется стековая команда, то есть копируется только в стек или из стека, который не выходит за пределы одной страницы (256 байт) в начале адресного пространства. А что будет, если всё же использовать не Push, а обычные команды пересылок, чтобы задействовать всё адресное пространство – насколько упадет скорость в этих двух быстрых вариантах?

    Как вообще можно было ускорить, скажем, вывод на экран у таких ПК, как «Агат», Apple II, Acorn Electron и т.д. (без аппаратных спрайтов, скроллингов и т.д.) – использовали копирование из стека или нулевой страницы (к которой доступ быстрее)? Или хватало и таких небольших скоростей? Особенно у Яблока (а как у Агата в агатовских режимах?) – у него строчная организация видеопамяти (у Электрона и BBC Micro – вроде бы строчно-столбцовая, когда внутри знакоместа память растет по столбцам, а между знакоместами – по строкам, зато объем видеопамяти до 20 Кбайт). Насколько быстро работал с графикой Агат, имевший видеорежимы с 16 Кбайтами видеопамяти (у Apple II в обычном режиме – вроде всего 7.5 Кбайт).

    Процессор 65816, конечно, был намного быстрее, чем 6502, за счет 16-битности, дополнительных команд и большей частоты – я, например, читал, что Apple II GS (65816 на 2,8 МГц) был во многих тестах быстрее, чем классический Macintosh (68000 на 8 МГц, но эффективная около 5 МГц).
    Последний раз редактировалось vladtru; 07.05.2020 в 23:07.

  4. #273

    Регистрация
    20.05.2013
    Адрес
    г. Ейск
    Сообщений
    197
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Скорость исполнения команды MOV с разными типами адресации на БК 0010 и БК 0011М (частоты 3, 4, 6 МГц, память медленная штатная и быстрая статическая в контроллере дисковода).

    Таблица
    Спасибо за очень важную таблицу, показывающую время выполнения разных машинных команд на разной частоте и с разной памятью для 0010 и 0011М. Хотелось бы уточнить – а скорость выполнения команд в ПЗУ равна скорости в быстрой статической памяти (по логике вроде так)? С этим всегда была какая-то путаница – например, для БК-0010 в документации указывалась максимальная производительность 300 тыс. оп/с, но при работе в ОЗУ она меньше – 250 тыс.оп/с (по некоторым источникам даже 229), а при работе в ПЗУ, получается, все же больше – 375 тыс.оп/с? Что тогда означали эти 300?

    И тогда вопрос по скорости БК-0011М – а у неё какая максимальная производительность? По таблице получается, что при выполнении программы в ПЗУ – 500 тыс. оп/с, а для ОЗУ, судя по таблице – в 2 раза меньше (!!!), всего 250 тыс. оп/с – точно также, как и у БК-0010? Или есть какие-то команды (NOP и т.п. ), которые на БК-0011М все же требуют меньше 16 тактов при выполнении в ОЗУ?

    И еще вопрос по таблице: большинство команд при работе в ОЗУ требуют на БК-0011М больше тактов, чем на БК-0010, но почему часть команд выполняется за одинаковое число тактов, а пара команд на БК-0011М требует даже меньше тактов (например, MOV R1, (R2)), чем на 0010? Нет ли ошибок в таблице?

    Этот пользователь поблагодарил vladtru за это полезное сообщение:

    MM(10.05.2020)

  5. #274

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ошибок в таблице нет. Разное число тактов получается потому, что помимо центрального процессора ВМ1 к памяти также обращается видеоконтроллер ВП1-037, который заставляет процессор ожидать несколько тактов. Поэтому играет роль соотношение частот ВМ1 и ВП1-037, а также скорость отклика памяти. Видеоконтроллер работает на 6 МГц, а процессор на 3, 4 или 6 МГц. При удачном соотношении параметров команда выполнится без торможений, при неудачном ВП1-037 будет затормаживать процессор несколько раз в течение исполнения команды.

    Про скорость отклика ПЗУ – по-моему она медленней, чем статическое ОЗУ. Я проверял так: копировал подпрограмму записи на магнитофон из ПЗУ в ОЗУ, запускал и замерял частоту тона.
    manwe.pdp-11.ru

  6. #275

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Провёл новые замеры Basic-тестов с точностью 1/30 секунды (снимал на видео и потом по кадрам отслеживал когда появляются надписи "START" и "STOP"). Результаты немного отличаются - во время прошлых тестов в моей БК 0011м стоял кварц на 12.288 МГц (вот с какой целью), а потом я вернул стандартный кварц на 12 МГц, так что произошло некоторое замедление.
    Ссылка на таблицу результатов прежняя
    Нажмите на изображение для увеличения. 

Название:	Basic-tests.jpg 
Просмотров:	2230 
Размер:	21.5 Кб 
ID:	73055
    Последний раз редактировалось Manwe; 13.07.2020 в 14:53.
    manwe.pdp-11.ru

    Этот пользователь поблагодарил Manwe за это полезное сообщение:

    vladtru(17.04.2021)

  7. #276

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Быстродействие Союз-Неон ПК-11/16 в сравнении с БК 0011:

    manwe.pdp-11.ru

    Эти 2 пользователя(ей) поблагодарили Manwe за это полезное сообщение:

    Titus(09.09.2020), vladtru(17.04.2021)

  8. #277

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Скорость исполнения команды MOV с разными типами адресации на БК 0010 и БК 0011М (частоты 3, 4, 6 МГц, память медленная штатная и быстрая статическая в контроллере дисковода). Таблица
    Дополнил таблицу новыми данными: процессор 6 МГц, команды и данные в быстрой (статической) памяти контроллера FDD/HDD.
    Для примера:
    инструкция ADD (R1),R2 выполняется за 3,33 микросекунды (20 тактов, 300'000 инструкций в секунду),
    инструкция ADD @M(R1),@M(R2) выполняется за 10 микросекунд (60 тактов, 100'000 инструкций в секунду).

    По оси Y время исполнения инструкций в микросекундах, по оси X сложность методов адресации. Разные цвета - разные конфигурации БК (частота процессора, тип памяти):
    Последний раз редактировалось Manwe; 08.12.2020 в 12:50.
    manwe.pdp-11.ru

    Этот пользователь поблагодарил Manwe за это полезное сообщение:

    vladtru(17.04.2021)

  9. #278

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Дополнил таблицу новыми данными
    Добавь еще УКНЦ в таблицу, будет интересно.

  10. #279

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Добавь еще УКНЦ в таблицу, будет интересно.
    А где посмотреть точные результаты тестов УКНЦ?
    manwe.pdp-11.ru

  11. #280

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    А где посмотреть точные результаты тестов УКНЦ?
    Расчёт точного времени выполнения команд различными процессорами архитектуры PDP-11

Страница 28 из 29 ПерваяПервая ... 242526272829 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Отечественные компьютеры: Разное.
    от KALDYH в разделе Разное
    Ответов: 172
    Последнее: 26.11.2025, 02:28
  2. Ответов: 674
    Последнее: 18.11.2024, 15:27
  3. Раздел про отечественные компьютеры
    от CityAceE в разделе Форум
    Ответов: 47
    Последнее: 22.02.2012, 01:31
  4. Ответов: 59
    Последнее: 02.05.2011, 01:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •