ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE
PROCESSADOR A função de um computador é executar tarefas com a finalidade de resolver problemas. Uma tarefa pode ser executada por meio de uma sequência ordenada de instruções de máquina. O processador é o componente responsável pelo processamento de instruções e de dados.
Desempenho de Processadores O aumento de desempenho (velocidade de processamento) de processadores está relacionado com os seguintes aspectos: Aumento de clock Aumento do número interno de bits Aumento do número externo de bits Redução do número de ciclos para executar cada instrução Aumento da capacidade e velocidade da memória cache Execução de instruções em paralelo
Aumento de Clock O sinal de clock é responsável pelo sincronismo entre as unidades de processamento internas ao microprocessador e pelas unidades externas. Quanto maior a frequência de clock mais rápido o processamento. No entanto, não se pode aumentar de forma indefinida essa frequência. Isso pode causar falhas de processamento e sobreaquecimento. O aumento depende de pesquisas com o objetivo de reduzir o tamanho dos componentes básicos do microprocessador e aumento da quantidade de componentes, sem perda de estabilidade no funcionamento.
Aumento do numero interno de bits Uma maior quantidade de bits dos registradores e dos barramentos internos permite a movimentação de uma maior quantidade de dados por unidade de tempo, aumentando o desempenho do microprocessador.
Aumento do numero externo de bits Um número maior de bits externos permite a movimentação de uma maior quantidade de dados por unidade de tempo com os periféricos, tais como memória, unidade de entrada e saída, controlador de acesso direto à memória (DMA).
CPU 7 Ciclo de instrução: Busca instrução; Decodifica a instrução; Busca operandos; Executa a instrução; Escreve os resultados; Retorna ao primeiro passo. Arquitetura de Computadores
Redução de ciclos de instrução A execução de uma instrução normalmente é feita em duas etapas: busca (onde a instrução é transferida da memória para a unidade de decodificação) e execução (onde os sinais de controle ativam, em uma sequência lógica, todas as unidades envolvidas na execução).
Redução de ciclos de instrução No microprocessador 8085 as instruções mais rápidas são executadas em quatro ciclos de clock; as mais lentas, em até 16 ciclos de clock. A redução do número de ciclos de clock na execução de uma instrução torna o processamento mais rápido.
Aumento da capacidade e velocidade da memória cache O aumento de velocidade de processamento dos microprocessadores tem sido muito maior do que o aumento da velocidade de acesso à memória principal. Assim, a velocidade de acesso à memória principal torna-se um limitador de desempenho dos processadores. Em razão desse problema foi criada a memória cache.
Aumento da capacidade e velocidade da memória cache A memória cache ( constituída de memória RAM estática) é usada para acelerar a transferência de dados entre a CPU e a memória principal (constituída de RAM dinâmica, de menor volume, porém mais lenta). O aumento da capacidade e da velocidade da memória cache resulta no aumento da velocidade de transferência de dados entre a CPU e a memória principal e, consequentemente, resulta no aumento do desempenho global do sistema.
Processador O processador é constituído por centenas de transistores. As portas lógicas são implementadas fisicamente por meio de transistores. Diferentes encapsulamento de transistores.
Processador O processador é dividido em três partes básicas:
Organização funcional 14 SISTEM A CENTRAL UCP UNIDADE ARITM ÉTICA E LOGICA UNIDADE DE CONTROLE CLOCK Barrame nto MEMO RIA PRINCIP AL MICROP RO CESSADO R INTERFACE Barramento INTERFACE...... PERIFE RICO PERIFE RICO Unidade s de Entrada e Saída (E/S)
Componentes do Processador ULA (Unidade Lógica e Aritmética) É onde as operações lógicas e aritméticas são realizadas. Unidade de controle Controla a execução de qualquer instrução dentro do processador. Define o que tem que ser feito a cada momento. Decodifica a instrução e gera os sinais de controle para as unidades funcionais.
Componentes do Processador Registradores Pequenas memórias dentro do processador. Armazenam dados que estão sendo executados no momento. Dois tipos: Registradores de propósito geral Registradores específicos
CPU - Processamento 17 Execução propriamente dita das instruções Esta função envolve a UAL, FPU s e registradores; Exemplos: Operações aritméticas; Operações lógicas; Movimentação de dados; Desvios (branch); Entrada / Saída. Arquitetura de Computadores
Exemplos de Unidades Funcionais
Microprocessador Microprocessador Intel 4004 com 2300 transistores (1971) Faça uma lista com os últimos 15 microprocessadores e seus anos de lançamento, comparando os fabricados pela Intel e pela AMD.
Pentium IV com 55.000.000 transistores (2001).
Itanium com 2 bilhões de transistores (2008)
Barramento Conjunto de condutores por meio dos quais as informações trafegam de uma parte do computador para outra
Instruções Representação elementar que gera uma ação em um computador. Determina o que o computador deve fazer naquele instante. Um programa é composto por muitas instruções, que são executadas de forma ordenada pelo processador. Estrutura de uma instrução 00000010001100100100000000100000 add $t0, $s1, $s2
Tipos de instruções Matemáticas e lógicas Soma, subtração, and, or... Movimentação de dados registrador registrador; registrador memória; memória registrador. Entrada/Saída Controle Instruções de salto
CPU - Controle 26 Dispositivos envolvidos nas atividades de controle: UC: unidade de controle; RI (ou IR) - Registrador de instruções (Instruction Register); CI (ou PC) - Contador de instruções (Program Counter) Clock (Relógio); RDM (Registador de dados da memória); REM (Registrador de endereços de memória).
CPU - Controle 27 UC - movimentação de dados e controle da ALU (ou UAL); Clock - gerador de pulsos que sincronizam os trabalhos da CPU. Frequência medida em MHZ; RI - armazena a instrução que está sendo executada; PC - armazena o endereço da próxima instrução a ser buscada. Arquitetura de Computadores
Execução das instruções Monociclo Sequência das instruções Busca Le Reg. ULA Mem. Esc. Reg
Execução das instruções Multiciclo Sequência das instruções Busca Le Reg. ULA Mem. Esc. Reg
Pipeline é natural Exemplo de Lavanderia Tem-se os volumes A, B, C e D de roupas para lavar, secar e passar A B C D A lavadora leva 30 minutos A secadora leva 40 minutos A passadeira leva 20 minutos
Lavanderia Sequencial 6 7 8 9 10 11 Meia noite Tempo T a s k O r d e r A B C D 30 40 20 30 40 20 30 40 20 30 40 20 A lavanderia sequencial leva 6 horas para 4 volumes
Lavanderia em Pipeline 6 7 8 9 10 11 Meia noite Tempo o r d e m A B C D 30 40 40 40 40 20 Lavanderia em Pipeline leva 3.5 horas
Execução das instruções - Pipeline Ordem
Paralelismo O processador perde muito tempo aguardando os dados da memória. Para melhorar o desempenho do sistema, utiliza-se o paralelismo. Pode ocorrer em dois níveis Nível de instrução pipeline Nível de hardware mais de um processador
Paralelismo Multiprocessador Processadores interligados que executam instruções do mesmo programa e que compartilham a mesma memória. Multicomputador O mesmo que o anterior, porém, além da memória compartilhada, possui também uma memória própria. Trabalha como se fosse um outro computador, portanto, melhorando o desempenho.
Paralelismo Multiprocessador Multicomputador
Conjunto de instruções CISC (Complex Instruction Set Computer) Possui como característica um grande número de instruções. Idéia: quanto mais instruções fossem implementas no computador, melhor seria o desempenho. Porém, a maior parte das instruções utilizadas são simples e quase sempre as mesmas
Conjunto de instruções RISC (Reduced Instruction Set Computer) Possui número reduzido de instruções São mais simples do que as CISC Instruções mais complexas são implementadas pelo software. Tempo de execução menor que a CISC, ou seja, as instruções RISC são executadas mais rápidas. Entretanto, um programa em RISC utiliza mais instruções para fazer a mesma coisa. Mesmo assim, o RISC é mais rápido.
Entrada / Saída 39 Subsistema do computador responsável pelo fornecimento de informações e exibição dos resultados produzidos. Os componentes do sistema de E/S são chamados de periféricos por se localizarem fora do núcleo CPU/MP O processador deve se comunicar com periféricos que possuem diferentes velocidades e formas de representar e transmitir seus dados. Arquitetura de Computadores
Entrada / Saída 40 É necessário que exista um componente intermediário entre o processador e cada um dos periféricos. As controladoras de periféricos realizam o papel da comunicação entre os periféricos e o núcleo CPU / MP. Arquitetura de Computadores
Entrada / Saída 41 Existem duas formas de comunicação entre a CPU / MP e os periféricos: Transmissão serial: Os dados são transmitidos um bit de cada vez (Ex: Teclado e Mouse). Transmissão paralela: Os dados são transmitidos em grupos de bits (Ex: HD s e Vídeo) Arquitetura de Computadores
Entrada / Saída 42 Principais dispositivos de E/S: Teclado; Mouse; Monitor de Vídeo; Impressora; HD s, disquetes, CD s e Fitas Magnéticas; Scanners; MODEM s Etc. Arquitetura de Computadores
Entrada / Saída 43 Interrupções: Sempre que uma operação de E/S é solicitada pelo processador, a controladora respectiva a executa e, ao final, realiza uma interrupção para informar o término da mesma. DMA (Direct Memory Access): Técnica que minimiza a participação do processador em operações de E/S, permitindo que as controladoras acessem a memória diretamente. Arquitetura de Computadores
Memória
Tipos de memória RAM (Random Access Memory) É uma memória volátil de escrita e leitura. É aleatória porque permite o acesso direto ao dado que será lido ou escrito, sem a necessidade de passar por todas as outras posições de memória. Estática (SRAM): armazenada em FLIP-FLOP. Dinâmica (DRAM): armazenada em capacitor, necessitando de refresh.
Tipos de memória ROM (Read Only Memory) É uma memória apenas de leitura, e não-volátil. Os dados são previamente gravados pelos fabricantes. as instruções de um processador um programa de controle de temperatura em um microcontrolador.
Tipos de memória PROM (Programmable Read Only Memory) É uma memória somente leitura programável e não-volátil. Sua programação pode ser feita pelo próprio usuário por meio de um dispositivo apropriado denominado gravador. Uma vez gravado, não pode ser mais alterado nem apagado.
Tipos de memória EPROM (Erasable Programmable Read Only Memory) É uma memória somente leitura programável e apagável e não-volátil. Pode ser programada pelo usuário e, com determinado tempo de exposição à luz ultravioleta em certo ponto do chip, todo seu conteúdo é apagado, podendo, portanto ser reprogramado novamente
Tipos de memória EEPROM (Eletric Erasable Programmable Read Only Memory) É uma memória somente leitura programável e apagável e não-volátil. Pode ser programada pelo usuário e pode ser apagada utilizando sinais elétricos ao invés de luz ultravioleta.
Tipos de memória Flash É uma evolução da memória EEPROM. Enquanto a EEPROM precisa ser totalmente apagada para ser reprogramada, a memória Flash pode ser apagada parcialmente, proporcionando, assim, maior facilidade na hora de fazer alterações em sua programação. Muito utilizada em celulares, palms, câmeras digitais, videogames etc.
Hierarquia de memórias