Processador: Conceitos Básicos e Componentes

Documentos relacionados
Aula 16: UCP: Conceitos Básicos e Componentes

Processador. Processador

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

UCP: Caminho de Dados (Parte II)

UCP: Construindo um Caminho de Dados (Parte III)

Unidade Central de Processamento UCP (CPU)

UCP: Construindo um Caminho de Dados (Parte I)

SSC510 Arquitetura de Computadores 1ª AULA

2. A influência do tamanho da palavra

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

2. A influência do tamanho da palavra

Arquitetura de Computadores Aula 10 - Processadores

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

Aula 15: Ciclo de Execução e Introdução ao Pipeline

COMPUTADOR. Adão de Melo Neto

Aula 12: Memória: Barramentos e Registradores

Organização e Arquitetura de Computadores I

Solução Lista de Exercícios Processadores

Introdução à Computação: Arquitetura von Neumann

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

COMPUTADOR 2. Professor Adão de Melo Neto

Conceitos Básicos Processador

FUNCIONAMENTO DO COMPUTADOR. Adão de Melo Neto

Disciplina: Arquitetura de Computadores

Arquitetura de Computadores. Ciclo de Busca e Execução

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

COMPUTADOR. Adão de Melo Neto

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

Organização de Sistemas de Computadores

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

Algoritmos Computacionais

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Nível da Microarquitetura

Organização de Sistemas Computacionais Processadores: Organização da CPU

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Operações com números binários

Unidade Central de Processamento 2. Registradores

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Capítulo 3 Organização Interna de um Computador

Organização de Computadores Aula 05

Estrutura Básica de um Computador

Arquitetura de Computadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Computadores e Programação (DCC/UFRJ)

18/10/2010. Unidade de Controle Controle. UC Microprogramada

CONJUNTO DE INSTRUÇÕES

ORGANIZAÇÃO DE COMPUTADORES

Elementos básicos de uma Arquitetura Computacional

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

ARITMÉTICA BINÁRIA. Adão de Melo Neto

ORGANIZAÇÃO DE COMPUTADORES

Organização e Arquitetura de Computadores INTRODUÇÃO

SSC0112 Organização de Computadores Digitais I

Instruções. Maicon A. Sartin

LISTA 01 3B ORGANIZAÇÃO DE COMPUTADORES (REALIZADA EM AULA) NOME: NOME:

MICROPROCESSADORES. Aula 10

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Arquiteturas de Computadores

Instruções de Máquina

Infraestrutura de Hardware. Funcionamento de um Computador

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tiago Alves de Oliviera

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

X Y Z A B C D

Prof. Leonardo Augusto Casillo

Introdução à Informática

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

1. Notação em Complemento de 2

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura

Sistemas Operacionais

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

UNIDADE CENTRAL DE PROCESSAMENTO

UNIDADE DE CONTROLE E CONTROLE MICROPROGRAMADO. Adão de Melo Neto

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Conjunto de Instruções

Execução de Tarefas. O software consiste num conjunto de códigos ou instruções desenvolvidos para facilitar o controlo da máquina.

Sistemas Digitais Transferências entre Registradores

ARQUITETURA DE COMPUTADORES

Arquitetura e Organização de Computadores

Organização de Computadores

Arquitetura e Organização de Computadores

Arquitetura de Microprocessadores

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

Complemento a Um e Complemento a Dois

Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline

Transcrição:

Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 31

Processador: Linhas gerais Todo processador é construído de modo a ser capaz de realizar algumas operações: Somar, subtrair, multiplicar ou dividir números Fazer operações lógicas Mover dados da memória para a CPU Transferir um valor para um dispositivo de E/S Processador executa instruções: ele é um interpretador de um programa executável Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 2 / 31

Ciclo de Instrução Execução de uma instrução de máquina passa por várias etapas: Buscar instrução na MP Decodificar o conteúdo Buscar operando, se necessário Executar a operação Armazenar resultado, se necessário início Buscar Instrução na Memória Decodificar Operação Buscar novos operandos Executar a operação Armazenar Resultado fim Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 3 / 31

Processador Opera em ciclos. Sempre repete a sequencia de etapas Mas para instruções/operações diferentes sobre operandos diferentes As diferenças em instruções e operandos geram resultados diferentes Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 4 / 31

Os Componentes de um Processador Áreas funcionais de um processador Área funcional de processamento (execução da operação) Área funcional de controle (busca, interpretação e controle da instrução) Para a memória Barramento do sistema (System bus) Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 5 / 31

Componente de Controle: Relógio Processador opera em ciclos Ciclos têm início e fim Algum componente precisa demarcar estes eventos! i.e., indicar quando começa e quando termina um ciclo. Este componente é o gerador de clock/relógio. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 6 / 31

Componente de Controle: Relógio 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 Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 7 / 31

Componente de Controle: Relógio Sinal possui transições Baixo para alto e de 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. Frequência de um processador inverso do período do sinal gerado pelo clock Exemplo: Frequência de 1 GHz Período de 1 1GHz = 1 ns: cada ciclo dura 1 ns. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 8 / 31

Frequência de Clock Frequências típicas atuais processadores operam hoje (tipicamente) de 1 a 3 GHz Vários fatores limitam (na prática) essa frequência: Consumo energético Dissipação de calor Tempo de propagação Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 9 / 31

Somadores Somadores são extremamente importantes Em um único ciclo de relógio: Incrementar o PC Realizar operações de soma incrementadores de 1 unidade Entrada e Saída de um somador Cada entrada é um conjunto de n bits A saída também é composta por n bits Como se os bits representassem valores binários positivos Operando 1 Operando 2 S o m a d or Resultado Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 10 / 31

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 Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 11 / 31

Multiplexadores Multiplexadores com 2 k entradas têm k linhas de controle Exemplo: Multiplexador de 8 entradas para 1 saída: precisam de 3 bits para identificar a entrada Três linhas de controle (000 a 111) Obs.: cada entrada e cada saída pode ter múltiplos bits (são barramentos) Em suma: multiplexidores são conectores de várias entradas (caminhos) para uma saída Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 12 / 31

Deslocadores Recebem uma entrada: um conjunto de bits. A saída: deslocamento dos bits para esquerda (ou direta), 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 Deslocando dois bits Entrada Deslocamento de 2 à Esquerda Saída Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 13 / 31

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 Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 14 / 31

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... Assumiremos aqui extensores de sinal para Complemento a Dois Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 15 / 31

Registradores Pequenas unidades de memória Número de bits geralmente dado pelo tamanho da palavra Mas alguns registradores podem ser maiores ou menores, dentro do mesmo processador (depende de sua função) Registradores armazenam estado 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 Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 16 / 31

Registradores: Tipos Existem registradores de propósito geral Podem ser utilizados da forma que o programador preferir armazenam dados e acumulam resultados Existem registradores de utilidade específica MAR: armazena endereço da MP a ser acessado MDR: armazena dado recém lido ou a ser escrito na MP PC: armazena endereço da próxima instrução a ser buscada Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 17 / 31

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 Se os dados do nosso programa estiverem em registradores Maior rapidez de execução Quanto mais registradores, maior eficiência de execução Mas a adição de registradores tem um custo O que torna o número de registradores relativamente limitado. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 18 / 31

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. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 19 / 31

Banco de Registradores Engloba um conjunto de registradores (de propósito geral) identificados de 0 a 31 Dois registradores serão somente de leitura Uma linha de controle que determina se escrita deve ser realizada ou não nos restantes Entrada nº reg. 5 Entrada nº reg. 5 Entrada nº reg. 5 Entrada dados Controle 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 Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 20 / 31

Interface com a Memória As interfaces com a memória recebem os seguintes bits de entrada Endereço da MP Valor a ser escrito dois bits de controle Especificam se a leitura e a escrita devem ser realizadas Em um dado ciclo, não podemos fazer leitura e escrita 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. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 21 / 31

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? Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 22 / 31

Decodificadores 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 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. e.g., linhas de leitura e escrita da interface com a memória ligadas simultaneamente; ou fazemos exclusivamente a escrita (ativa escrita) ou fazemos exclusivamente leitura (ativa leitura). Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 23 / 31

Decodificadores Opcode: Compactando bits de controle Ao invés da instrução do programa conter todos os bits de controle de todos os componentes da processador opcode: código de operação, que codifica todos esses bits economia de bits, no tamanho do processo Logo precisa ser transformado para o tal conjunto de bits de controle: através do decodificador Cada valor do código está associado a um conjunto de valores para as linhas de controle Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 24 / 31

Decodificadores Em uma arquitetura: Código Ação 00 escrita em registrador desativada leitura em MP desativada escrita em MP desativada 01 escrita em registrador desativada leitura em MP ativada escrita em MP desativada 10 escrita em registrador desativada leitura em MP desativada escrita em MP ativada 11 escrita em registrador ativada leitura em MP desativada escrita em MP desativada Conclusão: com 2 bits, conseguimos controlar 3 linhas de controle Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 25 / 31

Decodificadores 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. Retorna um conjunto de linhas de controle. Entrada (conjunto de bits do código) Controle Saídas (várias linhas de controle)... Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 26 / 31

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 Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 27 / 31

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. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 28 / 31

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. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 29 / 31

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. Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 30 / 31

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? Cristina Boeres (IC/UFF) UCP: Conceitos Básicos e Componentes FAC 31 / 31