Эмуляция процессора x86 - с чего мне начать?

Недавно я узнал, что Фабрис Беллард создал реализацию QEMU (более или менее, вы поняли идею) на JavaScript, эмулируя i586. Это вызвало у меня интерес, поскольку меня всегда восхищала сложность микропроцессора, поэтому я хочу решить ту же задачу, что и эмулятор x86. Однако очевидно, что это, вероятно, будет не так сложно; это не главное.

У меня есть опыт работы с операционной системой и низкоуровневым программированием, в дополнение к действительно простому программированию эмулятора CHIP8. Я знаю, как работают простые эмуляторы. Как я могу воспользоваться своими текущими знаниями в этой области, когда я займусь разработкой процессора x86 - или он слишком отличается?

Также я был бы благодарен за любой вклад от тех из вас, кто уже достиг того, чем я являюсь нетерпеливо пытаюсь сделать. Есть ли книги, которые мне следует держать на столе? (Обратите внимание, что я люблю книги. Я буду очень признателен за рекомендации.) Документы? Веб-сайты, о которых я должен знать? ... и т. д.

Заранее спасибо.

6
задан Joel Coehoorn 9 December 2011 в 17:31
поделиться