Sistemas Digitais
Prof. Gustavo Oliveira Cavalcanti
gustavooc@poli.br
Conteúdo Programático
(Organização e Arquitetura)
• Arquitetura e história dos microprocessadores;
• Representações binário, octal, Hexadecimal, ASCII; • Arquitetura de Von Neumann e Harvard;
• Modos de endereçamento direto, indireto, imediato.. • Tipos de instrução;
• Pilhas, subrotinas e interrupções; • Dispositivos de entrada e saída; • Arquiteturas RISC e CISC;
• Pipeline, Superpipeline e Superescalar; • Barramento USB: HID, CDC;
• Timers;
Bibliografia
• STALLINGS, WILLIAM, Arquitetura e Organização de Computadores. Prentice-Hall, 5. ed., 2007.
Introdução
• Principais Componentes • CPU; • Memória Principal; • Dispositivos de E/S; • Interconexões. • A CPU possui • Unidade de Controle; • ULA; • Registradores; • Interconexão.Organização e Arquitetura
• Arquitetura
• Atributos de um sistema que são
visíveis ao programador.
• Organização
• Refere-se às unidades
operacionais e suas interconexões
que implementam as
• Funções básicas:
– Processamento de Dados; – Armazenamento de Dados; – Transferência de Dados; – Controle.Organização e Arquitetura
• Tipos de Operações: – Transferência de Dados (a); – Armazenamento de Dados (b); – Processamento de Dados (c) e (d);
Organização e Arquitetura
Arquitetura von Neumann
• Conceitos:
– Dados e Instruções armazenados em uma mesma memória leitura/escrita; – Memória endereçada pela posição
independente do tipo de dados;
– A execução das instruções ocorre de modo sequencial (exceto quando a sequência é quebrada de forma
Arquitetura von Neumann
• Ciclo de Instrução;
• Busca:
– Instrução carregada no IR; – Incrementa o PC.
• Execução(Ações):
– Tranferência de dados (Processador – Memoria ou Processador – Disp. E/S) – Processamento (Função logica);
– Controle (desvio).
• A execução encerra quando:
– Máquina for desligada; – Erro irrecuperável;
– Execução de Instrução que para a operação.
• Exemplo: ADD B,A
– Instrução é buscada; – Busca A;
– Busca B;
– Soma os conteúdos;
– Salva o resultado em A.
• Diagrama de estados de um ciclo
de instrução.
• Interrupções:
Quando componentes distintos do processador (E/S, memória) interrompem a sequência normal deexecução.
• Classes de Interrupções:
– Software: Overflow, A/0, Ref. End. Inexistente...
– Relógio: Permite ao SO realizar certas funções;
– E/S: Controlador de E/S;
– Falha de Hardware: queda de energia, erro de paridade na memória
• Transferência de controle via
interrupção.
• Ciclo de Instrução com Interrupção.
• Diagrama de Transição de Estados
de um Ciclo de Instrução com
Interrupções.
• Múltiplas Interrupções:
– Desabilitar as demais interrupções
• Múltiplas Instruções:
– Definindo Prioridades nas Interrupções
• Funcionamento da E/S;
– O módulo de E/S pode trocar dados diretamente com o processador;
– Assim, o processador pode ler e escreve diretamente na E/S;
– Temos Instruções de E/S sendo executadas;
– A transferência da E/S pode ser feita diretamente para a memória;
– Assim o módulo de E/S envia comandos de leitura ou escrita
diretamente para a memória(DMA).
• Estruturas de Interconexão
(Processador – Memória – E/S);
• Barramentos:
– Meio físico compartilhado, colisão tem que ser evitada;
– Linhas de Controle, Dados e Endereço;
– Ainda podem existir linhas de energia.
• Principais linhas de Controle:
– Escrita na Memória; – Leitura na Memória;
– Escrita em porta de E/S; – Leitura de porta de E/S;
– Confirmação de Transferência (ACK); – Requisição de Barramento;
– Concessão de Barramento; – Requisição de Interrupção;
– Confirmação de Interrupção (ACK);
– Relógio (temporização das operações); – Inicialização (reset).
Organização e Arquitetura
• Desempenho do Barramento:
– Quanto mais dispositivos maior o
comprimento e maior o atraso (tempo para obter o barramento);
– O barramento pode se tornar um gargalo quando a demanda de transferência de dados se aproxima da capacidade
máxima;
• Aumento da largura do barramento;
• Porém como as taxas de transferências
crescem rapidamente um único barramento não resolverá.
• Múltiplos Barramentos (Tradicional)
• Múltiplos Barramentos (Alto
Desempenho)
• Arbitragem de Barramento:
– Centralizada: Controlador do
barramento/ árbitro pode ou não ser o processador;
– Distribuida: Não existe árbitro cada dispositivo contem uma lógica de acesso ao barramento
• Sistema Operacional
– Controla a execução de programas; – Gerenciar recursos;
– Escalonamento de processos;
• Quais processos devem ser executados; • Hardware interrompe a execução (time slot)
– Gerenciamento de memória;
• Dados podem exceder a capacidade da memória principal;
– O SO dispõe de suporte de hardware;
• Gerenciamento de memória virtual; • Gerenciamento de processos;
• Elementos de uma instrução de
máquina:
– Código de operação;
– Referência a operando origem e destino;
– Endereço da próxima instrução: implicito.
• Mnemônicos:
Organização e Arquitetura
Mnemônico Operação ADD Adição SUB Subtração MPY Multiplicação DIV DivisãoLOAD Carrega dados da memória
STOR Armazena dados na memória
• ADD R,Y
• Adiciona o valor contido na
posição Y com o conteúdo do
registrador R.
• O conjunto de instruções de máquina deve ser suficiente para expressar
qualquer comando de uma linguagem de alto nível.
– Processamento de dados (instruções aritméticas e lógicas);
– Armazenamento de dados (instruções de memória);
– Movimentação de dados (instruções de E/S); – Controle (instruções de teste e de desvio).
• Número de Endereços na instrução
• Códigos para executar:
Y = (A-B) / (C+D x E)
• Utilização de endereços nas
instruções (exceto desvio)
• Questões importantes:
– Repertório de Operações (quantas, quais e quão complexas);
– Tipos de Dados (quais os tipos de dados estarão disponíveis);
– Formatos de Instrução (tamanho em bits,
número de endereço, tamanho dos campos); – Registradores (número de registradores, qual
o propósito de cada um);
– Endereçamento (de que modo ou modos o endereço de um operando é especificado).
Organização e Arquitetura
• Tipos de dados:
– Endereços (números inteiros sem sinal);
– Números (Inteiro ou ponto fixo, ponto flutuante, decimal-BCD);
– Caracteres (Texto / Seq .Caracteres ASCII-American Standard Code for Information Interchange);
– Dados Lógicos ( 1 bit – Dado Booleano verdadeiro ou falso –
Manipulação de bits de um dado ).
Organização e Arquitetura
• Tipos de Operações:
– Transferência de Dados; – Aritméticas; – Lógicas; – De Conversão; – De E/S; – Controle de Sistema; – Transferência de Controle.Organização e Arquitetura
Organização e Arquitetura
Projeto do conjunto de Instruções
• Controle de Sistema:
– Modificar conteúdo de registrador de controle;
– Modificar chave de proteção da memória;
– Usadas pelo S.O.
• Transferência de Controle;
– Desvio condicional (BRANCH); – Salto (JUMP);
– Chamada de
Organização e Arquitetura
Projeto do conjunto de Instruções
• Deslocamento:
– Lógico;
• Não preserva sinal;
– Aritmético;
• Preserva sinal;
• Rotação;
– Sem perda de bits; – Útil em testes.
• Código de condição:
– Bits de registradores especiais; – Usados em desvios condicionais.
Organização e Arquitetura
• Linguagem de Montagem
N = I + J + K
Organização e Arquitetura
• Modos de Endereçamento
Organização e Arquitetura
• Pipeline
Organização e Arquitetura
• Penalidade do desvio
Organização e Arquitetura
• MIPS (
Microprocessor without Interlocked Pipeline Stages= Microprocessador sem Estágios Interligados de Pipeline
)
Organização e Arquitetura
• Tipos de Instruções do MIPS
– Registrador – Registrador (R-Type); – Envolvendo Valor Imediato (I-Type); – Instruções de Desvio (J-Type).
• Simplicidade;
• Regularidade.
Organização e Arquitetura
Instrução Tipo – R
• op: opcode = Código de operação; • rs: primeiro operando (registrador); • rt: segundo operando (registrador); • rd: registrador de destino
• shamt: quantidades de bits a ser deslocado;
• funct: função específica a ser executada.
Organização e Arquitetura
Organização e Arquitetura
Projeto do conjunto de Instruções
Instrução Tipo – I
• op: opcode = Código de operação;
• rs: registrador base a ser operado com o valor imediato ou operando;
• rt: registrador de destino ou operando; • imediato: valor constante a ser operado.
Organização e Arquitetura
Projeto do conjunto de Instruções
Instrução Tipo – J
• op: opcode = Código de operação;
• endereço: endereço da instrução para a qual o fluxo deve ser desviado.