Aula 16: UCP: Conceitos Básicos e Componentes

Documentos relacionados
ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

Unidade 1: O Computador

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Data Path / Control Path Controle do MIPS

Organização de Computadores 1

Aula 03. Processadores. Prof. Ricardo Palma

O Processador: Via de Dados e Controle

Flávia Rodrigues. Silves, 26 de Abril de 2010

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Arquitetura de von Neumann

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

Lista de Exercícios 1

Figura 1 - Somador para dois números de 4 bits com extensores lógicos (EL) e Aritméticos(EA).

Inteligência Artificial

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Controlador de DMA. Gustavo G. Parma

Introdução à Informática

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Aula 8 21/09/ Microeconomia. Demanda Individual e Demanda de Mercado. Bibliografia: PINDYCK (2007) Capítulo 4

Aula 15 Amplificadores Operacionais (pág. 453 a 459)

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Eletrônica Digital II. Exemplo de um CI com encapsulamento DIP. Diagrama do CI 74XX76.

Microprocessadores. Memórias

Sistemas Computacionais e Hardware. Disciplina: Informática Prof. Higor Morais

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1

Probabilidade. Luiz Carlos Terra

Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO

Oganização e Arquitetura de Computadores

OPERAÇÕES COM FRAÇÕES

Organização e Arquitetura de Computadores I

SISTEMAS DISTRIBUÍDOS

Fundamentos de Programação. Diagrama de blocos

Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

Redes de Computadores

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Banco de Dados I. Prof. Edson Thizon

Unidade Central de Processamento

Sistemas Operacionais. Rodrigo Rubira Branco

Módulo 8 Entradas Digitais 24 Vdc Monitorado. Os seguintes produtos devem ser adquiridos separadamente para possibilitar a utilização do produto:

ARQUITETURA DE COMPUTADORES

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE

Acionamento de Motores: PWM e Ponte H

PROGRAMAÇÃO DE COMPUTADORES

T.I. para o DealerSuite: Servidores Versão: 1.1

Introdução à Programação de Computadores Parte I

Circuitos Aritméticos

MODELO SUGERIDO PARA PROJETO DE PESQUISA

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções

Códigos de bloco. Instituto Federal de Santa Catarina Curso superior de tecnologia em sistemas de telecomunicação Comunicações móveis 2

tipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

ASPECTOS CONSTRUTIVOS DE ROBÔS

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL

Aula 11: Desvios e Laços

Aritmética Computacional. Prof. Leonardo Barreto Campos 1

Avaliando e Compreendendo o Desempenho. Capítulo 4

Estrutura de um Computador

CONFIGURAçÃO E GERAÇÃO DO LALUR. Parâmetros

AULA 07 Distribuições Discretas de Probabilidade

O Funcionamento do Processador

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Ondas EM no Espaço Livre (Vácuo)

4 Sistema Computacional:

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Manual Geral de Aplicação Universal Entrada 2008

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Objetivo do Portal da Gestão Escolar

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva

Circuitos Combinacionais Básicos

Emparelhamentos Bilineares Sobre Curvas

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Exercício. Exercício

Fundamentos de Teste de Software

Organização Básica do Computador

Módulo de Princípios Básicos de Contagem. Segundo ano

CATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

Organização e Arquitetura de Computadores I

Resolução da Lista de Exercício 6

EGEA ESAPL - IPVC. Resolução de Problemas de Programação Linear, com recurso ao Excel

Programação Orientada a Objetos SANTOS, Rafael

Comércio e Manutenção de Produtos Eletrônicos. Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM. Versão 1.

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

MÓDULO 2 Topologias de Redes

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

Introdução à Informática. Alexandre Meslin

Fundamentos de Arquitetura e Organização de Computadores

Engenharia de Software II

de fevereiro de 2002


Introdução aos Computadores Introdução à Ciência de Computadores Outubro / 16

Transcrição:

Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Revisão Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 2 / 34

Ciclo de Instrução Execução de uma instrução de máquina passa por várias etapas: Buscar instrução Decodificar Buscar operandos Executar Armazenar resultado Início Buscar Instrução na Memória Decodificar a Operação a Ser Realizada Buscar Operandos (Se Houver) Executar a Operação Armazenar Resultado (Se Houver) Término Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 3 / 34

Processador Opera em ciclos Sempre repete as mesmas ações Mas para instruções diferentes E operandos diferentes As diferenças em instruções e operandos geram resultados diferentes Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 4 / 34

Os Componentes de um Processador Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 5 / 34

O Gerador de Clock Processador opera em ciclos Ciclos têm início e fim Algum componente precisa demarcar estes eventos! ie, indicar quando começa e quando termina um ciclo Este componente é o gerador de clock Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 6 / 34

O Gerador de Clock (II) Como o processador é um dispositivo eletrônico, indicação precisa ser baseada em sinais elétricos Função do gerador de clock é apenas criar este sinal Sinal periódico Ondas quadradas V out V 1 Final de um ciclo Período (ou duração) do ciclo { V 0 Início de um ciclo Tempo Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 7 / 34

O Gerador de Clock (III) Sinal possui transições Baixo para alto; alto para baixo Transições sincronizam funcionamento de outros componentes Certas ações são realizadas nas transições Ou começam a ser realizadas Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 8 / 34

O Gerador de Clock: Frequência A frequência de operação de um processador é dada pelo inverso do período do sinal gerado pelo clock Exemplo: Frequência de 1 GHz Período de 1 1GHz = 1 ns ie, cada ciclo dura 1 ns Quanto mais alta a frequência, mais curta é a duração de um ciclo Aumentando a frequência, aumentamos a velocidade de execução do processador Overclock Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 9 / 34

O Gerador de Clock: Frequência (II) O que nós impede de aumentar arbitrariamente a frequência de operação? ie, nossos processadores operam hoje (tipicamente) de 1 a 3 GHz Por que não simplesmente aumentarmos a frequência para, por exemplo, 10 a 30 GHz? Vários fatores limitam (na prática) essa frequência Alguns exemplos: Consumo energético Dissipação de calor Tempo de propagação Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 10 / 34

Somadores Somadores são componentes extremamente importantes Várias somas são realizadas em um único ciclo do processador Incrementar o PC Calcular endereços de instruções de salto Realizar operações de soma Cada entrada é um conjunto de n bits A saída também é composta por n bits A menos que se diga o contrário, a soma realizada normalmente Como se os bits representassem valores binários positivos Operando 1 Operando 2 S o m a d or Resultado Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 11 / 34

Multiplexadores Multiplexadores são componentes que implementam escolhas Recebem duas ou mais entradas Recebem uma ou mais linhas de controle Repetem na saída a entrada selecionada Exemplo de multiplexador com 2 entradas de 1 bit cada: Entrada 0 Entrada 1 M ux 0 1 Saída Entrada 0 Entrada 1 Controle Saída 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 12 / 34

Multiplexadores (II) Multiplexadores podem ter mais de duas entradas Neste caso, são necessárias mais linhas de controle Exemplo: Multiplexador de 8 para 1 Oito entradas Três linhas de controle (000 a 111) Nesta disciplina, também consideraremos multiplexadores em que entradas e saídas têm múltiplos bits Exemplo: Multiplexador 2 para 1 de 32 bits Duas entradas e uma saída Cada uma com 32 bits Uma única linha de controle Bits da saída são idênticos aos bits da entrada selecionada Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 13 / 34

Deslocadores Recebem uma entrada Conjunto de bits Normalmente representando um número Retornam um novo conjunto Mesmos bits, mas deslocados Para a direita ou para a esquerda Deslocamento de k bits Os k bits mais ou menos significativos (dependendo do deslocamento) são perdidos São adicionados k bits 0 ao início ou fim do valor original Entrada Deslocamento de 2 à Esquerda Saída Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 14 / 34

Deslocadores (II) Deslocadores implementam a operação de deslocamento ou shift Vimos que um deslocamento à direita pode ser lógico ou aritmético Diferença: Na versão lógica, completa-se com zeros à esquerda Na versão aritmética, completa-se com o bit mais significativo Nesta disciplina, a menos que explicitamente dito, consideraremos deslocadores lógicos Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 15 / 34

Extensores de Sinal Extensores de sinal servem para aumentar o número de bits de um conjunto representando um número inteiro Exemplo: Temos um conjunto de 5 bits representando um número inteiro Número representado em Complemento a Dois Queremos transformá-lo no mesmo valor, mas representado com 8 bits Temos que repetir o bit do sinal mais 3 vezes à esquerda Representação: Entrada 5 Extensão de 8 Sinal Saída Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 16 / 34

Extensores de Sinal (II) De forma genérica, extensores de sinal se preocupam em aumentar o número de bits sem alterar a correção da representação do número Podemos construir extensores de sinal para qualquer representação Complemento a dois Representação em excesso Sinal e Magnitude Mas neste curso, assumiremos extensores de sinal para Complemento a Dois Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 17 / 34

Registradores Componentes já discutidos anteriormente Pequenas unidades de memória Cada uma contém alguns poucos bits Número de bits geralmente dado pelo tamanho da palavra Mas alguns registradores podem ser maiores ou menores Registradores permitem aos processadores armazenar estado entre os ciclos Valores não são perdidos de um ciclo para outro Resultado de um ciclo depende da instrução executada, dos operandos e do estado interno do processador Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 18 / 34

Registradores: Tipos Assunto também já visto em aula Nem todos os registradores têm a mesma utilidade Alguns registradores são de propósito geral Podem ser utilizados da forma que o programador preferir Outros possuem tarefas específicas Exemplos: MAR: armazena endereço da MP a ser acessado MDR: armazena dado recém lido ou a ser escrito na MP PC (ou IC): armazena endereço da próxima instrução a ser buscada Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 19 / 34

Registradores: Quantidade Processador só pode operar sobre valores que estão em registradores Dado que não está em um registrador precisa ser trazido previamente para um Logo, se pudermos manter os dados do nosso programa majoritariamente em registradores, ganharemos em tempo de execução Por este motivo, quanto mais registradores, maior a (potencial) eficiência de execução Mas a adição de registradores tem um custo O que torna o número de registradores relativamente limitado Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 20 / 34

Registradores e Arquiteturas Arquiteturas diferentes possuem quantidades diferentes de registradores Exemplos: Arquitetura MIPS: 32 registradores de propósito geral (inteiros) Arquitetura x86 64: 16 registradores de propósito geral acessíveis ao programador Embora, fisicamente, CPU possa implementar mais Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 21 / 34

Banco de Registradores Componente que engloba um conjunto de registradores Nesta disciplina, dos de propósito geral Permite a especificação de registradores para leitura Nesta disciplina, dois registradores Também permite especificar registrador e valor a serem escritos Nesta disciplina, consideraremos apenas uma entrada para escrita Há ainda uma linha de controle que determina se escrita deve ser realizada ou não Entrada Entrada Entrada Entrada Escrita Registradores Valor Lido 1 Valor Lido 2 Registrador de Leitura 1 Registrador de Leitura 2 Registrador de Escrita Valor Escrito Saída Saída Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 22 / 34

Banco de Registradores (II) Note que podemos especificar um mesmo registrador para leitura e para escrita Escrita não afeta a leitura Banco de registradores cuida para que o valor lido seja o valor inicial do registrador E não o novo Também podemos especificar o mesmo registrador para as duas leituras Note ainda que o banco de registradores sempre realiza as duas leituras Mas as escritas são controladas pela linha de controle Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 23 / 34

Interface com a Memória Consideraremos também um componente que encapsula a interface com a memória Utilizaremos duas formas diferentes: Para leitura/escrita de dados Para leitura de instruções Note que a existência de duas interfaces com a memória não significa duas memória separadas Ainda assumiremos uma única memória Arquitetura de Von Neumann Entrada Entrada Entrada Escrita Leitura Memória de Dados Endereço Valor Lido Valor Escrito Memória de Instruções Endereço Instrução Lida Saída Saída Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 24 / 34

Interface com a Memória (II) Estas interfaces com a memória recebem um ou dois conjuntos de bits de entrada Endereço da MP Valor a ser escrito (no caso da interface de acesso a dados) No caso da interface de acesso a dados, há ainda duas linhas de controle Especificam se a leitura e a escrita devem ser realizadas Note que há apenas um endereço de entrada Em um dado ciclo, não podemos fazer leitura e escrita, apenas um dos dois Por que não usar apenas uma linha de controle para selecionar entre leitura e escrita? Por que queremos também uma terceira opção: nem ler, nem escrever Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 25 / 34

Decodificadores Vimos até aqui vários componentes que dependem de linhas de controle Interfaces com a memória Banco de registradores Multiplexadores Em um processador, o estado de cada um destas linhas é determinado de acordo com: Tipo de instrução Operandos Estado interno do processador Considere o tipo de instrução: Como, a partir dela, determinamos o estado de um conjunto de linhas de controle? Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 26 / 34

Decodificadores (II) Em geral, utilizamos uma parte dos bits da instrução Como o opcode A partir destes bits, sabemos a operação a ser realizada O que determina uma série de linhas de controle eg, não ativar a escrita em registradores para uma instrução de escrita em MP Estas linhas de controle poderiam ser mapeadas diretamente para bits do opcode Mas: Em geral, há um número grande de linhas de controle E nem todas as combinações são válidas eg, linhas de leitura e escrita da interface com a memória ligadas simultaneamente Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 27 / 34

Decodificadores (III) Para economizar bits no opcode, podemos criar códigos com menos bits Cada valor do código está associado a um conjunto de valores para as linhas de controle Exemplo (simplificado): Código 00: escrita em registrador desativada, leitura em MP desativada, escrita em MP desativada Código 01: escrita em registrador desativada, leitura em MP ativada, escrita em MP desativada Código 10: escrita em registrador desativada, leitura em MP desativada, escrita em MP ativada Código 11: escrita em registrador ativada, leitura em MP desativada, escrita em MP desativada Conclusão: com 2 bits, conseguimos controlar 3 linhas de controle Nem todas as combinações de linhas de controle são válidas Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 28 / 34

Decodificadores (IV) O componente que realiza a conversão dos bits de código para as linhas de controle é chamado decodificador Recebe um código como entrada Composto por um conjunto de bits Entrada (conjunto de bits do código) Controle Saídas (várias linhas de controle) Retorna um conjunto de linhas de controle Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 29 / 34

A Unidade Lógica-Aritmética Também chamada pela sigla ULA Ou ALU, da sigla em inglês Um dos principais componentes do processador Executa operações lógicas ou aritméticas sobre par de operandos Saída consiste no resultado da operação E, algumas vezes, em flags de controle Operando 1 Operando 2 Linhas de Controle Zero ALU Resultado Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 30 / 34

ALU: Operações Dependendo do processador, a ALU pode ser mais ou menos complexa Implementar mais ou menos operações Algumas operações típicas: Soma Subtração Operação de E bit a bit Operação de Ou-Exclusivo bit a bit Também contém um conjunto de linhas de controle Controlam operação a ser realizada Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 31 / 34

ALU: Operandos e Saídas A ALU tem dois operandos e uma saída para o resultado Tanto os operandos, quanto o resultado possuem o mesmo número de bits Tipicamente, do tamanho dos registradores de propósito geral Igual ao tamanho da palavra Saída pode, ainda, conter algumas flags Bits isolados, indicando a ocorrência de algum evento Alguns exemplos comuns: Resultado é zero Resultado é negativo Houve overflow Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 32 / 34

ALU: Por Dentro Projetar uma ALU está fora do escopo desta aula Mas alguns detalhes: Linhas de controle da ALU geralmente são interpretadas em conjunto, como um código Decodificador é usado para interpretar código em linhas de controle internas Que modificam o comportamento do componente Normalmente, a ALU realiza várias operações em paralelo Operação certa é selecionada na saída Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 33 / 34

Exercício Suponha uma ALU que realiza as seguintes operações: Soma Subtração Operação lógica E bit a bit Operação lógica Ou Exclusivo bit a bit Multiplicação Com base apenas nestas informações, qual é o número mínimo de linhas de controle necessárias a esta ALU? Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 34 / 34