Comments 13
После изучения предложений на рынке, я остановился на Microchip IGLOO2. Не самый оптимальный выбор, но второй пункт про интегрированные Flash/RAM сильно ограничивал перечень возможных вариантов.
Почему не MAX-10 от Altera или не MachXO2 от Lattice?
У MachXO2 слишком мало памяти (нужно 64Кб, а не 64 кбит). MAX-10 тоже смотрел - вполне укладывался в критерии, но не заметил особой разницы с Microsemi/Microchip, поэтому взял подошевле (подходящий вариант MAX10 что-то порядка 50 баксов, вместо 15 за Igloo2).
Взвешенный подход и хорошая статья :)
Спасибо!
Ещё есть ПЛИС GoWin и платы на их основе в весьма паябельных корпусах QFN/QFP и со скромным ценником. А ресурсы ощутимо погуще, чем у иглу. В том числе высокоскоростные lvds с возможностью напрямую вывести HDMI.
Для меня странно что i8080 обошёл 6502/6510, спросил у ИИ (можно перепроверить конечно), но по моим ощущением он ближе к правде:
| Система | Процессор | Такт.частота | Dhrystones/s |
|-------------|-----------------|--------------|--------------|
| Apple II | MOS Tech 6502 | 1 МГц | 1500 |
| Commodore 64| MOS Tech 6510 | 1 МГц | 1700 |
| Atari 130XE | MOS Tech 6502C | 1,79 МГц | 2000 |
| Intel 8080 | Intel 8080 | 2 МГц | 400 |

Не знаю, откуда данные у ChatGPT, но вот данные, или можно даже глянуть в сами исходники Dhrystone: https://github.com/ARM-software/workload-automation/blob/master/wa/workloads/dhrystone/src/dhrystone.c
* MACHINE MICROPROCESSOR OPERATING COMPILER DHRYSTONES/SEC.
* TYPE SYSTEM NO REG REGS
* -------------------------- ------------ ----------- ---------------
* Apple IIe 65C02-1.02Mhz DOS 3.3 Aztec CII v1.05i 37 37
* - Z80-2.5Mhz CPM-80 v2.2 Aztec CII v1.05g 91 91
* - 8086-8Mhz RMX86 V6 Intel C-86 V2.0 197 203LM??
37 dhrystones/sec для 65C02 ;)
Нюанс может быть в том, что информация по 6502/6510 представлен для Dhrystone v1.1, а я запускал v2.1, но обычно очки в v2.1 ниже, то есть разрыв с 8080 может быть еще больше.
Скорее всего дело в быстрой памяти. Я отдаю данные в тот же такт, а обычно в системах проц ждёт память.
37 dhrystones/sec для 65C02 ;)
Не верно ты, дядь Фёдор, бутерброд ешь! :)
В приведенной Вами таблице указаны результаты тестов на системе, а не "голого" процессора. Известно, что у Apple II видеоподсистема (как и у C64, или у Atari 800) останавливает центральный процессор при обновлении кадра, что занимает почти половину времени. Еще один момент состоит в том, что в Apple II использовалась динамическая память, которая требует циклов регенерации в процессе выполнения которых она недоступна и процессор простаивает в ожидании. Вы же проводите замеры чистого процессора без внешних раздражителей на статической памяти.
Известно, что i8080 в среднем выполняет 0.125 млн операций в секунду на частоте 1 МГц. Для MOS 6502 этот показатель равен 0.45 млн, т.е. в три с половиной раза больше. Однако у i8080 больше регистров, но у 6502 первая страница памяти (256 байт) может использоваться как таблица указателей, что существенно ускоряет вычисления. В итоге выиграет тот бенчмарк, который более тщательно адаптирован под специфику процессора и конкретной вычислительной системы. :-)
В итоге выиграет тот бенчмарк, который более тщательно адаптирован под специфику процессора и конкретной вычислительной системы. :-)
Скорее дело в компиляторе. Не зря CoreMark требует указывать компилятор и его флаги, если захочешь запостить результаты.
Вы же проводите замеры чистого процессора без внешних раздражителей на статической памяти.
Ага, указал на этот момент в родительском моменте. На i8080 системах проц тоже обычно ждёт память, что съедает такты.
Не верно ты, дядь Фёдор, бутерброд ешь! :)
Та понятно что это не совсем правильный подход к бенчмаркам (тема сама по себе весьма сложная). Цель не в сравнении попугаями, а больше в том, чтоб собрать систему и иметь запускать возможность код.
Z80 не будет работать в 2.5 раза быстрее чем 6510, это в принципе невозможно.
Можно было и не тестировать, так как 8080 был близок (немного отставал) от Z80, а его мы знаем по многим проектам, но только ZX Spectrum.
я не разбираюсь в Intel 8080A-1, но интересно, были ли попытка запустить его на большей частоте? теже 4МГц, или 5-10? или он в отказ уходит если частота не укладывается в допустимые рамки?
Насколько быстр Intel 8080? Используем чипсет на FPGA чтоб проверить