Microprocessadores ii arquitetura

1.027 visualizações

Publicada em

Microprocessadores: histórico, conceitos, arquitetura

Publicada em: Dispositivos e hardware
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.027
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
64
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Microprocessadores ii arquitetura

  1. 1. Microprocessadores IIMicroprocessadores II Professor: Mauro Jansen Histórico, conceitos, características e Arquitetura 05/05/2015
  2. 2. Conteúdo programático Histórico de microprocessadores Conceitos básicos Caracterização Arquitetura Prof. Mauro Microprocessadores II Arquitetura 2 Arquitetura Pinagem e soquetes
  3. 3. Prof. Mauro Microprocessadores II Arquitetura 3
  4. 4. Início: “computadores” mecânicos Século 13 AC: invenção do Ábaco pelos babilônios •Primeiro instrumento a permitir executar todas as operações aritméticas •Foi muito usado para cálculos no Prof. Mauro Microprocessadores II Arquitetura 4 •Foi muito usado para cálculos no séculoXVII e ainda é usado até hoje. •SOROBAN: •O Soroban é uma versão do ábacus Chinês, com uma quantidade menor de contas.
  5. 5. Início: “computadores” mecânicos Octograma Chinês Yin Yang: Criado pelo imperador chinês Fou-Hi, é a primeira representação conhecida de números binários de 0 a 7. 1642: Máquina de calcular de Blaise Prof. Mauro Microprocessadores II Arquitetura 5 1642: Máquina de calcular de Blaise Pascal (cientista francês) Rodas e engrenagens Operações: adição e subtração Algarismos de 0 a 9 – cada roda representava uma coluna decimal Primeira máquina de calcular a ser comercializada
  6. 6. Início: “computadores” mecânicos 1801: Máquina de tear / Cartão perfurado Joseph Marie Jacquard (tecelão francês) Memorizava desenhos em cartões perfurados e os reproduzia Operações: adição e subtração Primeiro registro de programação Prof. Mauro Microprocessadores II Arquitetura 6 Primeiro registro de programação semelhante à do computador moderno 1833: Máquina analítica Charles Babbage (inglês) – pai do computador moderno Primeiro projeto de um computador de propósito geral (não construído) Adição, mutiplicação, instruções condicionais e de desvio
  7. 7. Computadores eletromecânicos 1936: Z1 – baseado em relé (Konrad Zuse - alemão) Z3: 1º computador de propósito geral controlado por programa Z4: usado em projeto de mísseis 1943: Colosso (Alan Turing). 2000 válvulas e Prof. Mauro Microprocessadores II Arquitetura 7 1943: Colosso (Alan Turing). 2000 válvulas e máquina de leitura de fita perfurada. Decodificação de mensagens dos Alemãos 1944: Mark I – (Howard Aiken) (EUA) Válvulas, fios e interruptores Usado pela marinha americana em cálculo de balística
  8. 8. Curiosidades Primeira programadora da história: Augusta Ada Byron (condessa de Lovelace), filha do poeta Lorde Byron Formada em matemática, trabalhou com Charles Babbage Prof. Mauro Microprocessadores II Arquitetura 8 Babbage 1979: Linguagem ADA criada em sua homenagem Bug (besouro): sinônimo de tudo que prejudique o bom funcionamento de um programa Em 1945 um besouro ficou preso nas engrenagens do Mark I, fazendo a máquina parar
  9. 9. Computadores a válvula 1946: Eniac 18.000 válvulas, 30 tonelada Projeto da bomba “H” 1950: UNIVAC (Universal Automatic Computer) 1º computador de aplicações científicas e comerciais Prof. Mauro Microprocessadores II Arquitetura 9 1º computador de aplicações científicas e comerciais UNIVAC II e UNIVAC 1100 series 1953: IBM 701 Aplicações científicas
  10. 10. Depois da válvula 1960: computadores transistorizados (apesar do transistor ter sido inventado desde 1947) IBM 7090, 7094. Linguagens Fortran, Cobol, Basic 1958: circuito integrado (Jack Kilby, Texas Instruments) Prof. Mauro Microprocessadores II Arquitetura 10 Instruments) Resistores e capacitores num mesmo pedaço de material semicondutor 1964: IBM 360 – 1ª família de computadores planejada DEC PDP 8: minicomputador, estrutura de barramento
  11. 11. Microprocessadores 1971: 4004 (Intel) 1º microprocessador criado; 4 bits; BCD Aplicação voltada para calculadoras 45 instruções; 605B; 108KHz; 2.300 transistores 1972: 8008 (Intel) Prof. Mauro Microprocessadores II Arquitetura 11 1972: 8008 (Intel) 1º microprocessador de 8 bits Aplicação voltada para terminais; ASCII 48 instruções; 16KB; 200KHz; 3.500 transistores 1974: 8080 (Intel) 8 bits; propósito geral 72 instruções; 64KB; 2MHz; 6.000 transistores
  12. 12. Microprocessadores 1975-1977 Z80 (Zilog) 6502 (MOS Technology) Computador Apple 1 (Steve Wozniac e Steve Jobs) Prof. Mauro Microprocessadores II Arquitetura 12 Criação da Microsoft Micro CP300 (Z80) Micro Apple II (6502) (1977) US$ 1.195 Micro Apple I (6502)
  13. 13. Microprocessadores 1976: 8085 (Intel) 8 bits; propósito geral 74 instruções; 5MHz; 6.500 transistores 1978: 8086 (Intel) 16 bits (interno e externo); 5, 8 e 10MHz; 29.000 transistores 1979: 8088 (Intel) 16 bits (interno; 8 bits externo); usado no 1º PC (PC/XT) Prof. Mauro Microprocessadores II Arquitetura 13 16 bits (interno; 8 bits externo); usado no 1º PC (PC/XT) 133 instr.; 29.000 transistores 1980: co-processador matemático 8087 Microcontrolador 8051 (Intel) 1982: 80186/188; 80286; PC/AT 1985: 80386. 32 bits; 16,20,25 e 33MHz; 275.000 transistores
  14. 14. Tabela resumo da evolução Prof. Mauro Microprocessadores II Arquitetura 14
  15. 15. Tabela resumo da evolução Prof. Mauro Microprocessadores II Arquitetura 15
  16. 16. Prof. Mauro Microprocessadores II Arquitetura 16
  17. 17. Memória Local de armazenamento de informações binárias Podem ser circuitos semicondutores, mídias magnéticas, óticas, etc. Cada posição de memória é identificada Prof. Mauro Microprocessadores II Arquitetura 17 Cada posição de memória é identificada por um ENDEREÇO Endereçamento é o ato de acessar um dado em uma posição de memória (para isso precisamos especificar o endereço)
  18. 18. Memória Endereço Conteúdo 0000h 00 0001h EB Exemplo de bloco de memória com 64K posições (64KB) Prof. Mauro Microprocessadores II Arquitetura 18 0001h EB 0002h 29 ... FFFFh 00 O conteúdo de cada posição de memória pode ser um dado (numérico ou caractere) ou uma instrução
  19. 19. Palavra (word) Unidade de informação natural usada por um computador particular Grupo de N bits de tamanho fixo que é processado em conjunto pela CPU A quantidade de bits da palavra depende da arquitetura do computador Prof. Mauro Microprocessadores II Arquitetura 19 arquitetura do computador O barramentos de dados normalmente é do tamanho de uma palavra ou meia palavra Um endereço de memória normalmente referencia uma palavra Exemplos: palavra de 8 bits, 16 bits, 64 bits, 128 bits
  20. 20. Registradores Memórias internas do microprocessador que registram apenas uma informação binária por vez Podem ser de 8 bits (1 byte), 16 bits (2 bytes), Prof. Mauro Microprocessadores II Arquitetura 20 Podem ser de 8 bits (1 byte), 16 bits (2 bytes), 32 bits (4 bytes), 64 bits (8 bytes) ou 128 bits (16 bytes) São memórias voláteis (perdem o conteúdo quando desenergizadas) Exemplos: acumulador, registrador X, Y, etc.
  21. 21. Barramentos São linhas ou canais de comunicação de dados entre os dispositivos (microprocessador, chipsets, memória e outros periféricos) Também chamados de “bus” Em comparação com o transporte terrestre seriam as ruas, estradas e rodovias que Prof. Mauro Microprocessadores II Arquitetura 21 seriam as ruas, estradas e rodovias que interligam as localidades Os barramentos têm algumas características importantes para sabermos sua performance e compatibilidade com dispositivos: Tamanho ou largura (medida em bits) Velocidade (medida em Hz - MHz)
  22. 22. Barramentos Barramentos do sistema Barramentos do processador (de dados, endereços e controle) Barramento de memória Barramento de cache Barramento frontal (FSB) – liga CPU à ponte norte Prof. Mauro Microprocessadores II Arquitetura 22 Barramento frontal (FSB) – liga CPU à ponte norte Barramentos de E/S (entrada / saída) Estão associados a alguma INTERFACE ou PORTA (interna ou externa) que permite ligar uma unidade de entrada e/ou saída Cada porta está vinculada a um endereço ou faixa única de endereços
  23. 23. Pilha É uma área de memória usada para guardar dados temporariamente, normalmente oriundos de registradores, sem nos preocuparmos com endereços de memória De forma similar a uma pilha de livros, o último Prof. Mauro Microprocessadores II Arquitetura 23 De forma similar a uma pilha de livros, o último dado a ser colocado na pilha será o primeiro a sair 103 Dado 4 102 Dado 3 101 Dado 2 100 Dado 1 Endereços da pilha
  24. 24. Interrupções São eventos que fazem o processador parar a execução do programa corrente e desviar a execução para um bloco de código chamado rotina de interrupção Prof. Mauro Microprocessadores II Arquitetura 24 Podem ser ocasionadas por: Pedido interno (interrupções de software) Pedido externo (interrupções de hardware)
  25. 25. Instruções Instrução é um comando a ser executado pelo microprocessador Cada microprocessador tem um conjunto de instruções (comandos da linguagem de máquina) particular Prof. Mauro Microprocessadores II Arquitetura 25 máquina) particular As instruções normalmente são Mnemônicos (siglas que lembram uma ação, em inglês) Ex: LDA (LoaD Acumulator), MOV (MOVe), ADC (Add with Carry), etc.
  26. 26. Prof. Mauro Microprocessadores II Arquitetura 26
  27. 27. Microprocessador x Microcontrolador Microprocessador É a CPU de um computador ou dispositivo microprocessado, construída num único circuito integrado Contém Unidade de Controle, Unidade Lógica e Aritmética e registradores Precisa de periféricos externos tais como memória e unidades de Prof. Mauro Microprocessadores II Arquitetura 27 Precisa de periféricos externos tais como memória e unidades de entrada e saída para compor um sistema funcional mínimo
  28. 28. Microprocessador x Microcontrolador Microcontrolador Computador completo construído num único Circuito Integrado. Custo mais baixo; menor desempenho; voltado para aplicações específicas (dimensões reduzidas, baixo custo e consumo) Contém portas seriais, portas de entrada e saída, paralelas, timers, controles de interrupção, memória RAM e ROM Prof. Mauro Microprocessadores II Arquitetura 28 timers, controles de interrupção, memória RAM e ROM
  29. 29. Funções do microprocessador Busca e execução de instruções existentes na memória Leitura (de instruções e dados) da memória Prof. Mauro Microprocessadores II Arquitetura 29 memória Gravação de dados na memória Comunicação com o mundo exterior (entrada e saída – E/S)
  30. 30. Número de bits Número de bits internos: É definido pela quantidade máxima de bits dos registradores internos do microprocessador Daí vem a terminologia microprocessador de 8, 16, 32, 64 bits Prof. Mauro Microprocessadores II Arquitetura 30 16, 32, 64 bits Número de bits externos: É definido pela largura do barramento de dados Geralmente é igual ao número de bits internos, mas nem sempre isso ocorre
  31. 31. Capacidade de endereçamento É tamanho máximo tamanho que pode ter a memória, ou, seja, o número máximo de células de memória que um microprocessador consegue acessar Prof. Mauro Microprocessadores II Arquitetura 31 Depende do tamanho do barramento de endereços Capacidade = 2N (N: número de bits no barramento de endereços)
  32. 32. Clock Define a frequência de operação do microprocessador Medida em Hz (Hertz) Está relacionado com o número de Prof. Mauro Microprocessadores II Arquitetura 32 Está relacionado com o número de instruções que podem ser executadas a cada segundo Cada instrução é executada em N ciclos do clock
  33. 33. Memória cache Pequena quantidade de memória usada para acelerar a leitura de dados da memória RAM Memória de alta velocidade e alto custo Prof. Mauro Microprocessadores II Arquitetura 33 Memória de alta velocidade e alto custo Tipos: Cache interno ou L1 (nível 1) ou primário Cache externo ou L2 (nível 2) ou secundário
  34. 34. Memória cache Um circuito especial (controlador de cache) efetua a leitura da memória RAM e coloca- os na memória cache O microprocessador obtém os dados Prof. Mauro Microprocessadores II Arquitetura 34 O microprocessador obtém os dados diretamente do cache e, enquanto isso, o controlador de cache já está lendo outros dados da RAM
  35. 35. Índice de desempenho O desempenho (velocidade de processamento) de um microprocessador depende de: Velocidade do clock Número interno de bits Número externo de bits Número de ciclos necessários para executar cada instrução Prof. Mauro Microprocessadores II Arquitetura 35 Número de ciclos necessários para executar cada instrução Capacidade e velocidade da memória cache Execução de instruções em paralelo Unidades de medida: MIPS: Milhões de instruções por segundo FLOPS: Instruções em ponto flutuante por segundo
  36. 36. Conjunto de instruções de máquina É o conjunto de valores binários que foram codificados para representar todas as operações que a CPU executa Cada instrução ocupa um ou mais bytes e tem duas partes principais: Código da operação: identifica a operação a ser Prof. Mauro Microprocessadores II Arquitetura 36 Código da operação: identifica a operação a ser realizada Operandos ou endereços: contém valores ou endereços dos dados que serão usados nas operações São comandos simples como operações lógicas e aritméticas, de leitura, gravação comparação e movimentação de dados
  37. 37. Exemplos de aplicações Os microprocessadores e microcontroladores podem ser aplicados em: Microcomputadores Calculadoras Relógios digitais Controle de fornos microondas Prof. Mauro Microprocessadores II Arquitetura 37 Controle de fornos microondas Lavadora de roupas Vídeo game e outros brinquedos Controle de motores Controle de tráfego Alarmes e sistemas de segurança Telefone celular
  38. 38. Prof. Mauro Microprocessadores II Arquitetura 38
  39. 39. Diagrama de um sistema microprocessado Prof. Mauro Microprocessadores II Arquitetura 39
  40. 40. Registradores Arquitetura interna Prof. Mauro Microprocessadores II Arquitetura 40
  41. 41. Arquitetura interna - elementos Unidade Aritmético-Lógica (ULA) Contador de Instruções (CI) ou Program Counter (PC) Registradores de uso geral De dados: Acumulador (AC) e outros registradores de Prof. Mauro Microprocessadores II Arquitetura 41 De dados: Acumulador (AC) e outros registradores de dados (A,B,etc) De índices (X,Y,etc.) Ponteiro de Pilha ou Stack Pointer (SP) Registrador de status (Status Flags), ou sinalizadores Decodificador de instruções
  42. 42. Elementos internos Unidade Lógica e Aritmética (ULA): executa as operações aritméticas e lógicas, em conjunto com o AC e outros registros A multiplicação ou divisão geralmente é efetuada por circuitos (hardware) ou rotinas (software) adicionais Contador de instrução (CI) ou Program Prof. Mauro Microprocessadores II Arquitetura 42 Contador de instrução (CI) ou Program Counter (PC): registrador que contém o endereço de memória da próxima instrução de máquina que será executada Não deve ser alterado pelo usuário; a própria CPU muda o endereço automaticamente após executar cada instrução
  43. 43. Elementos internos Acumulador (AC): principal registrador de dados; é muito usado para receber dados da memória que serão tratados por instruções de adição, subtração, deslocamento, movimentação Registradores de dados: Registradores que Prof. Mauro Microprocessadores II Arquitetura 43 Registradores de dados: Registradores que servem para auxiliar a manipulação de dados pelo acumulador ou como contadores. Em geral não são usados em operações lógicas ou aritméticas Exemplos: X, Y, A, B
  44. 44. Elementos internos Registradores de índices: são usados na formação do endereço de memória final (endereçamento indexado), contendo parte do endereço (índice). Também são usados em operações de movimentação ou Prof. Mauro Microprocessadores II Arquitetura 44 em operações de movimentação ou contagem
  45. 45. Elementos internos Ponteiro de pilha ou Stack Pointer (SP): registrador que aponta para o dado atual na pilha Decodificador: parte do Prof. Mauro Microprocessadores II Arquitetura 45 Decodificador: parte do microprocessador que recebe os bits de código de operação da instrução, identifica a instrução a ser executada e aciona a execução dessa instrução
  46. 46. Elementos internos Registrador de status (Status flags): registrador onde cada um dos seus bits (chamados de FLAGS) indica o estado ou condição de um fenômeno ocorrido na última instrução executada. Os mais comuns são: Carry (C): indica se ocorreu ou não um “vai um” Overflow (O): indica se ocorreu ou não o transbordo na última operação Prof. Mauro Microprocessadores II Arquitetura 46 operação Zero (Z): indica se o valor obtido é zero Parity (P) ou Paridade: indica se o valor obtido é par (Even) ou ímpar (Odd) Decimal (D): indica se o modo decimal (em que as operações são executadas em BCD) está ativo Signal (S) ou Negative (N): indica se o resultado obtido é negativo (bit 7 = 1) ou positivo (bit 7 = 0)
  47. 47. Arquitetura interna (visão prática) Registradores De dados AC/A,B,C,etc De índice X,Y,etc Registro de Status SP 0100 Memória RAM Endereço Conteúdo 0000h 00 0001h EB 0002h 29 ... 0100h 00 Microprocessador Prof. Mauro Microprocessadores II Arquitetura 47 PC 0300 Registro de Status C O Z P S . . . 0100h 00 0101h 00 ... 0300h 0301h ... Área da pilha Área do programa
  48. 48. Arquitetura externa Memória Pilha Cache externo Barramentos De dados Prof. Mauro Microprocessadores II Arquitetura 48 De dados De endereços De controle Clock Dispositivos de entrada e saída (E/S)
  49. 49. Memória A memória é usada para armazenar DADOS e PROGRAMAS Alguns endereços de memória podem dar acesso a dispositivos de E/S (ex: vídeo, impressora, etc) A memória pode ser dividida em páginas ou Prof. Mauro Microprocessadores II Arquitetura 49 A memória pode ser dividida em páginas ou segmentos Pilha ou stack: porção variável da memória cujo endereço está acessível através do registro Ponteiro de pilha ou Stack Pointer (SP). Usada para guardar valores temporariamente
  50. 50. Barramentos (Unidirecional) Prof. Mauro Microprocessadores II Arquitetura 50 R=Read W=Write M=Memória IO=Entrada/Saída (Bidirecional) Barramento de controle
  51. 51. Barramentos Barramento de dados: barramento através do qual trafegam os dados que são enviados ou recebidos pelo microprocessador É bidirecional Cada bit equivale a um pino do microprocessador Prof. Mauro Microprocessadores II Arquitetura 51 Cada bit equivale a um pino do microprocessador A quantidade de pinos define a quantidade de bits externa do microprocessador (8, 16, 32, 64,...) ou quantos bits podem ser transferidos de uma só vez
  52. 52. Barramentos Barramento de endereços: serve para o microprocessador especificar qual a posição de memória a ser acessada ou qual dispositivo de E/S a ser ativado O tamanho do barramento define a quantidade Prof. Mauro Microprocessadores II Arquitetura 52 O tamanho do barramento define a quantidade máxima de memória endereçável diretamente: Qtd.bits no Barram.endereços Capacidade de endereçamento 8 256 bytes 16 64 KB 24 16 MB 32 4 GB
  53. 53. Barramentos Barramento de controle: usado para controlar o acesso e a utilização das linhas de dados e de endereços, visto que elas são compartilhadas por todos os componentes. Exemplos de sinais de controle: Escrita/leitura na memória (RW): habilita a leitura ou escrita na memória Prof. Mauro Microprocessadores II Arquitetura 53 memória Requisição de porta E/S (IO) Confirmação de transferência (ACK) Requisição / concessão de barramento Requisição de interrupção (INT) Confirmação de interrupção (INT ACK) Relógio (CLOCK): utilizado p/ temporização de operações Inicialização (RESET): inicializa todos os módulos do sistema
  54. 54. Clock Gerador de pulsos que sincroniza a execução de operações do microprocessador Unidade: Hz (MHz, GHz) Prof. Mauro Microprocessadores II Arquitetura 54 Unidade: Hz (MHz, GHz) Ex.: Os microprocessadores 8086/8088 operavam com clock de 5 a 10 MHz 5 MHz = 5 milhões de pulsos por segundo e não 5 milhões de instruções por segundo
  55. 55. Clock Prof. Mauro Microprocessadores II Arquitetura 55 Cristal e CI gerador de frequência numa placa mãe
  56. 56. Execução de instruções Prof. Mauro Microprocessadores II Arquitetura 56
  57. 57. Prof. Mauro Microprocessadores II Arquitetura 57
  58. 58. Considerações iniciais Na maioria dos microprocessadores, os pinos de dados são multiplexados com os de endereços Eles nunca são necessários simultaneamente Quantidade de pinos afeta o grau de dificuldade de encapsulamento (e o custo) Prof. Mauro Microprocessadores II Arquitetura 58 encapsulamento (e o custo) Apesar de existir pinos com mais de uma função, a quantidade de pinos ainda é grande Com o passar do tempo foram criados vários tipos de encapsulamento A maior parte dos pinos são pinos de endereço
  59. 59. Fabricação e mercado O encapsulamento é encontrado em dois materiais: Plástico Cerâmica Prof. Mauro Microprocessadores II Arquitetura 59 Cerâmica A pinagem é de metal. Em alguns modelos os pinos eram banhados a outro No mercado, a pinagem é relacionada ao socket (soquete) A placa mãe e CPU devem ter mesmo socket
  60. 60. Encapsulamento DIP DIP: Dual In-line Package (Duas linhas de pinos laterais) Ex.: Intel 8088 Prof. Mauro Microprocessadores II Arquitetura 60
  61. 61. Encapsulamento PLCC PLCC: Plastic Leaded Chip Carrier Encapsulamento plástico com terminais dos quatro lados do chip, normalmente dobrados p/ baixo, para uso em soquete Mais comum em ROM BIOS e microcontroladores Prof. Mauro Microprocessadores II Arquitetura 61 Mais comum em ROM BIOS e microcontroladores
  62. 62. Encapsulamento QFP ou SMD QFD: Quad Flat Package (encapsulamento quadrado) Similar ao PLCC, só que para soldagem SMD (Surface Mountage Devices) Prof. Mauro Microprocessadores II Arquitetura 62 SMD (Surface Mountage Devices)
  63. 63. Encapsulamentos PGA e BGA PGA: Pin Grid Array (matriz de pinos) BGA: Ball Grid Array (matriz de bolas) Pinos (ou bolas) saem por baixo do chip Numeração de pinos por linhas e colunas Prof. Mauro Microprocessadores II Arquitetura 63 Numeração de pinos por linhas e colunas
  64. 64. Soquetes Padrões de conexão do microprocessador à placa-mãe Slot 1 (obsoleto) P/ Pentium II, P3 Prof. Mauro Microprocessadores II Arquitetura 64 Soquete 1 (obsoleto) P/ 486DX, 486SX Socket 423 (Intel) Pentium 4 Substituído pelo soket 478
  65. 65. Soquetes Socket 754 (AMD) Athlon, Sempron, Turion Socket 939 (AMD) Prof. Mauro Microprocessadores II Arquitetura 65 Socket 939 (AMD) Athlon 64/64FX/64X2, Opteron
  66. 66. Soquetes atuais Socket AM3 (AMD) Prof. Mauro Microprocessadores II Arquitetura 66 Socket T (Intel) Core I7, Xeon,
  67. 67. Soquetes atuais Socket LGA775 Core 2 Duo/Quad Prof. Mauro Microprocessadores II Arquitetura 67

×