Prévia do material em texto
Endereçamento Pipeline em nível de instrução Arquitetura de E/S Endereçamento Tipos de Dados Dados podem ser numéricos e não numéricos. Dados numéricos podem ser inteiros e de ponto flutuante. Dados não numéricos consistem de strings, booleanos e ponteiros. Endereçamento Tipos de Dados Instruções sobre strings geralmente incluem operações tais como: copiar, mover, procurar ou modificar. Operações booleanas incluem AND, OR, XOR e NOT. Ponteiros são, na realidade, endereços de memória. Endereçamento Modos de Endereçamento 1) Endereçamento imediato: É assim chamado porque o valor a ser referido segue imediatamente o código de operação em uma instrução. Exemplo: Instrução Load 008: o valor numérico 8 é carregado no AC. Endereçamento Modos de Endereçamento 2) Endereçamento direto: É assim chamado porque o valor a ser referido é obtido pela especificação de seu endereço de memória diretamente na instrução. Exemplo: Instrução Load 008: o valor do dado encontrado no endereço de memória 008 é carregado no AC. Endereçamento Modos de Endereçamento 3) Endereçamento por registrador: Neste caso, um registrador é usado para armazenar o operando. Exemplo: Instrução Load 008: o valor do dado encontrado no registrador 008 é carregado no AC. Endereçamento Modos de Endereçamento 4) Outros modos de endereçamento: Endereçamento indireto; Indireto por registrador Indexado. Base. Pilha... Usando Pipeline em Nível de Instrução No ciclo busca-decodifica-executa, cada pulso do relógio do computador é usado para controlar um passo na sequência, mas algumas vezes pulsos adicionais podem ser usados para controlar detalhes ainda menores dentro de um passo. Algumas CPUs quebram o ciclo em passos menores, que podem ser executados em paralelo. Esta sobreposição acelera a execução. Este método, usado por todas as CPUs atuais, é conhecido como pipeline. Usando Pipeline em Nível de Instrução Suponha que o ciclo busca-decodifica-executa fosse quebrado nos seguintes mini-passos : Buscar instrução (S1). Decodificar opcode (código da operação) (S2). Calcular endereço efetivo dos operandos (S3). Carregar operandos (S4). Executar instrução (S5). Armazenar resultado (S6). Usando Pipeline em Nível de Instrução Cada um dos passos é chamado de estágio de pipeline. O objetivo é equilibrar o tempo usado em cada estágio do pipeline. Se os estágios não são balanceados quanto ao tempo, após algum tempo os estágios mais rápidos estarão esperando pelos mais lentos. Usando Pipeline em Nível de Instrução Quadro de instruções passando por um pipeline de 6 estágios. Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 S1 S2 S3 S4 S5 S6 Instrução 1 S1 S2 S3 S4 S5 S6 Instrução 2 S1 S2 S3 S4 S5 S6 Instrução 3 S1 S2 S3 S4 S5 S6 Instrução 4 Arquitetura de E/S Vamos definir a Entrada/Saída como um subsistema de componentes que movimentam dados codificados entre dispositivos externos e um sistema principal. Arquitetura de E/S Uma configuração de modelo de E/S. CPU Memoria Principal Módulo E/S Módulo E/S Interface do dispositivo Interface do dispositivo Interface do dispositivo Monitor Teclado DiscoImpressora Interface do dispositivo Memória volátil Interface do dispositivo Cache Placa mãeBarramento de memória Barramento de E/S Cabo Arquitetura de E/S Dispositivos externos que lidam com grandes quantidades de blocos de dados (tais como impressoras) são muitas vezes equipados com um buffer de memória. Buffers permitem que o sistema principal envie grandes quantidades de dados a dispositivos periféricos da maneira mais rápida possível, sem ter de esperar que dispositivos mecânicos lentos terminem de escrever os dados. Arquitetura de E/S Métodos de controle de E/S Módulos dedicados de E/S servem como interfaces entre a CPU e seus periféricos. Estes módulos realizam muitas funções, incluindo: Controlar as ações dos dispositivos. Colocar dados no buffer. Fazer detecções de erro. Se comunicar com a CPU. Arquitetura de E/S Métodos de controle de E/S Sistemas de computação adotam um dentre vários métodos gerais de controle de E/S: E/S programada: a CPU monitora continuamente (consulta) um registrador de controle associado com cada porta de E/S. Arquitetura de E/S Métodos de controle de E/S E/S orientada a interrupções: o dispositivo diz para a CPU quando ele tem dados a enviar. A CPU prossegue com outras tarefas até que um dispositivo requisitando um serviço envie uma interrupção para a CPU. CPU Memória Principal Controlador de interrupções Teclado Mouse Disco Impressora Modos de Transmissão de Dados Transmissão de dados paralela: dados são transmitidos entre um computador em um dispositivo periférico enviando um byte (8 bits) de cada vez. Transmissão de dados serial: dados são transmitidos entre um computador em um dispositivo periférico enviando um bit de cada vez.