![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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/36.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/37.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/39.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/40.jpg)
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](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be57fdd09d3f247448b9bb2/html5/thumbnails/41.jpg)
Otimização de FSMs
Codificação dos estados Minimização dos estados, buscando
“estados equivalentes”.