vak: (Улыбка)
[personal profile] vak
Прогнал тот же тест процессора БК-0012 на ModelSim - работает в 4.6 раза быстрее чем GHDL.  Народ в Менторе не зря ест свой хлеб.

Date: 2013-04-04 06:32 (UTC)
From: [identity profile] suvorow-.livejournal.com
Но скорость всё равно не "волшебная". Когда-то я баловался с эмулятором "Спектрума", и он способен был работать в реалтайме на 386DX-33. И не просто работать, а исполнять, скажем, многоголосую музыкальную заставку в Fairlight, и всякие прочие программистские трюки.

Date: 2013-04-04 06:38 (UTC)
From: [identity profile] dimorlus.livejournal.com
Так это же эмулятор спектрума, а не его описания на xHDL, я когда-то писал эмулятор 8080, он на 386dx40 работал быстрей, чем 8080, но ассемблер 8080 на х86 ложится как родной.

Date: 2013-04-04 06:43 (UTC)
From: [identity profile] suvorow-.livejournal.com
И, что, от того, что добавляется лишний уровень абстракции, замедление в тысячу раз? Оно понятно, в общем, но как-то многовато...
Что же до ассемблера 8080 и 8086, то существовал транслятор из текстов 8080 в текст 8086, распространявшийся непосредственно Интелом. Там лишь нескольким командам не было прямой замены, приходилось "корячиться". Но Z80 - дело другое, и эмулированный процессор находился в памяти, а не в регистрах х86. И надо было ещё справляться с графикой, которая у PC и ZX оччень горбатая, и у каждого - по-своему.

Date: 2013-04-04 07:10 (UTC)
From: [identity profile] dimorlus.livejournal.com
И, что, от того, что добавляется лишний уровень абстракции

Даже два уровня, хотя бог его знает как эмулятор БК сделан, но вообще, у таких процессоров есть железо и микропрограммы.

Что же до ассемблера 8080 и 8086, то существовал транслятор из текстов 8080 в текст 8086, распространявшийся непосредственно Интелом.

Мне нужно было бинарный код эмулировать, а не текст на ассемблере.

Но Z80 - дело другое, и эмулированный процессор находился в памяти, а не в регистрах х86.

А что мешает регистры z80 в регистры 386 процессора раскидать? Места достаточно. Впрочем, я тоже регистры хранил в памяти, потому что тот эмулятор для отладки писался, а не ради скорости.

И надо было ещё справляться с графикой, которая у PC и ZX оччень горбатая, и у каждого - по-своему.

Не на столько они горбатые, в любом случае, это всего только битики (а может и целые байтики, я уже не помню таких подробностей) перемещать, и не слишком быстро. В любом случае, это тоже совсем другой уровень.

Date: 2013-04-05 07:12 (UTC)
From: [identity profile] avseyev.livejournal.com
В тысячу... Хорошо, что не в мульон! Вы себе представляете, как симулируется процессор на сигнальном уровне?

Date: 2013-04-05 07:15 (UTC)
From: [identity profile] avseyev.livejournal.com
Ну так, там крутые перцы в Менторе симуляцией занимаются. Научная мысль из питерского физтеха в частности там окопалась. :D