William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

Documentos relacionados
Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Organização de Computadores

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Unidade Central de Processamento 2. Registradores

Disciplina: Arquitetura de Computadores

Estrutura e Funcionamento da CPU. Adriano Maranhão

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

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Arquitetura de Microprocessadores

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

2. A influência do tamanho da palavra

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

Processador. Processador

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

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Unidade Central de Processamento UCP (CPU)

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

2º Estudo Dirigido CAP 3

SSC510 Arquitetura de Computadores 1ª AULA

Arquitetura de Computadores. Prof. João Bosco Jr.

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

Organização de Computadores 1

Organização e Arquitetura de Computadores I

Nível da Arquitetura do Conjunto das Instruções

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

2. A influência do tamanho da palavra

Sistemas Operacionais

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores?

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

William Stallings Computer Organization and Architecture

Microprocessadores. Família x86 - Evolução

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

Barramento. Prof. Leonardo Barreto Campos 1

Organização de Computadores Processadores. Professor: Francisco Ary

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)

William Stallings Organização e Arquitetura de Computadores 8 a Edição. Capítulo 12 Função e Estrutura do Processador

14/3/2016. Prof. Evandro L. L. Rodrigues

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

Microprocessadores II - ELE 1084

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

MONTAGEM E MANUTENÇÃO DE COMPUTADORES

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

Arquitetura e Organização de Computadores

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

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

Arquitetura e Organização de Computadores

Microprocessadores II - ELE 1084

Organização de computadores. Prof. Moisés Souto

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

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

Sistemas Operacionais. Conceitos de Hardware

Estudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Conjunto de Instruções e Modelos de Arquiteturas

CONJUNTO DE INSTRUÇÕES

Organização e Arquitetura de Computadores I

Organização de Sistemas de Computadores

Organização e Arquitetura de Computadores I

ORGANIZAÇÃO DE COMPUTADORES

Arquitetura de Computadores Aula 10 - Processadores

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

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

Organização e Arquitetura de Computadores I

Montagem e manutenção de computadores

Organização de computadores. Aula 05

ORGANIZAÇÃO DE COMPUTADORES

Infraestrutura de Hardware. Funcionamento de um Computador

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Fundamentos de Arquitetura e Organização de Computadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE

Prof. Gustavo Oliveira Cavalcanti

Arquitetura de Microprocessadores

Estrutura Básica de um Computador

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

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

UNIDADE CENTRAL DE PROCESSAMENTO

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Organização de Computadores

PSI3441 Arquitetura de Sistemas Embarcados

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

Organização e Projeto de Computadores

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

Arquitetura de Computadores Aula 11 - Multiprocessamento

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

Nível da Arquitetura do Conjunto das Instruções

MICROPROCESSADORES. Aula 10

3. Unidade Central de Processamento

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Relembrando desempenho...

3. DESCRIÇÃO DO SPARC Histórico

Microprocessadores. Execução em Paralelo Pipelines

Transcrição:

William Stallings Organização de computadores digitais Capítulo 11 Estrutura e função da CPU

Encruzilhada na arquitetura de computadores 2004/2005 Antiga opinião Nova visão a energia é de graça, os transistores são caros Aumento do paralelismo no nível da instrução: compiladores, inovações da Unidade de Controle (out-of-order, execução especulaticva, VLIW) Multiplicação é lenta, memória é rápida A performance dos (uni) processadores 2x / 1.5 anos a energia é cara (power wall), transistores são de graça (isto é, pode-se colocar mais deles em um chip do que é possível ligar) lei da diminuição dos retornos sobre mais HW for ILP (ILP) wall Multiplicação é rápida, a memória é lenta (memory wall) 200 ciclos de clock para a memória DRAM e 4 para multiplicar Power+ILP+Memory walls = brick wall -> (multi) processadores 2x CPU / 1,5 anos, pois CPUs simples são mais power efficient

Transputer announcement RISC revolution

Mudança de paradigma: processador é o novo transistor? o 1971 Intel 4004: 4 bit processor, 2312 transistores, 0.4 MHz, 10 micron PMOS, 11 mm^2 chip o 1983 - RISC II: 32 bit, 5 stage pipeline, 40,760 transistors, 3 MHz, 3 micron NMOS, 60 mm^2 chip o 2004 Intel: 2312 RISC II + FPU + Cache 0.065 micron CMOS, 125 mm^2 chip

History of general purpose CPUs http://en.wikipedia.org/wiki/history_of_general_purpose_cpus CPU design http://en.wikipedia.org/wiki/cpu_design

Estrutura da CPU o Organização do processador o Registradores o Ciclo de instrução e pipeline o Organização do Pentium II e PowerPC

Estrutura da CPU o Ações que a CPU deve executar: o Busca de instrução o Interpretação de instrução o Busca de dados na memória ou I/O o Processamento de dados: operação aritmética ou lógica sobre os dados o Escrita de dados na memória ou I/O

Registradores o CPU deve ter espaço de trabalho temporário o Este espaço é fornecido pelos Registradores o O número e funções dos registradores varia grandemente entre os processadores o Esta é uma das decisões determinantes de um projeto o Os registradores representam o topo da hierarquia de memória

CPU e o barramento do sistema Barramento do sistema ALU faz o processamento do dados CU controla não só a transferência de dados e instruções para dentro e fora da CPU, mas também a própria operação da ALU Registradores: memória de trabalho

Estrutura interna da CPU o Barramento interno o CPU: unidade de controle, ULA e registradores o Computador: CPU, I/O e memória

Organização dos registradores o Hierarquia de memória o Níveis altos: mais cara e rápida o Níveis inferiores: menos cara e lenta o Registradores: acima da memória principal e do cache o Registradores visíveis para o usuário o Registradores de controle e estado

Registradores visíveis ao usuário o Permitem ao programador de linguagem de montagem (assembler) ou de máquina minimizar referências à memória, pela otimização do uso dos registradores o Registradores de Propósito Geral o Registradores de Dados o Registradores de Endereços o Registradores de Códigos de Condição

Registradores de propósito geral o Podem ser verdadeiramente de propósito geral: o usados pelo programador; o ortogonais ao código de operação -- qualquer registrador pode conter um operando para qualquer código de operação. o Podem haver algumas restrições: o registradores dedicados para operações sobre ponto flutuante ou operações sobre a pilha. o Podem ser utilizados para dados ou cálculo de endereçamento: o registradores de segmento -- contém o endereço base de um segmento; o registradores de índice -- utilizados para endereçamento indexado; o apontador de topo de pilha -- aponta o topo da pilha.

Registradores de propósito geral: decisões de projeto o Fazendo eles de propósito geral: o aumenta o tamanho da instrução e sua complexidade; o aumenta a flexibilidade e as opções do programador. o Fazendo eles especializados: o permite referência implícita aos registradores; o instruções menores e mais rápidas; o menor flexibilidade na programação. o A tendência tem sido utilizar registradores especializados.

Registradores de propósito geral: quantos registradores? o O número de registradores afeta o projeto do conjunto de instruções: quanto maior, maior o número de bits para especificar os operandos. o O número aceito é entre 8 e 32. o Poucos registradores implica em mais referências à memória. o Mas muitos registradores não reduz necessariamente o número de referências à memória. o Algumas arquiteturas RISC podem ter centenas de registradores.

Registradores de propósito geral: qual o tamanho apropriado? o Grande o suficiente para conter o maior endereço do sistema. o Grande o suficiente para conter uma palavra. o É desejável que se possa combinar dois registradores de dados para conter valores de tamanho duplo: o em linguagem C o double int a; o long int a;

Registradores de propósito geral: códigos de condição o Conjuntos de bits individuais (flags), atualizados pelo hardware da CPU como resultado de operações: o e.g. se o resultado da última operação aritmética é positivo, negativo, zero ou se ocorreu overflow. o Podem ser lidos (implicitamente) por programas e utilizados em operações de desvio. o Não podem (em geral) ser setados por programas.

Registradores de controle e estado o São utilizados pela CU para controlar a operação da CPU e por programas do SO para controlar a execução de programas. o Não são visíveis ao usuário na maioria das máquinas. o Program Counter (PC): o endereço da instrução a ser buscada. o Instruction Register (IR): a última instrução buscada. o Memory Address Register (MAR): o endereço de uma posição de memória. o Memory Buffer Register (MBR):um dado a ser escrito na memória ou lido recentemente.

Palavra de estado de programa (Program Status Word PSW) o O PSW é um conjunto de bits que inclui os Códigos de Condição e outras informações de estado: o Sinal do último resultado; o Zero; o Carry (vai um); o Igual; o Overflow; o Habilita ou desabilita Interrupções; o Supervisor ou usuário.

Outros registradores o Dependendo da CPU, podem existir outros registradores de uso específico: o Blocos de controle de processo (visto em SO); o Vetores de interrupção (visto em SO); o Topo de pilha; o Controle de operações de I/O. o No projeto da organização dos registradores, as necessidades do SO são determinantes.

Exemplo da organização dos registradores em microprocessadores Processadores MC68000, 8086 (16 bits) e 80386 (32 bits) MC68000 (registradores separados, mas de uso misto: flexibilidade) endereços e dados separados dados (e índices) de 8, 16 ou 32 bits A7 é utilizado como apontador de pilha (para o sistema e para o usuário)

Exemplo da organização dos registradores em microprocessadores Processadores MC68000, 8086 (16 bits) e 80386 (32 bits) 8086 (registradores de uso especial, poucas exceções: menor flexibilidade) dados de 16 ou 8 bits apontadores e índices de 16 bits 80386: usa registradores de 32 bits que retém a organização do 8086, para compatibilidade Não existe solução sempre ideal

Numeração dos processadores: novas nomenclaturas Usar apenas o clock interno como indicativo de desempenho fornece uma idéia muito vaga da capacidade do processador. Modelos com o mesmo clock, só que com cache ou outros recursos são muito diferentes no desempenho, pois o que determina a eficiência de um chip é o conjunto de características e não apenas uma. AMD adotou a nomenclatura PR (Performance Reference) a partir do processador Athlon XP A Intel também adotou um modelo de nomenclatura diferente: http://www.intel.com/portugues/

Memórias cache o Cache L1 (Nível 1 ou cache interno): é a memória cache que vem dentro do processador. o Cache L2 (Nível 2 ou cache externo): para aumentar a eficiência do cache L1, surge uma memória cache fora do processador: o cache L2. o Atualmente, os processadores trazem o cache L2 embutido na CPU, fazendo com que as terminologias "interno" e "externo" percam o sentido.

Performance Reference: isso já aconteceu antes o o Quando a Intel lançou o processador Pentium, a AMD e a Cyrix tentaram manter seus processadores 486 por mais tempo no mercado. Para isso, acrescentaram recursos nesses processadores e os lançaram com o nome de 586, como se estes fossem equivalentes ao Pentium. No entanto, o Pentium era superior. o Os processadores atuais da AMD têm desempenho equivalente e, em alguns casos, superior aos modelos concorrentes da Intel. o Exemplo: o Athlon XP 2800+ tem clock interno de 2250 MHz, mas a AMD não usa o nome Athlon XP 2250 MHz, pois quer indicar que o processador tem desempenho equivalente a um Pentium 4 de 2800 MHz.

Exemplo Repare que os valores de clock interno são diferentes dos valores apontados nos nomes. Note que os últimos dois processadores possuem clock interno e externo iguais, mas a quantidade de cache L2 é diferente. Processador Clock interno Clock externo Cache L2 Sempron 2200+ 1,5 GHz 333 MHz Sempron 2500+ 1,58 GHz 333 MHz Sempron 2800+ 2 GHz 333 MHz 256 Kb Sempron 3000+ 2 GHz 333 MHz 512 Kb

Ciclo de Instrução o Já o vimos no capítulo 3 do Stallings

Ciclo Indireto o Pode ser necessário vários acessos à memória para buscar múltiplos operandos. o No endereçamento indireto também são necessários vários acessos à memória. o São como que sub ciclos de instrução.

Diagrama de estados para o ciclo de instrução

Busca de instruções: fluxo dos dados o Depende do projeto da CPU o Em geral, a busca de uma instrução (fetch): o PC contem o endereço da próxima instrução; o o endereço é carregado no MAR; o o endereço é disponibilizado no barramento de endereços; o a unidade de controle solicita uma operação de leitura da memória; o o resultado é colocado no barramento de dados, copiado no MBR e então para o IR; o o PC é incrementado do tamanho da instrução executada.

Busca de instruções: fluxo dos dados o O IR é examinado o Se o endereçamento é indireto, o ciclo indireto é realizado : o os N bits mais significativos do MBR é transferido para o MAR; o a unidade de controle requisita uma operação de leitura na memória; o o resultado (isto é, o endereço do operando) é movido para o MBR.

Busca de instruções: fluxo dos dados

Busca de instruções: fluxo indireto

Busca de instruções: execução o As instruções podem assumir várias formas. o Depende da instrução em execução. o Podem incluir: o operação de leitura ou escrita na memória; o operação de Input/Output; o transferências entre registradores; o operações com a ALU.

Busca de instruções: interrupção o São simples e previsíveis: o o conteúdo do PC é salvo para permitir o retorno ao ponto anterior de execução; o o conteúdo do PC é copiado para MBR; o o ponto de salvamento é carregado no MAR (e.g. stack pointer); o MBR é escrito na memória; o o PC é carregado com o endereço da rotina de manipulação de interrupções; o a próxima instrução, a primeira do manipulador de interrupções, pode ser carregado.

Fluxo de dados: diagrama de interrupção

Pré busca (prefetch) o A busca da próxima instrução acessa a memória principal. o A execução em geral não acessa a memória principal. o Portanto, pode-se buscar a próxima instrução durante a execução da instrução corrente. o Isto é chamado de instruction prefetch.

Aumento da performance? o Aumenta a performance, mas não a dobra: o A operação de busca (fetch) é em geral mais curta que a execução; o Em casos de jump ou branch as instruções pré buscadas (prefetched) não serão as instruções necessárias. o Pode-se adicionar mais estágios para melhorar a performance.

Pipelining o Fetch instruction o Decode instruction o Calculate operands o Fetch operands o Execute instructions o Write result o Overlap these operations

Timing of Pipeline

Branch in a Pipeline

Foreground Reading o Processor examples o Stallings Chapter 11 o Web pages etc.