Capítulo 3 Processadores de Propósito Geral: Software Prof. Romis Attux EA075 2015 Obs: Os slides são parcialmente baseados nos dos autores do livro texto
Processadores de Propósito Geral Um processador de propósito geral (PPG) é um sistema universal, ou seja, um sistema computacional capaz de resolver uma ampla gama de tarefas. Há vantagens e desvantagens de se usar um PPG. Falemos das vantagens. O custo por unidade pode ser baixo, o desempenho pode ser muito bom, e tamanho e consumo podem até mesmo ser razoáveis.
Processadores de Propósito Geral O custo NRE do projetista do sistema embarcado tende a ser pequeno, pois o foco do projeto estará no software. Isso também tende a gerar um baixo tempo de prototipagem e um baixo TTM, além de gerar alta flexibilidade devida à operação no nível do software.
Arquitetura Básica Três elementos centrais: Datapath, unidade de controle e memória.
Datapath (Caminho de Dados) O caminho de dados realiza tarefas de processamento e dispõe de funcionalidades para armazenamento temporário da informação (registradores). O coração do processamento é a ULA (unidade lógica e aritmética), que realiza várias operações matemáticas e lógicas e armazena diversos sinais de status pertinentes (zero, carry, overflow etc.).
Datapath (Caminho de Dados) Dados temporários armazenados em registradores podem incluir: Dados trazidos da memória e não processados. Dados gerados pela ULA que ainda serão necessários para processamento posterior. Dados que serão mandados de volta para a memória. Dados que podem ser movidos de uma posição de memória para outra Um barramento interno transporta os dados no datapath enquanto outro barramento faz a comunicação com a memória.
Datapath (Caminho de Dados) É usual falar no tamanho de um processador, e a largura do barramento do caminho de dados é a métrica crucial aqui. Um processador de N bits pode ter registradores de N bits, uma ULA operando com N bits etc. Tamanhos comuns (ou clássicos) são 8, 16, 32 e 64 bits.
Datapath (Caminho de dados)
Unidade de Controle (UC) Se o caminho de dados é uma orquestra que executa uma partitura (programa armazenado), a unidade de controle é um maestro obcecado que dá todas as deixas para seus músicos. Basicamente, a UC possui funcionalidades de busca e decodificação de instruções e gera sinais capazes de manipular o caminho de dados para realizar essas instruções.
Unidade de Controle (UC) Falaremos de dois registradores que a UC possui: PC (Program Counter): registrador que contém o endereço da próxima instrução a ser buscada na memória. IR (Instruction Register): registrador que guarda a instrução buscada na memória. A unidade também possui circuitaria sequencial para gerar sinais de controle para o caminho de dados. A frequência de relógio dá uma idéia da velocidade do processador, pois ela influencia o ritmo da pulsação básica fetch-decode-execute.
Unidade de Controle (UC) A UC também determina o próximo valor do PC. Se as instruções não envolvem saltos (jumps ou branches), a operação corresponde a um incremento. Para uma instrução de branch, é usual que se analisem flags gerados pela ULA para determinação do próximo endereço. O tamanho do PC determina o tamanho do espaço de endereçamento do processador. Se o PC contém M bits, ele pode apontar para 2 M endereços distintos de memória.
Unidade de Controle (UC) A unidade de controle, tipicamente, pulsa num ritmo de busca de instrução, decodificação, busca de operandos, execução pelo caminho de dados e armazenamento dos resultados. Cada estágio pode demandar um ou mais ciclos de clock. O caminho pelo datapath que resulta no maior tempo de execução é chamado de caminho crítico.
Unidade de Controle (UC)
Memória A memória de um computador, via de regra, armazena informação utilizada a médio e longo prazos. Essa informação pode ser parte de um programa ou de um conjunto de dados. Quando dados e programa ocupam o mesmo espaço de memória, fala-se em arquitetura Princeton. Quando há uma separação, fala-se em arquitetura Harvard.
Memória - Tipos