Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória, ES Brazil 1
Arquitetura von Neumann Revisão Aula Passada Arquitetura von Neumann Parte 4: Memórias Secundárias; Hierarquia das Memórias. 2
Máquina de von Neumann Entrada e Saída: Dispositivos de E/S (I/O): Os dispositivos de E/S são também conhecidos como periféricos, e compõem uma arquitetura de E/S; A arquitetura de E/S do sistema de computação é a sua interface com o mundo exterior, ou seja auxilia se uso por parte dos usuários humanos; Oferece um meio sistemático de controlar a interação com o mundo exterior; Fornece ao sistema operacional (SO) as informações de que precisa para gerenciar a atividade de E/S de modo eficaz. 3
Máquina de von Neumann Entrada e Saída: Tipos de dispositivos de E/S (I/O): Dispositivos somente de entrada: Teclado, mouse, microfone, scanner, etc. Dispositivos somente de saída: Monitor, projetor, autofalantes, impressora, plotter, etc. Dispositivos de entrada e saída: Impressoras multifuncionais, roteadores, modems, drives que permitem leitura e gravação, memórias flash, qualquer outro dispositivo conectado ao PC, com ou sem fios. 4
Máquina de von Neumann Entrada e Saída: Classificação dos dispositivos de E/S (I/O): Os diversos tipos de dispositivos ou periféricos que podem ser conectados em um computador são classificados em três categorias: Os que transmitem/recebem informações inteligíveis para o ser humano e são adequados para estabelecimento de comunicação com o usuário. É o caso de impressora, monitores de vídeo, teclados; Os que transmitem/recebem informações inteligíveis apenas para a máquina e são adequados para comunicação máquina a máquina ou internamente a uma máquina. Exemplos dessa categoria são os discos magnéticos; Os que transmitem/recebem de ou para outros dispositivos remotamente instalados, tais como os modems. 5
Máquina de von Neumann Entrada e Saída: Interface de E/S (I/O): A comunicação entre o conjunto CPU/MP e um periférico dá-se de forma indireta, isso se deve às diferentes características apresentadas pelos periféricos.; Caso a comunicação fosse direta, esta tarefa tornarse-ía extremamente complicada, tal como: Vários periféricos cada um com modos próprios de funcionar e com funções diferenciadas dentro do sistema; A velocidade de transferência de dados de um periférico é muito menor que a da CPU, além disso os periféricos trabalham em velocidades diferentes entre si; Os periféricos costumar usar formatos e tamanhos diferentes de unidades de transferência de dados. 6
Máquina de von Neumann Entrada e Saída: Interface de E/S (I/O): É o elemento entre o conjunto CPU/MP e um periférico; Visa possibilitar e otimizar a comunicação, compatibilizando as diferentes características entre ambos; São conhecidos como Interface de E/S, mas dependendo do fabricante ou do mercado pode ser chamado também de Canal, adaptador, controlador ou placa (vídeo, modem, etc.); Um interface de E/S pode servir apenas para a conexão à CPU/MP e para o controle de um único dispositivo de E/S ou pode atender a vários dispositivos, até mesmo dispositivos diferentes. 7
Máquina de von Neumann Entrada e Saída: Interface de E/S (I/O): Um Interface ou Controlador de E/S é, em geral, responsável pelas seguintes tarefas: Controlar e sincronizar o fluxo de dados entre a CPU/MP e o periférico; Realizar a comunicação com a CPU, inclusive interpretando suas instruções ou sinais de controle para acesso físico ao periférico; Servir de memória auxiliar para o trânsito das informações entre os componentes (buffer de dados); Realizar algum tipo de detecção e correção de erros durante as transmissões. 8
Máquina de von Neumann Entrada e Saída: Interface de E/S (I/O): Em geral, um Interface de E/S se comunica com o processador e com o periférico através das seguintes ações básicas: O processador interroga o interface para verificar se o periférico está pronto para se comunicar ou se está ocupado; A interface responde informando o estado do periférico:» Se está pronto (Ready);» Se está ocupado ou desligado ou outra incapacidade qualquer de atender (Not Ready). Se o dispositivo de E/S estiver pronto para se comunicar, então o processador envia os dados pelo barramento para o interface, deste, os dados irão para o dispositivo ou vice-versa. 9
Máquina de von Neumann Entrada e Saída: Interface de E/S (I/O): Observação: A utilização de um buffer interno pela Interface é um fator fundamental para a compatibilização de velocidades diferentes entre o barramento do sistema e suas linhas externas. 10
Máquina de von Neumann Entrada e Saída: Interface de E/S (I/O): Há duas maneiras básicas de se realizar transmissão/recepção de dados entre os periféricos/interfaces e CPU/MP, bem como entre os dispositivos interconectados entre si, local ou remotamente: Transmissão serial; Transmissão paralela. 11
Máquina de von Neumann Entrada e Saída: Transmissão/recepção de dados: Na transmissão serial, o periférico é conectado ao dispositivo controlador ou interface E/S por uma única linha de transmissão de dados, de modo que a transferência de dados é realizada um bit de cada vez, embora o controlador possa ser conectado à CPU/MP através do barramento com várias linhas. A transmissão serial é mais lenta que a transmissão paralela, visto que só envia um bit de cada vez, sendo normalmente utilizado em periféricos de baixa velocidade cuja característica é típica de transmissão bit a bit; O teclado e o mouse são dispositivos que realizam comunicação serial, assim como os modems. 12
Máquina de von Neumann Entrada e Saída: Transmissão/recepção de dados: Na transmissão paralela, um grupo de bits é transmitido de cada vez, sendo cada um enviado por uma linha separada de transmissão; Sua utilização é mais comum para transmissão interna do sistema de computação e para ligação de alguns periféricos (impressoras, por exemplo) a curta distância visto que o custo da transmissão paralela é maior em face da quantidade de linhas utilizadas. 13
Máquina de von Neumann Entrada e Saída: Dispositivos de E/S (I/O): Cada dispositivo é composto por duas partes principais: A Controladora, que fica geralmente em uma placa conectada em algum slot (espaço para conexão via barramento) da placa mãe; A controladora também pode estar embutido na própria placa mãe, nos casos mais essenciais como no caso do teclado, modem, etc. O dispositivo propriamente dito, que é composto do hardware em questão. 14
Máquina de von Neumann Entrada e Saída: Controladoras: Uma controladora tem como principal receber comandos de programas e tratá-los; Algumas controladoras podem acessar diretamente a memória, sem a intervenção da CPU: Tecnologia DMA (Direct Memory Access); Quando a comunicação termina, a controladora geralmente gera uma interrupção para a CPU. 15
Máquina de von Neumann Entrada e Saída: Controladoras: Há outras tecnologias, por exemplo: Ultra-ATA (Ultra DMA): Também depende do dispositivo e da placa-mãe; Possui taxas de transferência de 33MB/s a 133MB/s; Serial ATA: Novo padrão de comunicação de dispositivos de armazenamento; Taxas de transferência de 150MB/s; Não usa o padrão mestre/escravo; Oposto ao Parallel ATA. 16
Máquina de von Neumann Entrada e Saída: Controladoras: No caso de DMA, o processo é o seguinte: A CPU suspende a execução do programa corrente; A CPU passa a rodar um procedimento especial chamado tratador de interrupção (interrupt handler); Ocorre a verificação de erros; As ações dependentes do dispositivo em questão são tomadas; O SO é informado que a operação de E/S foi concluída; A CPU volta a executar o programa que foi suspenso. 17
Máquina de von Neumann Barramento: Transmissão via barramento de dados: O barramento é utilizado pela CPU para tráfego de dados e de instruções; Quem controla o acesso ao barramento é o elemento chamado de árbitro de barramento, que é um chip capaz de decidir de quem é a vez de tráfego no barramento; Em geral, os dispositivos de E/S têm preferência, preterindo o processador, pois os discos e demais dispositivos cuja operação dependa de movimento de suas partes não podem ter seu trabalho interrompido; Quando uma operação de E/S estiver em andamento, será garantido acesso prioritário ao barramento ao dispositivo que estiver realizando a tarefa. 18
Máquina de von Neumann Barramento: Tipos de Arbitrágem de Barramento: Arbitragem centralizada: Precisa de um árbitro para controlar o acesso ao barramento que determina quem será o próximo mestre do barramento; Arbitragem descentralizada: Não usa árbitro para controlar o acesso ao barramento: Quando um dispositivo precisar usar o barramento, o dispositivo deve ativar a linha de requisição; Todos os dispositivos monitoram todas as linhas de requisição. 19
Máquina de von Neumann Barramento: Protocolo de barramento: É um conjunto de regras que especificam o funcionamento do barramento; Define as regras e especificações, elétricas e mecânicas, de compatibilização de um conjunto de dispositivos de E/S, em geral fornecidos por terceiros, com o barramento; Os dispositivos ligados ao barramento podem funcionar como: Mestres: dispositivos ativos, ou seja, que comandam o barramento; Escravos: dispositivos passivos, ou seja, não controlam o barramento. 20
Máquina de von Neumann Barramento: Protocolos de barramento: 21
Máquina de von Neumann Barramento: Temporização do barramento Barramentos Síncronos: Possuem um clock, e todas as atividades do barramento gastam um número inteiro de ciclos desse sinal (ciclos do barramento); Barramentos Assíncronos: Não usam clock para sincronização de operações. A comunicação se dá através de um protocolo conhecido como aperto de mão (handshaking), que é self-timed. O maior problema com o barramento síncrono é que os dispositivos mais rápidos têm que esperar alguns clocks inteiros para finalização de operações com dispositivos mais lentos. 22
Máquina de von Neumann Barramento: Barramento Síncrono: Vantagens: Nenhuma ou pouca lógica é necessária durante a transação ; Barramento rápido e de baixo custo; Desvantagens: Todos os dispositivos devem operar na mesma velocidade; Risco de clock skew; Possuem comprimento físico limitado; Transação consiste basicamente de duas partes: Envio do endereço e leitura dos dados. 23
Máquina de von Neumann Barramento: Barramento Assíncrono: Vantagens: Mais adaptável a mudanças tecnológicas; Adaptável a uma grande variedade de dispositivos (velocidade); Permite maior comprimento físico; Usado tipicamente em transações de E/S; Desvantagens: Lógica dedicada é necessária em cada dispositivo; Maior sobrecarga (overhead) devido ao processo de sincronização; Menor BW (Banda Passante). 24
Máquina de von Neumann Barramento: Barramento Síncrono versus Assíncrono Os barramentos síncronos não podem tirar vantagem dos ganhos em desempenho das novas tecnologias surgidas após a sua definição; A cada mudança de tecnologia, para se aumentar o desempenho do sistema, é necessário trocar todos os dispositivos da tecnologia anterior; Isto não acontece com os barramentos assíncronos, pois cada operação pode definir a sua própria temporização; Podem conviver num mesmo barramento assíncrono dispositivos de tecnologias diferentes. Esta flexibilidade tem, como custo, uma maior complexidade do barramento. 25
Máquina de von Neumann Barramento: Barramento Síncrono versus Assíncrono A medida que os avanços tecnológicos aproximam-se dos limites físicos de velocidade dos dispositivos, a vantagem da flexibilidade dos barramentos assíncronos perde um pouco a sua importância; Pois numa mesma tecnologia, o desempenho dos barramentos síncronos é um pouco maior que o desempenho dos barramentos assíncronos. 26
Máquina de von Neumann Barramento: Barramento Síncrono versus Assíncrono O barramento assíncrono tem vantagens em relação ao síncrono, porém os síncronos são mais usados pois: São mais fáceis de construir, o processador simplesmente ativa seus sinais e a memória simplesmente reage a eles; Não há realimentação (causa e efeito); Há uma boa soma de dinheiro investida na tecnologia de barramentos síncronos. 27
Máquina de von Neumann Barramento: Barramento Protocolos Padronização: UNIBUS: definido pela DEC, praticamente fora de uso; MCA (Micro Channel Architecture): definido pela IBM, sistemas PS-2; ISA (Industry Standard Architecture/Adapter): definido pela IBM para o PC-AT e adotado por toda a indústria; EISA (Extended ISA): praticamente abandonado; VLB (VESA Local bus): definido pela Video Eletronic Standard Association, é conectado diretamente no barramento local. Essa característica faz com que fique preso às características do processador; 28
Máquina de von Neumann Barramento: Barramento Protocolos Padronização: PCI (Peripheral Component Interconnect): desenvolvido pela Intel, quase um padrão para o mercado, com barramento de E/S de alta velocidade. Nas placas-mãe 486 o PCI trabalha na mesma frequência do processador; No caso de Pentium e superiores o PCI trabalha na metade de frequência. 29
Máquina de von Neumann Barramento: Barramento Protocolos Padronização: 30
Máquina de von Neumann Barramento: Barramento Protocolos Padronização: AGP (Accelerated Graphics Port): visa acelerar as transferências de dados do vídeo para a memória, especialmente dados para 3D; Este barramento se comunica diretamente com a memória principal, através do barramento local, o que faz com que a sua taxa de transferência aumente (a frequência de operação aumenta podendo atingir a 133MHz); AGP - Modos de operação: Modo x1: 264MB/s; Modo x2: 528MB/; Modo x3: 1GB/s. 31
Máquina de von Neumann Barramento: Barramento Protocolos Padronização: 32
Máquina de von Neumann Barramento: Barramento Protocolos Padronização: PCIe ou PCI-Ex (PCI-Express): concebido para substituir os padrões AGP e PCI; Conta com um recurso que permite o uso de várias conexões seriais (lanes) para transferência de dados; Se um determinado dispositivo usa apenas uma conexão (lane) a mais que o PCI comum, então diz-se que este utiliza o barramento PCI Express 1x, se utiliza 4 conexões, sua denominação é PCI Express 4x e assim sucessivamente; Cada lane pode ser bidirecional, isto é, recebe e envia dados em ambas direções simultaneamente. 33
Máquina de von Neumann Barramento: Barramento Protocolos Padronização: 34
Máquina de von Neumann Entrada e Saída: Interfaces de conexão: USB (Universal Serial Bus): Plug And Play; Pode-se utilizar HUBs; Opera a taxas de 1,5 a 12 MB/s; Serial: Conexão de dispositivos seriais (p.ex. Modems); Paralela: Conexão de impressoras; Está sendo cada vez menos utilizado (troca pela USB); Firewire: Opera a 400 Mbps (50 MB/s); IEEE 1394. 35
Arquitetura von Neumann Próxima Aula Arquitetura von Neumann: Verifiquem a correção dos trabalhos. Novidades na próxima aula! Até breve. 36
http://nemo.inf.ufes.br/ 37