capítulo 2 processadores de propósito Único: hardwareattux/cap2.pdf · os slides são, em parte,...

41
Capítulo 2 Processadores de Propósito Único: Hardware Prof. Romis Attux EA075 2015 Os slides são, em parte, baseados nos dos autores do livro texto.

Upload: doanxuyen

Post on 09-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Capítulo 2 – Processadores de

Propósito Único: Hardware

Prof. Romis Attux

EA075 – 2015

Os slides são, em parte, baseados nos dos autores do livro texto.

Page 2: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Processadores

Processador: dispositivo capaz de computar.

Consiste de um caminho de dados capaz de processar e armazenar informação e de uma unidade de controle que o rege.

Um processador de propósito geral é capaz de realizar diversas operações (lembra uma máquina de Turing universal).

Um processador de propósito único é capaz, em geral de realizar uma tarefa em particular (lembra uma máquina de Turing específica).

Page 3: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Processadores de Propósito

Único Há vantagens em se projetar um sistema embarcado tendo

por base um processador de propósito único (PPU).

Primeiramente, o desempenho pode ser muito bom, já que

um caminho de dados customizado tende a ser capaz de

realizar a tarefa demandada com menos ciclos de relógio

(uma questão de simplicidade e especificidade).

O tamanho do sistema pode ser relativamente pequeno, já

que utiliza-se o “estritamente essencial”.

O consumo de potência também pode ser relativamente

pequeno pelo motivo acima.

Page 4: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Desvantagens

NRE potencialmente alto. Se este não for o caso, as vantagens anteriores podem não ser plenamente exploradas.

O time-to-market pode ser elevado, e a flexibilidade tende a ser reduzida em relação a processadores de propósito geral.

Page 5: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Motivação

Discutir técnicas para projeto de sistemas de propósito específico.

Para tanto, partiremos de uma revisão de conceitos de circuitos lógicos.

Page 6: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Transistores e Portas

Circuitos lógicos podem ser vistos como abstrações matemáticas, mas sua corporificação requer tecnologias específicas.

O avanço da eletrônica nas últimas décadas fez com que esse paradigma se tornasse dominante.

Atualmente, a base de circuitos lógicos é, geralmente, um transistor baseado na tecnologia CMOS (complementary metal oxide semicondutor).

Page 7: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Transistor CMOS

source drain

oxide

gate

IC package IC channel

Silicon substrate

Page 8: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Transistores e Portas Lógicas

Page 9: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Algumas Portas

Page 10: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto Básico com Mapas de

Karnaugh

Page 11: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Componentes no Nível de RT

Page 12: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Flip-Flops

Flip-flops (FFs) executam o “milagre” da memória digital por meio da recursão.

Vejamos uma estrutura básica.

Page 13: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Componentes Sequenciais no

Nível de RT

Page 14: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto Lógico Sequencial (I)

Page 15: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto Lógico Sequencial (II)

Page 16: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto de um Processador de

Propósito Único Voltamos à divisão fundamental entre

caminho de dados (datapath) e unidade de controle.

Nas figuras a seguir discutiremos como essa divisão toma forma no caso de um projeto de propósito único baseado em teoria de circuitos lógicos.

Page 17: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto de um Processador de

Propósito Único

Page 18: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Cálculo do Mínimo Divisor

Comum

Page 19: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Comentários sobre o Diagrama

de Estados O diagrama mostrado (FSMD, finite state machine with

data) é criado seguindo uma filosofia:

◦ Cada declaração (statement) se torna uma atribuição

simples, loop ou branch.

◦ Para cada loop, cria-se um estado de condição (C) e um

estado de junção (J).

◦ Cria-se então uma conexão entre o estado de condição e

os estados do loop.

◦ Um segundo arco é criado para “pular o loop” caso a

condição desejada não seja cumprida.

◦ Por fim, coloca-se um arco de (J) para (C).

Page 20: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Comentários sobre o Diagrama

de Estado – Atribuição Simples

Page 21: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Comentários sobre o Diagrama

de Estados - Loop

Page 22: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Comentários sobre o Diagrama

de Estados - Branch Para cada branch, criam-se C e J. Para a primeira condição, liga-se C a

um estado associado à primeira condição do branch. O mesmo é feito para os demais casos (lembrando que o caso seguinte envolve o não cumprimento dos casos anteriores). Após isso, faz-se a ligação com J.

Por fim, liga-se o último estado a J.

Page 23: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Comentário sobre o Diagrama

de Estados - Branch

Page 24: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Preparando o Projeto

Primeiro, cada variável declarada deve ter seu

registrador. A porta de saída será tratada como um

registrador d. Desenham-se também entradas e saídas.

Cria-se uma unidade funcional para cada operação

necessária. No caso, haverá duas subtrações, uma

comparação (menor que) e uma comparação de

diferente.

Fazem-se as conexões entre pinos, registradores e

unidades funcionais. Quando mais de uma unidade se

conecta ao mesmo registrador, deve-se utilizar um

esquema de multiplexagem.

Page 25: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Preparando o Projeto

Por fim, cria-se um identificador único para cada entrada de controle e saída dos componentes do caminho de dados.

Usa-se então a máquina construída antes como unidade de controle, com as devidas traduções booleanas.

Deve-se então projetar a máquina usando as técnicas sequenciais discutidas.

Page 26: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Visão Geral – Caminho de

Dados

Page 27: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Visão Geral – Unidade de

Controle

Page 28: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Visão Geral

Page 29: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Visão Geral – Projeto da

Unidade de Controle

Note que, a rigor, haveria 128 linhas na tabela!

Page 30: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto em Nível RT de

Processadores de Propósito Único Podemos também partir de uma

FMSD para realizar o projeto. Uma vantagem é que, nesse caso, tem-se uma visão clara do timing de cada ciclo.

Analisemos um exemplo de um dispositivo que faz o envio de um número de oito bits a partir de uma entrada que só suporta quatro bits de cada vez.

Page 31: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto em Nível RT de

Processadores de Propósito Único

Page 32: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto em Nível RT de Processadores

de Propósito Único

WaitFirst4 espera pelos primeiros quatro bits, cuja

presença é indicada por rdy_in. Quando esse pulso é

detectado, passa-se a um estado RecFirst4Start, que

grava o conteúdo de data_in em data_lo. Após o final

do pulso rdy_in, espera-se pelos 4 próximos bits,

indicados por um segundo pulso rdy_in. Grava-se o

conteúdo agora em data_hi.

Ao final do segundo pulso rdy_in, os 8 bits são

gravados em data_out e emite-se rdy_out.

Supõe-se que o circuito seja síncrono, ou seja, os

sinais todos são “ANDed” com um clock.

Page 33: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto em Nível RT de

Processadores de Propósito Único Chega-se então à conjunção unidade

de controle e datapath dada a seguir.

Page 34: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Projeto em Nível RT de

Processadores de Propósito Único Note que o caminho de dados é

composto apenas pelos registradores, já que não há operações de processamento a fazer.

A unidade de controle é, basicamente, uma consequência direta da FMSD (uma FSM é feita com as mudanças em negrito).

Page 35: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Otimização

Um projeto otimizado pode levar a melhorias em diferentes métricas de projeto.

Portanto, o projetista deve sempre buscar soluções otimizadas quando isso for possível.

Veremos algumas possibilidades a seguir.

Page 36: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Otimização do Programa

Original Buscar otimização no tempo e/ou no espaço. Vejamos um exemplo:

Page 37: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Otimização da FMSD

Possibilidades Imediatas:

◦ Estados com constantes especificando as transições condicionais podem ser eliminados.

◦ Estados adjacentes que realizam operações independentes podem ser eliminados.

◦ Estados associados a operações complexas podem ser quebrados para reduzir o tamanho do hardware.

◦ Escalonamento: em qual estado uma operação será executada?

Page 38: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Exemplo

Page 39: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Exemplo – Versão Otimizada

Page 40: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Otimização do Caminho de

Dados

Economia de unidades funcionais (e.g. compartilhamento de uma ALU sem “colisões” entre estados).

Diferentes componentes no nível RT

que podem ser escolhidos.

Page 41: Capítulo 2 Processadores de Propósito Único: Hardwareattux/cap2.pdf · Os slides são, em parte, baseados nos dos autores do livro texto. Processadores ... Transistores e Portas

Otimização de FSMs

Codificação dos estados Minimização dos estados, buscando

“estados equivalentes”.