Sei sulla pagina 1di 13

Conjunto de Instrues:

Caractersticas e Funes Captulo 10


Arquitetura e Organizao de Computadores

Tpico 10.2: Tipos de Operandos


Arquitetura e Organizao de Computadores

Tipos de operandos

Toda instruo em um programa especifica a operao a ser


realizada e os dados a serem processados. Por esta razo, uma instruo
dividida em duas partes: o cdigo de operao (opcode) e seus
operandos. Estes ltimos podem aparecer sob diferentes formas, como
destacado abaixo:
Endereos
Endereos de fato so um formato de dados. Em diversas
situaes, alguns clculos devem ser realizados na referncia do operando
em uma instruo para se determinar seu endereo fsico ou virtual na
memria. Neste contexto, endereos podem ser considerados como
inteiros sem sinal.

Nmeros

Todas as linguagens de mquina incluem dados do tipo numrico.


Mesmo no processamento de dados no numricos, h a necessidade de
nmeros para agirem como contadores, tamanho de campo, etc. importante
destacar que diferentemente dos nmeros empregados na matemtica comum,
aqueles armazenados pelo computador so limitados. Primeiro, porque h um
limite para a magnitude dos nmeros representveis em uma mquina e segundo,
no caso dos nmeros de ponto flutuante, um limite em sua preciso.
Os trs tipos de dados numricos
comuns em computadores so:
Inteiros binrios ou ponto fixo binrio;
Nmeros de ponto flutuante;
Decimais

Figura 1. Tipos tpicos de dados numricos (Fonte: Flynn, M. J. 1995).

Caracteres
Atualmente o cdigo de caracteres mais usado o Alfabeto Internacional
de Referncia (IRA em ingls), mais conhecido como American Standard Code for
Information Interchange (ASCII). Nesse sistema cada caracter representado po um
padro nico de 7 bits, por tanto, 128 caracteres diferentes podem ser
representados. Esse grande nmero serve para representar tanto os caracteres
(nmeros, minsculas, maisculas e smbolos) quanto caracteres de controle. Alguns
destes esto associados ao controle de impresso dos caracteres na pgina. Outros
ocupam-se de procedimentos de transmisso. Os caracteres cdificados em IRA so
quase sempre armazenados e transmitidos usando 8 bits por caractere (Figura 2).

Figura 2. Representao de caracteres


(Fonte: Flynn, M. J. 1995).

Dados lgicos

Uma unidade de n bits consistindo de n itens de dados com 1 bit, cada um


tendo o valor de 0 ou 1. Quando os dados so vistos desta forma ele so
considerados dados lgicos (Figura 3). Nessa forma eles podem ser testados ou
alterados, seja via instrues especficas ou operaes lgicas, como AND, OR e
NOT.
Apresenta duas vantagens:
Uso mais eficiente da memria para armazenamento. Ex: array de dados
Booleanos ou binrios;
Possibilidade de se manipular os bits individuais de um item de dados.

Figura 3. Representao de dados lgicos


(Fonte: Flynn, M. J. 1995).

Tpico 10.3: Tipos de dados das


arquiteturas Intel x86 e ARM
Arquitetura e Organizao de Computadores

Tipos de dados da arquitetura x86

Dados fundamentais
Um dado do tipo fundamental uma unidade de dado elementar
que manipulada pelo processador durante a execuo de um programa.

Figura 4. Diagrama do esquema de bit-numbering e byte-ordering usado pelos tipos


fundamentais de dados (Fonte: Kusswurm, D. 2014).

Tipos de dados da arquitetura x86


Tipo de dados

Descrio

Locais de byte, palavra (16 bits), doubleword (32 bits), quadword

Geral

(64 bits) e double quadword (128 bits) com contedo binrio


arbitrrio.

Um valor binrio com sinal, contido em um byte, palavra ou

Nmeros inteiros

doubleword, usando a representao de complemento de dois.

Nmeros ordinais

Um inteiro sem sinal contido em um byte, palavra ou doubleword

Nmeros em BCD no agrupados


BCD agrupado

Uma representao de um dgito BCD no intervalo de 0 a 9, com


um dgito em cada byte.

Representao de byte agrupado de dois dgitos BCD, com valor


no intervalo de 0 a 99

Um endereo efetivo de 16, 32 ou 64 bits, que representa o


Ponteiro near

deslocamento dentro de um segmento, usado para todos os


ponteiros em uma memria no segmentada e para referncias
dentro de um segmento em uma memria segmentada.

Um endereo lgico consistindo em um seletor de segmento de 16


Ponteiro far

bits e um deslocamento de 16, 32 ou 64 bits. Ponteiros so usados


para referncia memria em um

modelo

de memria

segmentada, onde a identidade de um segmento sendo acessado


precisa ser especificada explicitamente.

Uma sequncia contgua de bits em que a posio de cada bit


Campo de bits
Bit string
Byte string
Ponto flutuante

SIMD agrupado

considerada como uma unidade independente. Uma string de bits


pode comear em qualquer posio de bit de qualquer byte e pode
conter at 32 bits.

Uma sequncia contgua de bits, contendo de zero a 232 -1 bits.

Uma sequncia contgua de bytes, palavras ou doublewords,


contendo de zero a 232 -1 bytes
Figura 2

Tipos de dados de 64 e 128 bits agrupados

Fonte: Stallings, W. 2010

Tipos de dados da arquitetura ARM

Processadores com arquitetura ARM suportam tipos de dados de 8


(byte), 16 (meia-palavra) e 32 (palavra) bits de extenso. A arquitetura ARM
normalmente espera que todos os acessos sejam alinhados.
Para as tentativas de acesso desalinhadas, a arquitetura suporta trs
alternativas:

Caso padro
O endereo tratado como truncado, com bits de endereamento
[1:0] tratados como zero para acesso por palavra, e o bit de endereo [0]
tratado como zero para acesso por meia-palavra.
Instrues ARM de nica palavra so arquiteturalmente definidas
para girar direita os dados alinhados por palavra transferidos por um
endereo e no alinhado por palavra de um, dois ou trs palavras,
dependendo do valor dos dois bits de endereo menos significativos

Tipos de dados da arquitetura ARM

Verificao de alinhamento
Implementaes que suportam o coprocessador do sistema de
controle usando o bit A no registrador 1 CP15. Quando esse bit habilitado,
um sinal de abortar dados, indicando uma tentativa de acesso desalinhada
reportado.

Acesso desalinhado:
A verso ARMv6 introduziu o suporte a leitura e escrita de palavras
e meia-palavras desalinhadas. Quando habilitado, o processador usa um ou
mais acessos memria para gerar a transferncia requerida de bytes
adjacentes de modo transparente ao programador. Acessos a doubleword
devem ser alinhados por palavra nessa configurao.

Tipos de dados da arquitetura ARM

Suporte para endian


Um bit de estado (bit E) - flag PSR Endian - no registrador de
controle do sistema habilitado e apagado sob controle do programa
fazendo uso da instruo SETEND. O bit E define qual modo do endian ser
usado para ler e gravar dados (Figura 5).

Figura 6. Suporte ARM ao Endian Leitura/escrita de palavra com o bit E


(Fonte: Stallings, William. 2010).

Referncias

ARM
Architecture
Reference
Manual.
Disponvel
<https://www.scss.tcd.ie/~waldroj/3d1/arm_arm.pdf>. ARM, 2005.

em:

Flynn, Michael J. Computer Architecture: pipelined and parallel processor


design. Joanes & Bartlett Learning, 1995.

Kusswurm, Daniel. Modern x86 Assembly Language Programming: 32-bit,


64-bit, SSE and AVX. Apress, 2014.

Stallings, William. Arquitetura e organizao de computadores. 8 ed. So


Paulo: Pearson Practice Hall, 2010.

Potrebbero piacerti anche