38
Arquitetura de Arquitetura de Computadores Computadores Prof.: Bruno Rafael de Oliveira Prof.: Bruno Rafael de Oliveira Rodrigues Rodrigues

Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Embed Size (px)

Citation preview

Page 1: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Arquitetura de Arquitetura de ComputadoresComputadores

Prof.: Bruno Rafael de Oliveira Prof.: Bruno Rafael de Oliveira RodriguesRodrigues

Page 2: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

O ciclo de busca, O ciclo de busca, decodificação e execuçãodecodificação e execução

» 1 Busca» 2 Decodificação» 3 Execução

Page 3: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Durante a fase de busca a unidade de controle solicita que a memória principal forneça a próxima instrução a ser executada. A unidade de controle, que pode se comunicar com a memória principal, sabe qual é a próxima instrução porque mantém o ponteiro de instrução sempre apontando para o valor da instrução ainda não lida da RAM. A unidade de controle, então, copia o valor armazenado no endereço de memória apontado pelo ponteiro de instrução para dentro do registrador de instrução. Por fim, a unidade de controle passa o apontador de instrução para o próximo endereço e aguarda a etapa de decodificação.

Page 4: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Na decodificação o dado recém chegado da memória RAM é analisado. É um dado comum? É uma instrução? Dependendo da resposta ele é copiado para o registrador apropriado.

Page 5: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Feita a decodificação, a unidade de controle entra na fase de execução, onde ativa os circuitos necessários para a realização da tarefa. Se for um pedido de soma, a porção aritmética da ULA atenderá. Se for um pedido para que o processador receba, em um de seus registradores genéricos, os dados de uma outra posição de memória, a própria unidade de controle atenderá. Tudo depende, enfim, do programa de computador em execução.

Page 6: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Quando a instrução estiver completamente executada, o ciclo recomeçará partindo da fase de busca. O apontador de instrução já estará apontando para o próximo endereço da memória que contém a nova instrução. A etapa de busca é a mais demorada. Para ajudar na performance, os projetistas de processador incorporaram o conceito de Pipeline.

Page 7: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

PipeliningPipeliningÉ uma técnica desenvolvida para melhorar o desempenho de processadores. Opipelining permite que um processador sobreponha a execução de diversas instruções de modo que mais instruções possam ser executadas no mesmo período de tempo.

Page 8: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Com este sistema existe a chance de que a próxima instrução já esteja no tubo para ser copiada para dentro de um registrador, acelerando dramaticamente a vazão dos dados.

Page 9: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

O motivo de não ser possível prever exatamente quais serão as próximas instruções reside no fato de haver no processador a estrutura de condição.O processador, em sua linguagem de máquina, faz esses desvios alterando a ordem de execução das instruções. Por isso a impossibilidade de sabermos, de antemão, quais regiões da memória devem ser copiadas para o tubo.

Page 10: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Um dos overheads associados à operação de um pipeline é decorrente da necessidade de se transferir dados entre os estágios. Há duas estratégias básicas para controlar a transferência de dados entre os estágios de um pipeline: o método assíncrono e o métodosíncrono.

Page 11: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

OverheadOverhead

geralmente considerado qualquer processamento ou armazenamento em excesso, seja de tempo de computação, de memória, de largura de banda ou qualquer outro recurso que seja requerido para ser utilizado ou gasto para executar uma determinada tarefa.

Page 12: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

CISC CISC (Complex Instruction (Complex Instruction Set Computing)Set Computing)

• Reconhece mais de uma centena de instruções

• É mais lento na execução das instruções

• (quanto > número de instruções > tempo)

• A maioria dos microprocessadores são CISC

Page 13: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

RISC RISC (Reduced Instruction (Reduced Instruction Set Computing)Set Computing)

• Reconhece no limitado de instruções otimizadas para que sejam executadas com mais rapidez

• Conjunto de instruções mínimo: instruções não disponíveis são executadas como combinações

• das existentes• Desempenho de 50-75% superior a

um CISC

Page 14: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Múltiplos processadores e Múltiplos processadores e múltiplos núcleosmúltiplos núcleos

O termo multiprocessamento faz referência ao uso de dois ou mais processadores para a realização de tarefas em paralelo. O desafio é conseguir coordenar os processadores para trabalharem sem que um danifique os dados do outro, pois a memória principal geralmente é compartilhada entre eles. Ter dois processadores não significa ter 200% de velocidade, um deles pode ficar esperando o cálculo do outro.

Page 15: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Processadores com mais de Processadores com mais de um núcleoum núcleo

Um só processador, porém com dois ou mais núcleos de cálculo. Fica-se com um computador contendo um único microchip. Internamente, este processador é capaz de realizar duas ou mais operações de cálculo por ciclo, dependendo da quantidade de núcleos presentes.

Page 16: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

As estruturas auxiliares, como os registradores e o próprio pipeline, são compartilhadas entre esses núcleos.

Page 17: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Alguns nomes de mercado para este recurso são: Hyperthreading, Core Duo e Multi Core.

Page 18: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Entradas e SaídasEntradas e Saídas Funções:• a comunicação do usuário com o

computador • a comunicação do computador com o

meio ambiente (dispositivos externos a serem monitorados ou controlados)

• armazenamento (gravação) de dados.

Page 19: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Os dispositivos de entrada e saída são muito mais lentos que o computador, característica essa que impõe restrições à comunicação, de vez que o computador precisaria esperar muito tempo pela resposta do dispositivo.

Page 20: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues
Page 21: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

A UCP não se comunica diretamente com cada dispositivo de E/S e sim com "interfaces", de forma a compatibilizar as diferentes características. O processo de comunicação ("protocolo") é feito através de transferência de informações de controle, endereços e dados propriamente ditos. Inicialmente, a UCP interroga o dispositivo, enviando o endereço do dispositivo e um sinal dizendo se quer mandar ou receber dados através da interface. O periférico, reconhecendo seu endereço, responde quando está pronto para receber (ou enviar) os dados. A UCP então transfere (ou recebe) os dados através da interface, e o dispositivo responde confirmando que recebeu (ou transferiu) os dados (acknowledge ou ACK) ou que não recebeu os dados, neste caso solicitando retransmissão (not-acknowledge ou NAK).As interfaces de entrada e saída são conhecidas por diversos nomes, dependendo do fabricante: Interface de E/S = Adaptador de Periférico, Controladora de E/S, Processador de Periférico, Canal de E/SPor exemplo, os computadores de grande porte da IBM chamam de "I/O channel".

Page 22: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

A compatibilização de velocidades é feita geralmente por programa, usando memórias temporárias na interface chamadas "buffers" que armazenam as informações conforme vão chegando da UCP e as libera para o dispositivo à medida que este as pode receber.

Page 23: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Formas de Comunicação - Formas de Comunicação - Comunicação em ParaleloComunicação em Paralelo Na comunicação em paralelo, grupos de bits são transferidos simultaneamente (em geral, byte a byte) através de diversas linhas condutoras dos sinais. Desta forma, como vários bits são transmitidos simultaneamente a cada ciclo, a taxa de transferência de dados ("throughput") é alta. No entanto, o processo de transferência em paralelo envolve um controle sofisticado e é razoavelmente complexo, o que o torna mais caro. Um dos problemas importantes diz respeito à propagação dos sinais no meio físico, isto é, no cabo de conexão entre o dispositivo e a interface.

Page 24: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

As restrições citadas contribuem para que a utilização da comunicação em paralelo se limite a aplicações que demandem altas taxas de trasferência, normalmente associadas a dispositivos mais velozes tais como unidades de disco, ou que demandem altas taxas de transferência, como CD-ROM, DVD, ou mesmo impressoras, e que se situem muito próximo do núcleo do computador. Em geral, o comprimento dos cabos paralelos é limitado a até um máximo de 1,5 metro.

Page 25: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Comunicação ParalelaComunicação Paralela

Page 26: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Formas de Comunicação Formas de Comunicação - Comunicação Serial- Comunicação Serial

Na comunicação serial, os bits são transferidos um a um, através de um único par condutor. Os bytes a serem transmitidos são serializados, isto é, são "desmontados" bit a bit, e são individualmente transmitidos, um a um. O controle é comparativamente muito mais simples que no modo paralelo e é de implementação mais barata.

Page 27: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

A transmissão serial não é afetada por irregularidades do meio de transmissão. No entanto, a transmissão serial é intrinsecamente mais lenta

Page 28: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Como os bits são transmitidos seqüencialmente um a um, sua utilização é normalmente indicada apenas para periféricos mais lentos, como por exemplo teclado, mouse, etc. ou quando o problema da distância for mandatório

Page 29: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Comparativamente, a transmissão serial tem recebido aperfeiçoamentos importantes (seja de protocolo, de interface e de meio de transmissão) que vem permitindo o aumento da velocidade de transmissão por um único par de fios, cabo coaxial ou de fibra ótica. Como o aumento da velocidade de transmissão em interfaces paralelas ocasiona mais skew, a tendência tem sido no sentido do aperfeiçoamento das interfaces seriais que hoje permitem taxas de transferência muito altas com relativamente poucas restrições de distância. Em microcomputadores, a interface USB - Universal Serial Bus permite hoje ligar até 128 dispositivos a taxas muito altas (centenas de kbps).

Page 30: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Tabela ComparativaTabela Comparativa

Característica Paralelo Serial

Custo maior menor

Distância curta sem limite

Throughput alto baixo

Page 31: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

TRANSMISSÃO SÍNCRONA E TRANSMISSÃO SÍNCRONA E ASSÍNCRONAASSÍNCRONA

Na transmissão síncrona, o intervalo de tempo entre dois caracteres subseqüentes é fixo. Nesse método, os dois dispositivos - transmissor e receptor - são sincronizados, pois existe uma relação direta entre tempo e os caracteres transferidos. Quando não há caracteres a serem transferidos, o transmissor continua enviando caracteres especiais de forma que o intervalo de tempo entre caracteres se mantém constante e o receptor mantém-se sincronizado.

Page 32: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Já na transmissão assíncrona, o intervalo de tempo entre os caracteres não é fixo. Como o fluxo de caracteres não é homogêneo, não haveria como distinguir a ausência de bits sendo transmitidos de um eventual fluxo de bits zero e o receptor nunca saberia quando virá o próximo caractere, e portanto não teria como identificar o que seria o primeiro bit do caractere.

Page 33: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues
Page 34: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

TRANSMISSÃO SIMPLEX, HALF-DUPLEX TRANSMISSÃO SIMPLEX, HALF-DUPLEX E FULL-DUPLEXE FULL-DUPLEX

Uma comunicação é dita simplex quando permite comunicação apenas em um único sentido, tendo em uma extremidade um dispositivo apenas transmissor (transmitter) e do outro um dispositivo apenas receptor (receiver). Não há possibilidade do dispositivo receptor enviar dados ou mesmo sinalizar se os dados foram recebidos corretamente. Transmissões de rádio e televisão são exemplos de transmissão simplex.

Page 35: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Uma comunicação é dita half-duplex (também chamada semi-duplex) quando existem em ambas as extremidades dispositivos que podem transmitir e receber dados, porém não simultaneamente. Durante uma transmissão half-duplex, em determinado instante um dispositivo A será transmissor e o outro B será receptor, em outro instante os papéis podem se inverter.

Page 36: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

Uma transmissão é dita full-duplex (também chamada apenas duplex) quando dados podem ser transmitidos e recebidos simultaneamente em ambos os sentidos. Poderíamos entender uma linha full-duplex como funcionalmente equivalente a duas linhas simplex, uma em cada direção. Como as transmissões podem ser simultâneas em ambos os sentidos e não existe perda de tempo com turn-around, uma linha full-duplex pode transmitir mais informações por unidade de tempo (maior throughput) que uma linha half-duplex, considerando-se a mesma taxa de transmissão de dados.

Page 37: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues
Page 38: Arquitetura de Computadores Prof.: Bruno Rafael de Oliveira Rodrigues

AtividadeAtividadeFaça comparações entre as portas de comunicação: USB, Firewire, Serial e Paralela. Cite equipamentos utilizados nestas portas.