2º Estudo Dirigido CAP 3

Documentos relacionados
No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

Aula 10 Processadores de Propósito Geral

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Linguagem de Maquina II. Visão Geral

Organização de Computadores 1

Organização Funcional

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

2ª Lista de Exercícios de Arquitetura de Computadores

SSC510 Arquitetura de Computadores 1ª AULA

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura e Organização de Computadores

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

EEL Microprocessadores

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade

William Stallings Arquitetura e Organização de Computadores 8 a Edição

CONJUNTO DE INSTRUÇÕES

II Componentes de um computador

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

2. A influência do tamanho da palavra

Disciplina: Arquitetura de Computadores

2. A influência do tamanho da palavra

Arquitetura e Organização de Computadores

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Arquitetura do 8086/8088

Organização e Arquitetura de Computadores I

Prof. Gustavo Oliveira Cavalcanti

ORGANIZAÇÃO DE COMPUTADORES

FCA - Editora de Informática xv

Conjunto de Instruções. Alisson Brito

Capítulo 1 1. UNIDADE DE INTERFACE DE BARRAMENTO

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Estrutura Básica de um Computador

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

Introdução à Organização de Computadores. Aula 8

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

Microprocessadores II - ELE 1084

Infraestrutura de Hardware. Funcionamento de um Computador

Prof. Leonardo Augusto Casillo

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

Conjunto de Instruções e Modelos de Arquiteturas

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Unidade Central de Processamento 2. Registradores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Arquitetura de Computadores. Conjunto de Instruções

Nível da Arquitetura do Conjunto das Instruções

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

14/3/2016. Prof. Evandro L. L. Rodrigues

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ)

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída

Solução Lista de Exercícios Processadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SSC0112 Organização de Computadores Digitais I

Parte I Multiprocessamento

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly:

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

MICROPROCESSADORES. Aula 10

2ª Lista de Exercícios de Arquitetura de Computadores

Arquitetura de Computadores

Sistemas Operacionais. Conceitos de Hardware

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86

16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento

Transcrição:

2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e aritméticas da ULA; número de funções dos registradores, estrutura de interconexão dos componentes, complexidade da unidade de controle. 2. Cite as principais características de um conjunto de instruções? R.:Tipos de instruções e operandos; número e localização dos operandos em instruções aritméticas e lógicas; modos de endereçamento para acesso a dados na memória; formato dos códigos de instruções. 3. As instruções inseridas numa arquitetura podem ser classificadas de acordo com o tipo de relação que ela realiza. Cite as 3 categorias de instruções básicas que uma arquitetura em geral fornece. R.: Instruções aritméticas e lógicas; instrução de movimento de dados; instrução de transferência de controle. 4. Quais são as categorias consideradas de operações especializadas? R.:Instruções de ponto flutuante; instruções de ponto decimais; manipulação de bits; manipulação de strings. 5. Cite um exemplo de arquitetura que faz uso de operações especializadas. R.: Arquitetura voltada para processamento gráfico, oferece instruções para realizar operações sobre pixels. 6. Cite e exemplifique as formas que as instruções podem referenciar os operandos. R.: Em algumas arquiteturas estas instruções referenciam explicitamente três operandos, sendo dois operandos-fonte e um operando-destino. ADD R1 R2 R3 Fonte 1 fonte 2 Destino Em dois operandos um dos operandos fonte é também o operando-destino. ADD R1 R2 Fonte 1 fonte 2 e Destino 7. Quanto a localização dos operandos cite os tipos de acessos que podem existir e dê um exemplo para cada tipo. R.: Registrador-registrador, registrador - memória e memória-memória. 8. Como podemos classificar as arquiteturas em função do número de operandos? Explique cada um deles. R.: Registrador-registrador: instruções lógicas e aritméticas usam 3 operandos, todos em registrador, sendo que 2 delas acessam a memória. Registrador-Memória: instruções lógicas e aritméticas usam 2 operandos, somente 1 deles pode residir na memória. Memória-memória: instruções lógicas e aritméticas usam 3 operandos e todos podem estar na memória.

9. Quais os locais em que os operandos podem encontrar-se? R.: Podem ser encontrados em registraores, na memória principal ou embutidos na própria instrução. 10. O que é um módulo de endereçamento de uma instrução? R.: É a maneira como uma instrução especifica a localização dos seus operandos. 11. Quais são os módulos de endereçamento básico?(que não usam memória) R.: Registrador (ADD R1 R2) R3 Fonte 1 fonte 2 Destino, Imediato, Implícito. 12. Explique cada módulo básico de endereçamento. R.: Registrador: a instrução indica o número de um registrador de dados onde se encontra um operando (fonte ou destino); Imediato: a instrução referencia um operando que se encontra dentro do próprio código da instrução; Implícito: a localização do operando não está explicitamente indicada na instrução. 13. Cite um exemplo de instrução para cada módulo de endereçamento básico. R.: Modo Exemplo Significado Implícito ADD R1 Ac Ac + R1 Registrador ADD R1,R2 R2 R1 + R2 Imediato ADD R1,#4 R1 R1 + 14. Quais são os módulos de endereçamento que se referem apenas a memória? (só os mais comuns) R.: Direto, indireto, relativo a base e indexado. 15. Explique cada módulo de endereçamento que se refere a memória. R.: No modo direto, o endereço efetivo é um valor imediato contido no código da instrução. Por exemplo, na instrução ADD (100),R1, um dos operandos encontra-se na locação de memória com endereço 100. O modo de endereçamento direto é usado principalmente no acesso às variáveis estáticas de um programa, cujo endereço em memória pode ser determinado durante a compilação do programa. No modo indireto, o endereço efetivo encontra-se em um registrador. Por exemplo, na instrução ADD (R1),R2, um dos operandos encontra-se na locação de memória cujo endereço está no registrador R1. Ou seja, o operando na memória é indicado indiretamente, através de um registrador que contém o endereço efetivo. Este modo de endereçamento é usado no acesso a variáveis dinâmicas, cujo endereço na memória é conhecido apenas durante a execução do programa. O acesso a uma variável dinâmica é realizado através de um ponteiro, que nada mais é do que o endereço da variável. Para realizar o acesso à variável dinâmica, o ponteiro é carregado em um registrador, e a instrução que acessa a variável usa este registrador com o modo de endereçamento indireto. No modo relativo à base, o endereço efetivo é a soma do conteúdo de um registrador, chamado endereço-base, com um valor imediato contido na instrução, chamado

deslocamento. Por exemplo, na instrução ADD 100(R1),R2, R1 contém o endereço-base e 100 é o deslocamento. O endereço efetivo do operando em memória é a soma do conteúdo de R1 com o valor 100. O modo relativo à base é usado no acesso a componentes de variáveis dinâmicas estruturadas (por exemplo, record em Pascal ou struct em C). O endereço inicial da estrutura é indicado por um ponteiro, que torna-se conhecido apenas durante a execução do programa. No entanto, a posição de cada campo em relação ao início da estrutura é fixo, sendo conhecido durante a compilação. O endereço de um campo é obtido somando-se a posição do campo (o deslocamento) ao ponteiro que indica o início da estrutura (o endereço-base). Por exemplo, na figura acima, para somar um valor ao campo C, o compilador pode usar a instrução ADD 2(R1),R2, precedida de uma instrução para carregar em R1 o endereço-base da estrutura. No modo indexado, o endereço efetivo é dado pela soma de um índice com um endereçobase, ambos armazenados em registradores. Por exemplo, na instrução ADD (R1+R2),R3, R1 contém o endereço-base, e R2 o índice. O modo indexado é normalmente usado no acesso aos elementos de um vetor. Um ponteiro indica o endereço-base do vetor, onde se encontra o primeiro elemento. O endereço de cada elemento é obtido somando o índice do elemento ao endereçobase. Para realizar o acesso seqüencialmente os elementos do vetor, o índice é inicialmente carregado no registrador com o valor 0. O índice é então incrementado dentro de um loop após o acesso a cada elemento. Por exemplo, para somar um valor em registrador aos elementos do vetor, o compilador pode usar as seguintes instruções em um loop: ADD R1,(R2+R3) ADD 1,R3 onde R1 contém o valor a ser somado, R2 contém o ponteiro para o vetor e R3 é o registrador com o índice, com valor inicial 0. 16. Dê um exemplo para cada módulo de endereçamento de memória. R.: Direto: usado principalmente no acesso às variáveis estáticas de um programa durante a compilação. ADD(100), R1; Indireto: ADD (R1, R2); Relativo a base ADD 100 (R1, R2); Indexado ADD (R1+R2), R3. 17. O formato de instrução refere-se a qual(is) característica(s) do código de instrução? R.: è logicamente formando por campos de bits que contém as informações à execução da instrução e quais os operandos a serem usados. 18. Quais são os dois formatos que uma instrução pode ter? Explique cada um deles. (característica da arquitetura). R.: Formato Regular: Todos os códigos de instrução possuem o mesmo tamanho, e um certo campo de bits sempre ocupa as mesmas posições nos códigos onde aparece. Formato Irregular: Possibilitam programas com menor tamanho de código executável, porque aqueles campos não utilizados durante a instrução são eliminados economizando espaço de armazenamento na memória.

CAP 4 1. Qual foi o primeiro microprocessador Intel? R.: Intel 4004. 2. Como era a sua arquitetura? R.: Era um dispositivo de 4 bits que continha uma ULA e alguns registradores. 3. Qual processador substituiu o 4004? R.: Intel 8008. 4. Qual a diferença básica entre o 8008 e o 4004? R.: Enquanto o 4004 possuia 4 bits e o 8008 possuia 8 bits. 5. Qual foi o primeiro processador de 16 bits? R.: Intel 8086. 6. Qual(is) diferenças temos entre o 8086 e 8088? R.: O Intel 8088 possui a mesma organização do 8086. As únicas diferenças entre estes dois processadores estão no tamanho da fila de instruções e na largura do barramento de dados. No 8086, a fila de instruções é de 8 bytes e o barramento de dados possui uma largura de 16 bits, enquanto no 8088 a fila de instruções e o barramento de dados são de 4 bytes e 8 bits, respectivamente. O barramento de 8 bits no 8088 foi adotado para manter uma compatibilidade com as interfaces de entrada/saída de 8 bits, existentes na época. Dada a semelhança das duas arquiteturas, a partir de agora se fará referência apenas ao 8086. 7. Qual foi a principal necessidade atendida pelo 8086? R.: Foram atendidas as necessidades de aplicações que exigiam processamento de 16 bits, maior capacidade de memória, modos de endereçamento mais sofisticados facilitando a execução de programas escritos em linguagem de alto nível e suporte de sistemas operacionais multi-programados. 8. Como está dividida a arquitetura do 8086? R.: Composta de duas unidades principais a EU e a BIU. A unidade de execução, ou EU engloba a Unidade Lógica e Aritmética e a Unidade de Controle. E a BIU-Unidade Interface Barramento- responsável por controlar os acessos externos à memória principal e aos dispositivos de entrada/saída. 9. Qual a finalidade da BIU no 8086? R.: A unidade de interface de barramento, BIU (Bus Interface Unit) é responsável por controlar os acessos externos à memória principal e aos dispositivos de entrada/saída. Se durante sua execução uma instrução requer um acesso a um dado armazenado na memória, a EU solicita o acesso à BIU. 10. Explique a composição da EU no 8086?

R.: A unidade aritmética e lógica opera sobre dados de 8 ou 16 bits. Associado à ULA existe um conjunto de 4 registradores de dados de uso geral, denominados AX, BX, CX e DX. Cada um destes registradores de 16 bits é formado por uma metade inferior (AL, BL, CL, DL) e por uma metade superior (AH, BH, CH, DH), onde podem ser realizados acessos individualmente, constituindo cada metade um registrador de 8 bits. Esta organização dos registradores no 8086 foi adotada para manter a compatibilidade com programas desenvolvidos para o Intel 8080/8085, que possuía apenas registradores de 8 bits. 11. Qual a finalidade de existir a parte alta e baixa nos registradores no 8086? R.: Além dos registradores de uso geral, existem os registradores indexadores e os registradores apontadores. Os registradores indexadores SI (Source Index) e DI (Destination Index) são utilizados em operações envolvendo cadeias de caracteres (strings). Os registradores SP (Stack Pointer) e BP (Base Pointer) são normalmente usados para acessar a pilha em chamadas e retornos de rotinas2. O registrador SP aponta para o topo da pilha, enquanto o registrador BP aponta para a área de dados locais (na pilha) da rotina em execução. 12. Cite os grupos que as instruções podem ser classificadas no 8086? R.: Instruções aritméticas, lógicas, instruções de manipulação de strings, instruções de transferência de dados, instruções de transferência de controle. 13. Qual é o tipo de arquitetura do 8086? R.: É do tipo memória-registrador. 14. Qual(is) é (são) o(s) tipo(s) de modos de endereçamento existentes no 8086? R.: Registrador, imediato, direto, indireto via registrador, relativo a base, indexado e relativo a base indexado. 15. Qual foi o sucessor do 8088 e quantos bits ele tinha? R.: O sucessor deste processador foi o Intel 80286, também com 16 bits. 16. Qual foi o primeiro processador de 32 bits? R.: Intel 30386. 17. Qual é a diferença entre o 80126 para o 8086? R.: A diferença é que estes processadores incorporaram no mesmo dispositivo cerca de 15 a 20 dos componentes mais comuns dos sistemas, tais como controlador de interrupção e controlador de DMA. 18. Qual foi a principal novidade inserida pelo 80286? R.: Execução de instrução de pipeline e suporte de memória virtual. 19. Quais são as versões do 80386? R.: SX e DX. 20. Qual é a diferença entre as versões do 80386? R.: SX o barramento de dados externo é de 16 bits e no DX possui 32 bits. 21. Quais são as versões do 80486?

R.: SX, DX e DX2. 22. Qual é a diferença entre as versões do 80486? R.: SX: não possui a unidade de ponto flutuante integrada com o processador, apenas memória cachê. DX: possui unidade de ponto flutuante e memória cachê integradas com o processador e frequência de clock do processador é a mesma usada nos ciclos de barramento para acesso a memória e interface e/s; DX2: a frequência de clock interna ao processador é o dobro da frequência externa usada nos ciclos de barramento, permite obter uma compatibilidade entre novas versões mais rápidas com o processador do que com um hardware de sistema mais antigo. 23. Qual foi o avanço tecnológico que o Pentium trouxe? R.: A execução super-escalar de instruções. 24. Quais são as versões do Pentium? R.: Pentium Pro, II e III. 25. Destaque algum característica importante de pelo menos duas versões do Pentium. R.: Na versão Pentium Pro, o processador usa uma arquitetura de execução dinâmica. Neste processador, diferentes unidades de execução podem se agrupar no mesmo pipeline; por exemplo, a ALU e a unidade de ponto flutuante podem compartilhar um pipeline. A versão Pentium II, por sua vez, incorpora a tecnologia Intel MMX, que é uma extensão do conjunto de instruções da arquitetura Intel. Esta tecnologia utiliza uma técnica SIMD para aumentar a velocidade processando dados em paralelo. A versão mais recente dos processadores Pentium é o Pentium III. Este processador caracteriza-se por possuir 70 instruções a mais que a versão anterior e mais de 9 milhões de transistores.