INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

Documentos relacionados
Organização e Arquitetura de Computadores I

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Processadores. Principal função é executar programas armazenados na memória principal.

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores. Prof. João Bosco Jr.

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

Organização de Sistemas Computacionais Processadores: Organização da CPU

Organização de Sistemas de Computadores

Sistemas Operacionais. Conceitos de Hardware

ORGANIZAÇÃO DE COMPUTADORES

Introdução à Computação: Arquitetura von Neumann

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

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

PARALELISMO NO NÍVEL DO PROCESSADOR

Organização Básica de Computadores (Parte I)

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Organização e Arquitetura de Computadores INTRODUÇÃO

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Algoritmos Computacionais

SSC510 Arquitetura de Computadores 1ª AULA

Organização e Arquitetura de Computadores I

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01

Unidade Central de Processamento UCP (CPU)

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

Conceitos Básicos Processador

ORGANIZAÇÃO DE COMPUTADORES

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Processadores

Organização de Computadores

Infraestrutura de Hardware. Funcionamento de um Computador

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

SSC0902 Organização e Arquitetura de Computadores

Sistemas Operacionais

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

Arquiteturas RISC e CISC. Adão de Melo Neto

SSC0112 Organização de Computadores Digitais I

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

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Organização de computadores. Prof. Moisés Souto

Arquitetura de Computadores Aula 11 - Multiprocessamento

Introdução à Computação: Máquinas Multiníveis

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Organização de Computadores Aula 05

2. A influência do tamanho da palavra

Disciplina: Arquitetura de Computadores

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

SSC0611 Arquitetura de Computadores

Barramento. Prof. Leonardo Barreto Campos 1

3. Unidade Central de Processamento

Arquitetura de Computadores. Processamento Paralelo

1) Considere a situação atual da memória do sistema computacional abaixo discriminada.

William Stallings Computer Organization and Architecture

Instruções de Máquina

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Organização e Arquitetura de Computadores. Hugo Barros

Introdução. (Aula 2) Organização Estruturada de Computadores

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

Arquitetura de Computadores Unidade Central de Processamento CPU

2. A influência do tamanho da palavra

Unidade de Controle. UC - Introdução

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

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade.

Arquitetura e Organização de Processadores. Aula 4. Pipelines

ARQUITETURA DE COMPUTADORES

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

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

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

Organização de computadores. Aula 05

Organização e Arquitetura de Computadores. Leslier S. Corrêa

UNIDADE CENTRAL DE PROCESSAMENTO

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

Modelo de Von Neumann

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

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

Arquitetura e organização de computadores

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

28/8/13. Processadores. Introdução

Computadores e Programação (DCC/UFRJ)

Nível da Microarquitetura


Arquitetura e Organização de Computadores

Processador. Processador

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

Conjunto de Instruções e Modelos de Arquiteturas

Sistemas Operacionais

Arquitetura de Computadores II

Organização de computadores. Prof. Moisés Souto

MICROPROCESSADORES. Aula 10

Elementos básicos de uma Arquitetura Computacional

Aula 17: Organização de Computadores

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

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Arquitetura de Computadores. Conjunto de Instruções

Transcrição:

INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ

ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa programas armazenados na memória, interpretando suas instruções, ou seja, buscando as instruções na memória, decodificando-as e executando-as, uma após a outra. Dispositivos de Entrada e Saída (E/S ou I/O - Input/Output): estabelecem comunicação com o mundo externo (operador ou outros dispositivos). Barramento: Conjunto de conexões elétricas/lógicas paralelas que permite a transmissão de dados, endereços e sinais de controle entre os diversos módulos funcionais do computador. Professor Carlos Muniz professorcarlosmuniz@gmail.com 2

ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Professor Carlos Muniz professorcarlosmuniz@gmail.com 3

ORGANIZAÇÃO D Memória de Rascunho (MEM RASC): conjunto pequeno (algumas dezenas) de registradores dedicados rápidos para armazenamento temporário de dados relativos à decodificação e execução de instruções. Unidade Lógica Aritmética (ULA): Circuito lógico combinacional que realiza operações booleanas sobre palavras armazenadas na memória de rascunho e armazena o resultado na mesma. Professor Carlos Muniz professorcarlosmuniz@gmail.com 4

ORGANIZAÇÃO D Vias Internas: Barramentos dedicados que permitem a transmissão de dados da memória de rascunho para a ULA e vice-versa. Caminho de Dados: Memória de Rascunho + ULA + Vias Internas. Unidade de Controle (UC): Circuito lógico seqüencial responsável pelageração dos sinais de controle do Caminho de Dados na sequência adequada para implementar interpretação de instruções. Professor Carlos Muniz professorcarlosmuniz@gmail.com 5

ORGANIZAÇÃO D Professor Carlos Muniz professorcarlosmuniz@gmail.com 6

ORGANIZAÇÃO D Operação do Caminho de Dados (Ciclo de Máquina): Leitura dos registradores da memória de rascunho. Escrita nos registradores de entrada da ULA. A operação da ULA correntemente selecionada é executada. O resultado do processamento da ULA é escrito no registrador de saída da ULA. O registrador de saída da ULA é lido. O seu conteúdo é copiado para o registrador de destino na memória de rascunho. Professor Carlos Muniz professorcarlosmuniz@gmail.com 7

INTERPRETAÇÃO DE INSTRUÇÕES Conjunto de Instruções: Todas as instruções disponíveis ao programador de um dado nível de máquina virtual. (Nível de linguagem de máquina: tipicamente, de 20 a algumas centenas de instruções). Contador de Programa (PC ProgramCounter): Registrador da memória de rascunho, ponteiro que armazena o endereço na memória principal onde se localiza a próxima instrução a ser interpretada. Registrador de Instrução (IR Instruction Register): Registrador da memória de rascunho que armazena a Instrução corrente que foi buscada na memória principal. Professor Carlos Muniz professorcarlosmuniz@gmail.com 8

INTERPRETAÇÃO DE INSTRUÇÕES Interpretação de Instruções Ciclo de Busca-Decodificação-Execução: 1. Busca da próxima instrução no endereço da memória principal apontado pelo PC e armazenamento da mesma no IR. 2. Atualização do PC, fazendo-o apontar para a instrução seguinte (PC := PC +1). 3. Determinação do tipo de instrução armazenada no IR. 4. Se a instrução precisa de operandos armazenados na memória principal, os seus endereço devem ser determinados. 5. Caso necessário, busca de operandos na memória principal. 6. Execução da instrução. 7. Retorno ao passo i para iniciar a execução da instrução seguinte. Observação: O ciclo de busca-decodificação-execução pode ser implementado em hardware ou software (interpretador = microprograma). Professor Carlos Muniz professorcarlosmuniz@gmail.com 9

INTERPRETAÇÃO DE INSTRUÇÕES Características da interpretação em software: Deve-se projetar um hardware para rodar o interpretador. O projeto do hardware é simplificado Þredução de custo. Complexidade concentrada no interpretador. Instruções complexas podem ser adicionadas facilmente. Instruções mais complexas levam a execução mais rápida embora individualmente possam ser mais lentas. Seqüências freqüentes de instruções simples são candidatas a serem codificadas numa única instrução complexa. Em máquinas de alto desempenho, instruções complexas podem ser implementadas em hardware, mas a compatibilidade exige que instruções complexas sejam incluídas em máquinas simples. Professor Carlos Muniz professorcarlosmuniz@gmail.com 10

INTERPRETAÇÃO DE INSTRUÇÕES Instruções complexas podem ser adicionadas facilmente. Novas instruções podem ser incorporadas facilmente. O projeto estruturado permite desenvolvimento, teste e documentação fáceis e eficientes. Erros de implementação podem ser corrigidos no campo. Novas máquinas de uma mesma família podem ser projetadas e colocadas no mercado rapidamente. Memórias ROM velozes (Memória de Controle) devem ser utilizadas para armazenar o microcódigo (microprograma, constituído por microinstruções). Professor Carlos Muniz professorcarlosmuniz@gmail.com 11

INTERPRETAÇÃO DE INSTRUÇÕES Máquinas CISC x Máquinas RISC A "inflação" dos conjuntos de instruções interpretadas por microprogramas e a resultante perda de desempenho levaram à busca de diretrizes de projeto que priorizassem a eficiência na execução de instruções. CISC Complex Instruction Set Computer Princípio: microprograma interpreta instruções complexas. Microinstruções primitivas que compõem o microprograma são executadas por um hardware simples. RISC Reduced Instruction Set Computer Princípio: Conjunto de instruções constituído por instruções simples de uso muito freqüente. Instruções mais complexas devem ser implementadas como combinação de instruções simples Professor Carlos Muniz professorcarlosmuniz@gmail.com 12

INTERPRETAÇÃO DE INSTRUÇÕES CISC Complex Instruction Set Computer Projeto visa simplificar o hardware e diminuir o fosso semântico entre as linguagens de alto nível e a linguagem de máquina. Complexidade concentrada no projeto do microprograma Conjunto grande (centenas de instruções). Poucas instruções de uso frequente, muitas raramente usadas. RISC Reduced Instruction Set Computer Projeto visa um melhor desempenho. Através da execução eficiente de instruções. Complexidade concentrada no projeto do compilador. Conjunto pequeno (não mais do que três dezenas de instruções). Todas as instruções são de uso freqüente. Professor Carlos Muniz professorcarlosmuniz@gmail.com 13

INTERPRETAÇÃO DE INSTRUÇÕES CISC Complex Instruction Set Computer Instruções complexas, interpretadas por microprograma. Execução de uma instrução demora vários ciclos de máquina. Compatibilidade fácil de ser mantida. RISC Reduced Instruction Set Computer Instruções primitivas simples, interpretadas pelo hardware. Execução de uma instrução em um único ciclo de máquina. Compatibilidade difícil de ser mantida. Professor Carlos Muniz professorcarlosmuniz@gmail.com 14

PRINCÍPIOS DE PROJETO NA ATUALIDADE (PRINCÍPIOS "RISC") Todas as instruções devem ser executadas diretamente pelo hardware. Observação: Para máquinas que seguem a filosofia CISC, solução híbrida: núcleo "RISC" executado diretamente pelo hardware em um ciclo de máquina, instruções complexas executadas interpretadas. Maximização a taxa de execução de instruções. Explorar ao máximo as possibilidades de paralelismo, (desde que a ordem de execução assim o permita). Fácil decodificação das instruções. Explorar regularidade e simplicidade de formato de instruções. Professor Carlos Muniz professorcarlosmuniz@gmail.com 15

PRINCÍPIOS DE PROJETO NA ATUALIDADE (PRINCÍPIOS "RISC") Referência à memória apenas através de instruções LOAD e STORE. Instruções devem operar sobre registradores, minimizando atrasos devidos a referências à memória principal. Disponibilidade de um grande número de registradores. Evitar ao máximo referências à memória principal. Professor Carlos Muniz professorcarlosmuniz@gmail.com 16

PARALELISMO NO NÍVEL DE INSTRUÇÕES Paralelismo dentro das instruções individuais (sem alterar a seqüência), de modo a que o processador execute mais instruções por segundo. Instrução Única - Dado Único (SISD - Single Instruction Single Data). Professor Carlos Muniz professorcarlosmuniz@gmail.com 17

PIPELINE: Acesso à memória principal é o "gargalo" na execução e instruções. Solução simples: Pré-Busca (Pre-Fetch). Instruções buscadas antecipadamente e armazenadas em um buffer de pré-busca. Próxima instrução a ser executada obtida a partir do buffer. Fases de Pré-Busca e Execução realizadas em paralelo. Professor Carlos Muniz professorcarlosmuniz@gmail.com 18

PIPELINE Solução Aprimorada: Pipeline. Ciclo de busca-decodificação-execução dividido em etapas, processadas simultaneamente por unidades (estágios) de hardware dedicadas. Professor Carlos Muniz professorcarlosmuniz@gmail.com 19

PIPELINE Solução Aprimorada: Pipeline. Exemplo: considerando um pipeline de cinco estágios, enquanto uma instrução está sendo buscada (pelo estágio de busca), a anterior já está sendo decodificada (pelo estágio de decodificação). Por sua vez, os operandos da instrução anterior a esta estão sendo buscados (pelo estágio de busca de operandos). Simultaneamente, a instrução anterior a esta está sendo executada (no estágio de execução). Ao mesmo tempo, os resultados da execução da instrução anterior a esta última são escritos em registradores (pelo estágio de escrita). Professor Carlos Muniz professorcarlosmuniz@gmail.com 20

PIPELINE Pipeline de cinco estágios. Professor Carlos Muniz professorcarlosmuniz@gmail.com 21

PIPELINE Pipeline de cinco estágios. Latência: tempo de execução de uma instrução = n.t, onde n é o número de estágios do estágios doclock e T é o ciclo do clock. Banda Passante: número de instruções executadas por segundo (unidade: MIPS - Milhões de Instruções por Segundo). Idealmente, Banda passante = 1000/T MIPS, (com T em ns). Instruções de desvio prejudicam o desempenho do pipeline. Podem ser utilizados dois (ou mais) pipelines em paralelo. (Compilador ou hardware deve garantir que se executemapenas pares de instruções em que uma não depende da outra). Professor Carlos Muniz professorcarlosmuniz@gmail.com 22

MULTIPROCESSADORES Ao contrário dos computadores matriciais, que compartilham uma única unidade de controle, os multiprocessadores são compostos por processadores independentes, cada qual com a sua própria unidade de controle. Instruções Múltiplas - Dados Múltiplos (MIMD Multiple Instruction Multiple Data). Processadores compartilham a mesma memória através de um barramento comum. Professor Carlos Muniz professorcarlosmuniz@gmail.com 23

MULTIPROCESSADORES Devem implementar técnicas que garantam a integridade dos dados compartilhados. Tipicamente, o número de processadores é menor do que 64. Para números maiores, aumenta muito a probabilidade de conflito no acesso aos dados, derrubando o desempenho. Processadores podem incluir alguma memória local, de uso exclusivo, para armazenar dados e programas que não precisam ser compartilhados, de modo a minimizar conflitos. O modelo de memória compartilhada torna a sua programação extremamente fácil. Professor Carlos Muniz professorcarlosmuniz@gmail.com 24

MULTIPROCESSADORES Professor Carlos Muniz professorcarlosmuniz@gmail.com 25