Arquitetura e organização de computadores
description
Transcript of Arquitetura e organização de computadores
![Page 1: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/1.jpg)
Arquitetura e organização de computadores
Endereçamento de memória.
Aula 04Prof. Diovani Milhorim
![Page 2: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/2.jpg)
Endereçamento de memória
Interpretação de endereços de memória
![Page 3: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/3.jpg)
Endereçamento de memória
Interpretação de endereços de memória
Ordem dos bytes
![Page 4: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/4.jpg)
Endereçamento de memória
Interpretação de endereços de memória
Modos de endereçamento
![Page 5: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/5.jpg)
Endereçamento de memória
Modos de endereçamento
Modo registrador
![Page 6: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/6.jpg)
Endereçamento de memória
Modos de endereçamento
Modo registrador
![Page 7: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/7.jpg)
Endereçamento de memória
Modos de endereçamento
Modo registrador
Modo por registrador diretoO operando aponta para um registrador, o qual contém o dado.
Modo por registrador indiretoO operando aponta para um registrador, o qual contém um endereço de memória (ponteiro) para o dado.
![Page 8: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/8.jpg)
Endereçamento de memória
Modos de endereçamento
Modo registrador
Vantagens Maior velocidade / rapidez de execução - o acesso ao registrador é muito mais rápido que o acesso à memória.Economia de espaço de armazenamento de instrução (o tamanho da instrução é menor porque como são poucos registradores, são menos bits para seus endereços).
DesvantagemPequeno número de registradores - se forem muitos os dados endereçados por registrador, os registradores disponíveis podem não ser suficientes.
![Page 9: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/9.jpg)
Endereçamento de memória
Modos de endereçamento
Modo registradorExemplos Os exemplos usam instruções do Intel 8080:
ADD r (add register) ==> (ACC) <--- (ACC) + (r) - soma o conteúdo do registrador r ao conteúdo do acumulador (endereçamento por registrador, direto) ADD M (add memory) ==> (ACC) <--- (ACC) + ((M)) - soma o conteúdo da posição de memória indicada pelo registrador M ao conteúdo do acumulador (endereçamento por registrador, indireto) INR M (increment memory) ==> ((M)) <--- ((M)) + 1 - incrementa o conteúdo da posição de memória indicada pelo registrador M (endereçamento por registrador, indireto)
![Page 10: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/10.jpg)
Endereçamento de memória
Modos de endereçamento
Modo registradorExemplos Os exemplos usam instruções do Intel 8080:
DCR r (decrement register) ==> (r) <--- (r) - 1 - decrementa o conteúdo do registrador r (endereçamento por registrador, direto) MOV r1, r2 (move register) ==> (r1) <--- (r2) - o conteúdo do registrador r2 é copiado para o registrador r1 (endereçamento por registrador, direto). MOV M, r (move to memory) ==> ((M)) <--- (r) - o conteúdo do registrador r é copiado para a posição de memória cujo endereço está no registrador M (endereçamento por registrador, indireto).
![Page 11: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/11.jpg)
Endereçamento de memória
Modos de endereçamento
Modo Imediato
![Page 12: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/12.jpg)
Endereçamento de memória
Modos de endereçamentoMODO IMEDIATO
O valor do campo operando é o próprio dado.
É usado para trabalhar com valores constantes. O operando é dito operando imediato (o operando é o próprio valor a ser operado, ou seja, é o próprio dado a ser processado).
![Page 13: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/13.jpg)
Endereçamento de memória
Modos de endereçamentoMODO IMEDIATO
VantagemO operando é obtido durante o ciclo de busca, em apenas 1 acesso. Não é necessário fazer nenhum acesso à MP no ciclo de execução, acarretando maior rapidez na execução.
![Page 14: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/14.jpg)
Endereçamento de memória
Modos de endereçamentoMODO IMEDIATO
Desvantagens a) Este modo de endereçamento não permite flexibilidade para alterar dados que variam a cada execução do programa, portanto não é adequado para variáveis repetidamente operadas com diferentes valores a cada execução do programa.
b) O tamanho do dado fica limitado ao número de bits do operando (campo operando da instrução). A limitação de tamanho do campo operando reduz o valor máximo do dado que pode ser armazenado.
![Page 15: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/15.jpg)
Endereçamento de memória
Modos de endereçamentoMODO IMEDIATO
No Intel 8080, o campo Operando tem 8 bits, portanto o maior valor deste campo será limitado a 28 = 256.
Existem instruções que permitem carregar doublewords, isto é, palavras duplas que ocupam 2 células de memória, em que o maior valor será limitado a 216 = 65.536 (64 k).
![Page 16: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/16.jpg)
Endereçamento de memória
Modos de endereçamentoMODO IMEDIATO
Utilização- Inicialização de contadores- Constantes- Armazenamento de ponteiros em registradores- Indicação de quantidade de posições em operações de deslocamento de bits (multiplicação e divisão)
ExemplosObs.: Instruções do Intel 8080.LDI Op ==> ACC <--- Op = carrega o valor (hexadecimal) do operando no acumulador.LDI 50 (load immediate) ==> ACC <---- 50 (carrega o valor hexadecimal 50 no acumulador)
![Page 17: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/17.jpg)
Endereçamento de memória
Modos de endereçamento
Modo Direto ou Absoluto
![Page 18: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/18.jpg)
Endereçamento de memória
Modos de endereçamento
Modo Direto ou Absoluto
![Page 19: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/19.jpg)
Endereçamento de memória
Modos de endereçamentoModo Direto ou Absoluto
Vantagensa) É aplicado em mais situações que o modo imediato; b) Requer apenas uma referência à memória para busca do dado (além de uma para a busca da instrução), sendo mais rápido que o modo indireto.
Desvantagensa) Limitação do endereço da MP que pode ser indicado pelo tamanho do campo operando. b) É mais lento que o modo imediato.
UtillizaçãoQuando o dado varia de valor a cada execução
![Page 20: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/20.jpg)
Endereçamento de memória
Modos de endereçamentoModo Direto ou Absoluto
Exemplos de Instruções do Intel 8080:
LDA Op (”load accumulator”), sendo Op um endereço na memória ==> ACC <--- (Op)
(carrega o conteúdo da posição de memória indicada pelo operando no acumulador).
LDA 978A ===> ACC <--- (978A) = carrega no acumulador o conteúdo da posição de memória 978A.
![Page 21: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/21.jpg)
Endereçamento de memória
Modos de endereçamentoModo Direto ou Absoluto
Exemplos de Instruções do Intel 8080:
JMP Op ("jump") ==> CI <--- (Op) JMP 1000H ==> CI<--- (1000H) = causa um desvio para o endereço contido nas posições 1000 e 1001 (hexadecimal) da memória, carregando o conteúdo das posições 1000 e 1001H no CI
Obs: como no processador 8080 o C I contém 16 bits (um endereço), serão necessárias DUAS células de memória (uma célula contém 8 bits), o que requer dois ciclos de busca à memória.
![Page 22: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/22.jpg)
Endereçamento de memória
Modos de endereçamento
Modo Direto ou Absoluto
Exemplos de Instruções do Intel 8080:
MOV R, Op ==> R <--- (Op) MOV B, 7AC1 ==> B <--- (7AC1), move o conteúdo da posição de memória (8 bits) indicada pelo operando - 7AC1 - para o registrador B (8 bits).
![Page 23: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/23.jpg)
Endereçamento de memória
Modos de endereçamento
Modo indireto de memória
![Page 24: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/24.jpg)
Endereçamento de memória
Modos de endereçamento
Modo indireto de memória
![Page 25: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/25.jpg)
Endereçamento de memória
Modos de endereçamentoModo indireto de memória
Exemplo:
LDID Op ==> ACC <--- ((Op))
São necessários 3 ou mais acessos à memória: 1 para buscar o opcode, 1 (ou 2, quando for uma referência à memória) para buscar o operando (Op) e mais 1 para buscar o dado ((Op)) propriamente dito (ou 2, quando o dado for um endereço de memória; por exemplo, quando for uma instrução de desvio).
![Page 26: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/26.jpg)
Endereçamento de memória
Modos de endereçamentoModo indireto de memória
Vantagem a) Permite implementar estruturas de organização de dados mais complexas, mais sofisticadas.b) Elimina a limitação de células endereçáveis.
DesvantagemRequer maior quantidade de acessos à MP para completar o ciclo de execução da instrução, acarretando que o tempo requerido para a execução da instrução é maior.
Obs.1: É possível haver várias indireções. Em algumas máquinas, existe 1 bit que sinaliza no caso de existirem várias Indireções. Enquanto este bit for 0, continua com as indireções, até encontrá-lo ligado.
![Page 27: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/27.jpg)
Endereçamento de memória
Modos de endereçamentoModo indireto de memória
UtilizaçãoManutenção de ponteiro de dados
Exemplo: Relação de dados a serem movimentados para novas posições de memória (por exemplo, elementos de vetores), basta modificar o valor da célula endereçada pela instrução (não é necessário mudar o valor do operando).
![Page 28: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/28.jpg)
Endereçamento de memória
Modos de endereçamento
Modo indireto registrador
![Page 29: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/29.jpg)
Endereçamento de memória
Modos de endereçamento
Modo indireto registrador
![Page 30: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/30.jpg)
Endereçamento de memória
Modos de endereçamentoModo indireto registrador
Vantagens Maior velocidade / rapidez de execução - o acesso ao registrador é muito mais rápido que o acesso à memória.Economia de espaço de armazenamento de instrução (o tamanho da instrução é menor porque como são poucos registradores, são menos bits para seus endereços).
DesvantagemNão são adequados para transferência de variáveis da MP para ULA.Pequeno número de registradores - se forem muitos os dados endereçados por registrador, os registradores disponíveis podem não ser suficientes
![Page 31: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/31.jpg)
Endereçamento de memória
Modos de endereçamentoModo indireto registrador
Utilização Implementação de contadores.
Exemplo de uso: vetor E(1) ... E (100)Ri contém E ( i ) para incrementar e percorrer o vetor
Obs.: No Intel 8080, a identificação do registrador envolvido na operação faz parte do próprio opcode.
![Page 32: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/32.jpg)
Endereçamento de memória
Modos de endereçamentoModo indireto registrador
Exemplos Os exemplos usam instruções do Intel 8080:ADD r (add register) ==> (ACC) <--- (ACC) + (r) - soma o conteúdo do registrador r ao conteúdo do acumulador (endereçamento por registrador, direto)
ADD M (add memory) ==> (ACC) <--- (ACC) + ((M)) - soma o conteúdo da posição de memória indicada pelo registrador M ao conteúdo do acumulador (endereçamento por registrador, indireto)
INR M (increment memory) ==> ((M)) <--- ((M)) + 1 - incrementa o conteúdo da posição de memória indicada pelo registrador M (endereçamento por registrador, indireto)
![Page 33: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/33.jpg)
Endereçamento de memória
Modos de endereçamentoModo indireto registrador
Exemplos DCR r (decrement register) ==> (r) <--- (r) - 1 - decrementa o conteúdo do registrador r (endereçamento por registrador, direto)
MOV r1, r2 (move register) ==> (r1) <--- (r2) - o conteúdo do registrador r2 é copiado para o registrador r1 (endereçamento por registrador, direto).
MOV M, r (move to memory) ==> ((M)) <--- (r) - o conteúdo do registrador r é copiado para a posição de memória cujo endereço está no registrador M (endereçamento por registrador, indireto).
![Page 34: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/34.jpg)
Endereçamento de memória
Modos de endereçamento
Modo deslocamento
![Page 35: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/35.jpg)
Endereçamento de memória
Modos de endereçamento
Modo deslocamento
![Page 36: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/36.jpg)
Endereçamento de memória
Modos de endereçamentoModo deslocamento
Utiliza um registrador chamado Registrador de Base, que contém o endereço base na MP e um operando, que contém o deslocamento do dado em relação à base.
UtilizaçãoÉ usado para relocação de programas: define endereço inicial da área do programa e o endereço inicial da área de dados (pode ser utilizado um registrador para endereços e um para dados)
Nota: Os microprocessadores Intel (após 8086/8) usam registradores específicos como registradores-base. Estes Registradores de Base são utilizados para implementar o endereçamento de memória e a segmentação da memória em páginas de 64 kbytes.
![Page 37: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/37.jpg)
Endereçamento de memória
Modos de endereçamento
Modo indexado
![Page 38: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/38.jpg)
Endereçamento de memória
Modos de endereçamentoModo indexado
O endereço de cada elemento é obtido através da soma do campo Operando com o conteúdo de um registrador (Registrador de Índice).O endereço de cada elemento (por exemplo, de um vetor) é a soma (antes da colocação do endereço no REM) do valor do campo operando com o conteúdo de um registrador (escolhido como registrador índice).
VantagemRapidez na execução das instruções de acesso aos dados (a alteração dos endereços é realizada na UCP.
UtilizaçãoManipulação de estruturas de dados mais sofisticadas (vetores).
![Page 39: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/39.jpg)
Endereçamento de memória
Modos de endereçamento
Modo indexado
VantagemRapidez na execução das instruções de acesso aos dados (a alteração dos endereços é realizada na UCP.
UtilizaçãoManipulação de estruturas de dados mais sofisticadas (vetores).
![Page 40: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/40.jpg)
Endereçamento de memória
Modos de endereçamento
Modo indexado
Obs.: O Intel 8080 não possui nenhuma instrução com modo de endereçamento indexado, o qual somente foi introduzido na família Intel a partir do 8086.ExemplosLDX Ri, Op ==> ACC <--- ((Op) + (Ri))ADX Ri, Op ==> ACC <--- ACC + ((Op) + (Ri))
![Page 41: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/41.jpg)
Endereçamento de memória
Modos de endereçamento
Modo auto incremento
![Page 42: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/42.jpg)
Endereçamento de memória
Modos de endereçamento
Modo auto decremento
![Page 43: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/43.jpg)
Endereçamento de memória
Modos de endereçamento
Modo escalonado
![Page 44: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/44.jpg)
Endereçamento de memória
Modos de endereçamento
IDENTIFICAÇÃO DO MODO DE ENDEREÇAMENTO DA INSTRUÇÃO
O Código de Operação identifica o modo de endereçamento, através de seu mnemônico e do correspondente código binário.
Determinados bits no opcode podem indicar o modo de endereçamento ou a instrução pode possuir um campo específico para indicar o modo de endereçamento, através de códigos em bits. O registrador utilizado no endereçamento também pode ser indicado por bits determinados no opcode.
![Page 45: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/45.jpg)
Endereçamento de memória
Modos de endereçamento
Efeitos de Temporização dos Modos de Endereçamento
O modo de endereçamento afeta o tempo requerido para executar uma instrução e a memória requerida para seu armazenamento
Instruções que usam endereçamento implícito ou por registrador são executadas muito rápido, pois trabalham direto com o hardware do processador e seus registradores. A instrução toda pode ser buscada (“fetched”) em um único ciclo de busca (um único acesso à memória). O número de acessos à memória é o mais importante fator no consumo de tempo de execução da instrução.
![Page 46: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/46.jpg)
Endereçamento de memória
Modos de endereçamento
Exercício:
Qual será o valor carregado no acumulador quando forem executadas as seguintes instruções:LDI Op ==> (ACC) <--- Op (modo de endereçamento Imediato)LDA Op ==> (ACC) <--- (Op) (modo de endereçamento direto)LDID Op ==> (ACC) <--- ((Op)) (modo de endereçamento Indireto)LDR Op ==> (ACC) <--- (R) (modo de endereçamento Direto por Registrador)LDIR Op ==> (ACC) <--- ((R)) (modo de endereçamento Indireto por Registrador)LDX Op ==> (ACC) <--- ((Ri) + (Op)) (modo de endereçamento Indexado)LDB Op ==> (ACC) <--- ((Rb) + (Op)) (modo de endereçamento Base + Deslocamento)
![Page 47: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/47.jpg)
Endereçamento de memória
Modos de endereçamento
Exercício:
![Page 48: Arquitetura e organização de computadores](https://reader031.fdocumentos.com/reader031/viewer/2022013012/56814986550346895db6cedc/html5/thumbnails/48.jpg)
Endereçamento de memória
Modos de endereçamento
Exercício: