Tutoriais e Programação
AoA - Cap.3 - O processador 886
Seg 26 Fev 2007 19:21 |
- Detalhes
- Categoria: Art of Assembly
- Atualização: Segunda, 20 Abril 2009 11:54
- Autor: vovó Vicki
- Acessos: 8213
O processador 886 é o mais lento da família x86, uma família de processadores "de mentirinha" que facilita a compreensão do funcionamento dos seus membros.
Os tempos para cada uma das instruções já foram discutidos na seção anterior. A instrução mov, por exemplo, precisa de cinco a doze ciclos de clock para ser executada, dependendo dos operandos. A tabela seguinte mostra os tempos para as várias formas de instrução nos processadores 886.
Modo de endereçamento da instrução | mov (ambas as formas) | add, sub, cmp, and, or not | jmp | jxx | |
---|---|---|---|---|---|
reg, reg | 5 | 7 | |||
reg, xxxx | 6-7 | 8-9 | |||
reg, [bx] | 7-8 | 9-10 | |||
reg, [xxxx] | 8-10 | 10-12 | |||
reg, [xxxx+bx] | 10-12 | 12-14 | |||
[bx], reg | 7-8 | ||||
[xxxx], reg | 8-10 | ||||
[xxxx+bx], reg | 10-12 | ||||
reg | 6 | ||||
[bx] | 9-11 | ||||
[xxxx] | 10-13 | ||||
[xxxx+bx] | 12-15 | ||||
xxxx | 6-7 | 6-8 |
Existem três coisas importantes que precisam ser ressaltadas. Primeiro, instruções mais longas precisam de mais tempo para serem executadas. Segundo, instruções que não fazem referência à memória geralmente são executadas mais rápido. Isto é ainda mais relevante se existirem estados de espera associados ao acesso à memória (a tabela acima pressupõe estado de espera zero). Finalmente, instruções que usam modos de endereçamento complexos rodam mais devagar. Instruções que utilizam operandos registradores são mais curtas, não acessam a memória e não usam modos de endereçamento complexos. Este é o motivo pelo qual devemos tentar manter as variáveis em registradores.
Fonte
- Art of Assembly de Randall Hyde.
- Tradução meio que livre da vovó Vicki.