LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Если ещё не понятно, то RISC не умеет части x86 команд. Представим, что оно не умеет MUL. Поэтому вместо использования MUL приходится писать такое:

xor AX, AX
mov CX, a
@l:
add AX, b
loop l
mov c, AX

как это было в 8086 :)

И XOR было быстрее, чем MOV AX, 0

И микрокод объясняет процессору, на что переписывать MUL или IMUL

Собственно, именно это и есть причина столь разного IPC у процессоров. Они уже давно у компаний представляют собой разные RISC-архитектуры с разным набором внутренних команд.

Ну и грубо говоря, если знать (одна из причин не раскрытия что именно есть в микрокоде) внутреннюю архитектуру проца, можно делать эксплойты и заставлять процессор условно вместо mov AX, DX делать MOV MSR07, AX

Исправление Deleted, :

Если ещё не понятно, то RISC не умеет части x86 команд. Представим, что оно не умеет MUL. Поэтому вместо использования MUL приходится писать такое:

xor AX, AX
mov CX, a
@l:
add AX, b
loop l
mov c, AX

как это было в 8086 :)

И XOR было быстрее, чем MOV AX, 0

И микрокод объясняет процессору, на что переписывать MUL или IMUL

Собственно, именно это и есть причина столь разного IPC у процессоров. Они уже давно у компаний представляют собой разные RISC-архитектуры с разным набором внутренних команд.

Исправление Deleted, :

Если ещё не понятно, то RISC не умеет части x86 команд. Представим, что оно не умеет MUL. Поэтому вместо использования MUL приходится писать такое:

xor AX, AX
mov CX, a
@l:
add AX, b
loop l
mov c, AX

как это было в 8086 :)

И XOR было быстрее, чем MOV AX, 0

И микрокод объясняет процессору, на что переписывать MUL или IMUL

Исправление Deleted, :

Если ещё не понятно, то RISC не умеет части x86 команд. Представим, что оно не умеет MUL. Поэтому вместо использования MUL приходится писать такое:

xor AX, AX
mov CX, a
@l:
add AX, b
loop l
mov c, AX

как это было в 8086 :)

И XOR было быстрее, чем MOV AX, 0

Исправление Deleted, :

Если ещё не понятно, то RISC не умеет части x86 команд. Представим, что оно не умеет MUL. Поэтому вместо использования MUL приходится писать такое:

xor AX, AX
mov CX, a
@l:
add AX, b
loop l
mov c, AX

как это было в 8086 :)

Исходная версия Deleted, :

Если ещё не понятно, то RISC не умеет части x86 команд. Представим, что оно не умеет MUL. Поэтому вместо использования MUL приходится писать такое:

mov AX, 0
mov CX, a
@l:
add AX, b
loop l
mov c, AX

как это было в 8086 :)