2013-05-28 11 views
2

Я недавно начал изучать, что потребуется для программирования JIT-компилятора. Я изучаю язык машин, но мне не удалось найти, какие типы машинных языков работают на большинстве стандартных ПК. Я нашел this PDF, который, кажется, объясняет тип ML, но он говорит, что это MIPS, который после looking it up кажется своего рода старым, консольным/роутерным машинным языком. Итак, мой вопрос:Какой тип машинного языка обычно работает на ПК

Какой машинный язык работает на большинстве современных персональных компьютеров (например, ноутбуков, настольных компьютеров)?

Или, это неопределимо? Много ли машинных языков? Или, может быть, я ошибаюсь, и MIPS является стандартным?

ответ

3

Язык машины, используемый данным процессором, является функцией его instruction-set architecture («ISA»).

Большинство настольных и переносных компьютеров, работающих под управлением Microsoft Windows, используют процессоры «64-разрядные», реализующие «ISA» «x86-64», например, в семействах процессоров Intel Core i5 и Core i7. Обычно это 64-разрядное расширение (созданное AMD) для оригинальной «IA-32» ISA (созданной Intel).

Оба «IA-32» и «x64» являются примерами архитектур Complex Instruction Set Computing («CISC»). С другой стороны, MIPS является примером гораздо более простого стиля архитектурных объектов Reduced Instruction Set Computing («RISC»).

Говоря о JIT compilers, важно различать ISA виртуальной машины, работающей с байтовым кодом и ISA базового физического процессора. Большинство виртуальных машин основаны на архитектуре RISC из-за их относительной простоты. Однако, скорее всего, этот VM-plus-JIT-компилятор будет физически работать на x64-совместимом процессоре CISC.

+1

Хорошо, думаю, я понимаю. Затем как 32-разрядные программы работают на 64-битных процессорах? Или современные компьютеры имеют 64-битные и 32-разрядные процессоры? – Codesmith

+0

x64 - это расширение исходных архитектур IA-32, и все процессоры x64 сегодня также поддерживают IA-32. Какой из реальных режимов ISA фактически используется, это функция, из которой вы работаете. Если вы работаете, например, «64-разрядная» версия Windows или Linux, то она будет использовать 64-битные возможности вашего процессора x64. Если вы используете 32-разрядную ОС, то будет использоваться только часть IA-32 процессора. –

+0

Хорошо, теперь я смотрю http://en.wikipedia.org/wiki/X86_instruction_listings. Как узнать, какие компьютеры поддерживаются? – Codesmith

 Смежные вопросы

  • Нет связанных вопросов^_^