Modos de entrada/saída



Documentos relacionados
Entradas/Saídas. Programação por espera activa Programação por interrupções

Informática I. Aula 5. Aula 5-13/05/2006 1

Processador. S. W. Song. MAC Organização de Computadores

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Programação de. Programa. Bibliografia. Páginas electrónicas de PM. Regras das aulas de laboratório. Métodos de Ensino - Aulas

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Introdução à Engenharia de Computação

Arquitetura de processadores: RISC e CISC

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Sistemas Operativos I

Dispositivos de Entrada e Saída

Gestão do Risco e da Qualidade no Desenvolvimento de Software

SSC510 Arquitetura de Computadores. 2ª aula

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Hardware Fundamental

ARQUITETURA DE COMPUTADORES

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Arquitectura de Computadores

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

STC5 Redes de informação e comunicação

Implementadas por Computador

Memórias. Considerações iniciais Tipos de memórias RAMs Estrutura das RAMs Expansão das RAMs 12/3/10. Mário Serafim Nunes Guilherme Silva Arroz

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

RISC - Reduced Instruction Set Computer

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Arquiteturas RISC. (Reduced Instructions Set Computers)

Figura 1 - O computador

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

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

Arquitetura de um Computador

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Acetatos de apoio às aulas teóricas

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

4.1. UML Diagramas de casos de uso

Sistema de Memórias de Computadores

2. A influência do tamanho da palavra

Aula 14: Instruções e Seus Tipos

Aspectos Sócio-Profissionais da Informática

Introdução. Hardware (Parte I) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

INSTRUMENTOS USADOS Lápis e lapiseiras Os lápis médios são os recomendados para uso em desenho técnico, a seleção depende sobretudo de cada usuário.

IDENTIFICAÇÃO MANUTENÇÃO

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Programação de Sistemas

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Invenções Implementadas por Computador (IIC) Patentes

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Sistemas Computacionais II Professor Frederico Sauer

Algumas características especiais

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Optimização de um Mundo Virtual

O Manual do ssc. Peter H. Grasch

4.4. UML Diagramas de interacção

Programação em papel quadriculado

Processo de Bolonha. Regime de transição na FCTUC

Introdução à Engenharia de Computação

Pipelining - analogia

Conjunto de Instruções e Arquitectura p.1

Memória cache. Prof. Francisco Adelton

Gestor de Janelas Gnome

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

ARQUITETURA DE COMPUTADORES

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama

Organização de Computadores Como a informação é processada?

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

MICROPROCESSADORES. Unidade de Entrada/Saída (I/O) Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico.

Arquitetura de Computadores. Tipos de Instruções

O Manual do Konquest. Nicholas Robbins Tradução: José Pires

Estrutura do tema ISC

Avaliação de Desempenho

Especificação Operacional.

ARQUITETURA DE COMPUTADORES

Visão Artificial Para a Indústria. Manual do Utilizador

Sistemas Microcontrolados

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Entradas/Saídas. 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência

UPGRADES. Uma das melhores características do PC é o facto de ser uma arquitectura aberta, que permite a substituição de componentes com facilidade.

Arquitectura de Computadores

EEC2104 Microprocessadores

Guia de iniciação Bomgar B400

COMO ENSINEI MATEMÁTICA

A Importância do Desenho de Construção Mecânica e da Concepção e Fabrico Assistidos por Computador ao nível da Indústria Metalomecânica *

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

O Manual do Tenente Skat. Martin Heni Eugene Trounev Revisão: Mike McBride Tradução: José Pires

O modelo do computador

Estrutura de um Computador

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

Organização e Arquitetura de Computadores. Hugo Barros @hugobarros.com.br

Transcrição:

Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Modos de entrada/saída Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 1

Modos de entrada/saída Modos de transferência de informação entre o processador/memória e os periféricos: Sob controlo do programa (polling); Por interrupção; Por acesso directo à memória (DMA Direct Memory Access); Com co-processador de entradas/saídas. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 2

Num extremo (polling), o processador trata de tudo. No outro, o processador limita-se a programar o co-processador; Dado que as entradas/saídas são lentas, a ideia é reduzir o tempo que o processador gasta à espera dos periféricos (libertando-o para outras tarefas). Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 3

Pooling O programa controla tudo; O processador faz espera activa contínua (senão pode perder dados) sobre periféricos lentos; A transferência é feita por software. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 4

Pooling Faz pedido ao periférico não pronto não Periférico pronto? pronto Transfere dado(s) entre a memória e o periférico Acabou? sim espera activa (latência) Transferência de informação (largura de banda) Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 5

Transferência p/ Interrupção A espera já não é activa; O processador só é incomodado quando há coisas para fazer; Cada periférico tem o seu device driver. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 6

Transferência p/ Interrupção Faz pedido ao periférico Interrupção! vai fazer outras coisas... Transfere dado(s) entre a memória e o periférico não Acabou? Regista fim de transferência Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 7 (Return From Exception) sim RFE

DMA: Direct Memory Access A transferência de informação entre o processador/memória e os periféricos é feita em hardware por um controlador especializado. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 8

DMA: Direct Memory Access O processador só tem de programar o controlador de DMA, escrevendo em portos próprios do controlador (que em si também é um periférico): Endereço de origem Endereço de destino Número de palavras a transferir Qual o modo de DMA Durante a transferência, os endereços de origem e destino são incrementados automaticamente. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 9

DMA: Direct Memory Access Na ausência de pedidos de DMA o processador funciona normalmente nos acessos à memória e/ou periféricos; Durante a transferência, o controlador de DMA toma controlo dos barramentos do sistema (endereços e dados); É a implementação em hardware das instruções de transferência de dados. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 10

DMA: Direct Memory Access Antes de iniciar a transferência, o controlador pede ao processador autorização para controlar os barramentos, usando sinais de protocolo (Bus Request e Bus Grant); Quando acaba, liberta-os logo (desactivando o Bus Request); Mesmo durante a transferência, o processador pode continuar a trabalhar internamente até precisar de aceder à memória (para acesso de dados ou para fetch). Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 11

Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 12

Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 13

Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 14

Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 15

Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 16

Tipos de DMA: Simultâneo (dado é lido da fonte e escrito ao mesmo tempo no destino através do bus dados); Sequencial (dado é lido primeiro para um registo interno do controlador e escrito a seguir permite transferências memória-memória) Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 17

Modos de DMA: Palavra, ou cycle stealing (o controlador liberta o bus após cada palavra transferida); Rajada, ou burst (controlador toma conta do bus até não haver mais palavras disponíveis imediatamente); Bloco (controlador toma conta do bus até todos os dados terem sido transferidos, mesmo que tenha de estar à espera de dados só para periféricos muito rápidos). Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 18

Co-processador de entradas/saídas É o modo mais flexível e poderoso de fazer entradas/saídas; O co-processador corresponde a um controlador de DMA que pode executar um programa (em vez de apenas modos fixos), fazendo fetch por si próprio; Tem um conjunto de instruções limitado, especializado em entradas/saídas; O co-processador partilha a memória do processador (e compete com ele no acesso ao bus e à memória. As rotinas de entradas/saídas têm de ser feitas com cuidado); A comunicação processador/co-processador faz-se tipicamente por variáveis partilhadas. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 19

Co-processador de entradas/saídas Memória Processador Co-processador Periférico 1 Periférico 2 Periférico 3 Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 20

Gerir vários periféricos Um computador tem normalmente vários periféricos e pode misturar os vários modos de transferência de dados. Deve-se ter em atenção: Deve-se ter em atenção: A transferência sob controlo do programa (polling) deve ser reservada para periféricos lentos, sem temporizações críticas e com protocolos que possam ser interrompidos A transferência por interrupções é mais eficiente, mas pesada para transferência de grandes quantidades de informação (a transferência em si é feita por software) A transferência por DMA (ou com co-processador) é a mais eficiente, mas o processador pode não conseguir atender interrupções durante uma transferência. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 21

Conclusões O desempenho dos computadores depende de vários factores que não são independentes (tecnologia, arquitectura e compiladores); O que interessa optimizar é o tempo de execução e não um dado factor (para comparação, usam-se benchmarks standard). Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 22

Conclusões Mesmo que se melhore um dos factores sem afectar os restantes, o tempo de execução pode não melhorar tanto como esse factor (lei de Amdahl); Os estrangulamentos acabam por ser dominantes ( lei do elo mais fraco...); Existem várias formas de um computador lidar com os periféricos (polling, interrupções, DMA, co-processador de entradas saídas, etc). A mais adequada depende da aplicação. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 23

Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Arquitectura CISC e RISC Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 24

Evolução das Arquitecturas Nos primórdios dos microprocessadores (>1971), o hardware evoluiu rapidamente, e primeiro que o software; A linguagem Pascal apareceu em 1971, C em 1974. A tecnologia dos compiladores teve uma evolução mais lenta (só na década de 80 houve uma maior evolução nas optimizações e geração do código); Na década de 70, os engenheiros do hardware desenharam os microprocessadores na base de incluir o maior número de funcionalidades possível, no pressuposto de que os compiladores iriam usar tudo o que eles pudessem incluir. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 25

Evolução das Arquitecturas No início da década de 80, D. Patterson e o seu grupo descobriram que afinal : As instruções mais simples dominavam nos programas As instruções mais complexas pouco ou nunca eram geradas pelos compiladores As instruções complexas complicavam toda a arquitectura, obrigando a diminuir a frequência do relógio (mesmo as instruções mais simples ficavam mais lentas). Tipo de instrução Frequência Leitura da memória 22% Salto condicional 20% Comparação R1, R2 16% Escrita na memória 12% ADD 8% AND 6% SUB 5% MOV R1, R2 4% CALL 1% RET 1% Outras 4% Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 26

Arquitectura RISC Em 1982, D. Patterson desenhou o RISC I, numa perspectiva minimalista (Reduced Instruction Set Computer): O hardware é o mais simples possível Não há pilha Só há duas instruções para aceder à memória (LOAD e STORE) Só há um modo de endereçamento Não há flags Poucas instruções, fáceis de descodificar Optimizado para processamento com estágios (a ver adiante) O compilador é o responsável por compensar a diminuição do nível da arquitectura (gerando um maior número de instruções) Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 27

Formato Fixo vs Variável Objectivo: simplificar as especificações da arquitectura para simplificar o hardware para o relógio ter a maior frequência possível. Problema: incluir uma constante de N bits numa instrução de um processador que só tem N bits. Solução CISC (formato variável: campo opcional que só existe nas instruções que têm a constante) Solução RISC (formato fixo: 2 instruções): Carrega parte baixa Carrega parte alta RISC = descodificação das instruções mais simples Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 28

CISC vs RISC Assim, arquitecturas clássicas foram apelidadas de CISC (Complex Instruction Set Computers). Característica típica CISC RISC Formato das instruções Variável Fixo Instruções Complexas e numerosas Simples e poucas Relógio Mais lento Mais rápido Ciclos de relógio/instrução Tipicamente > 2 Tipicamente 1 Modos de endereçamento Muitos Poucos Operandos Registos e memória Só registos Acesso à memória Muitas instruções Só LOAD-STORE Número de registos Pequeno Maior Objectivo fundamental Funcionalidade Desempenho Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 29

Actualmente Depois de algum fanatismo RISC, hoje a situação está mais equilibrada, com o melhor do RISC e CISC. O princípio RISC: não é só quanto mais simples o hardware, melhor mas sim o simples não deve ficar mais lento por causa do mais complicado. Deve-se optimizar o caso mais frequente Quase todos os processadores hoje em dia têm uma base RISC (conjunto de instruções simples e regular, formato das instruções fixo, LOAD-STORE, muitas instruções executa num só ciclo de relógio,...); O resistente é o Pentium, por compatibilidade, mas isso está a mudar com a nova arquitectura de 64 bits. Nuno Pombo / Paulo Fazendeiro Arquitectura Computadores II 2014/2015 30