Baixe o app para aproveitar ainda mais
Prévia do material em texto
Processadores e CPU Aula 04 Turma: Arquitetura de computadores Professora: Eugênia Cornils Computador Digital Consiste em um sistema interconectado de processadores, memórias e dispositivos de entrada e saída Memória Principal Disco Impressora Unid. de Controle Unid. Lógica e aritmética Registradores Dispositivo de E/S CPU Processadores A CPU (Central Processing Unit - Unidade central de processamento) é o cérebro do computador. Função : executar programas armazenados na memória principal buscando instruções, examinando-as e executando. Barramento Conjunto de fios paralelos que transmite endereços, dados e sinais de controle. Podem ser internos e externos à CPU Analogia com estradas, caminhos ... Elementos da CPU • Buscar informações na memória principal e determinar seu tipo Unidade de Controle • Efetua operações com Adição e AND booleano para executar instruções Unidade aritmética e lógica • Armazena resultados temporários • Controla as informações Memória de alta velocidade Como funciona o computador? Início Busca a próxima instrução Executa a instrução Término Organização da CPU A + B A B A B ALU A+B Registradores Registrador de entrada da ALU Barramento de entrada da ALU Registrador de saída da ALU Representação CPU e suas conexões Memória Dispositivos de E/S PC IR AC MAR MDR ALU UNIDADE DE CONTROLE PROCESSADOR Data bus Address bus PC = contador de programa IR = registrador de instrução AC= acumulador MAR = registrador de memória MDR = registrador de memória de dados ALU = Unidade de Lógica e artimética Funções dos elementos do Processador PC = contador de programa – indica próxima instrução a ser realizada IR = registrador de instrução – recebe instrução a ser decodificada pela CPU AC= acumulador – guarda temporariamente valores sendo calculados MAR = registrador de memória- indica a próxima posição de memória a ser referenciada. Conectado ao barramento de endereço MDR = registrador de memória de dados – usado para receber e transmitir dados ALU = Unidade de Lógica e aritmética – fazer cálculos e decisões lógicas Execução de instrução A CPU executa cada instrução em uma série de pequenas etapas. Em termos simples, temos as seguintes etapas: 1. Trazer a próxima instrução da memória até o registrador 2. Alterar o contador de programa para indicar a próxima instrução 3. Determinar qual o tipo de instrução que foi trazida. 4. Se a instrução usar uma palavra de memória , determinar onde está essa palavra. 5. Trazer a palavra para dentro do registrador da CPU, se necessário. 6. Executar instrução 7. Voltar à etapa 1 para executar a instrução seguinte. Exemplo de instrução em JAVA PC starting address; While (run_bit){ Instr = memory[PC]; PC=PC+1; Instr_type = get_instr_type (instr); Data_loc = find_data (instr, instr_type); If (data_loc>=0) Data = memory[data_loc]; Execute (instr_type, data); } Como um programa é executado? Busca instrução Decodifica instrução Busca operando Executa instrução Armazena resultado Memória CPU memória CPU memória Exemplo /* programa que repete uma sequencia de adições de três sinais de entrada (a+b+c) e mostra o resultado (z= a+b+c) Programa: CLRLD /* zera o acumulador Y e Z e carrega o valor de A em X ADD / * ADD 1◦ valor, guarda o resultado e ler novo valor ADD / * ADD 2◦ valor, guarda o resultado e ler novo valor ADD / * ADD 3◦ valor, guarda o resultado e ler novo valor DISP Sigal / * mostra resultado e repete cálculo em Z Uma unidade de controle que implemente esse programa? Qa Sigad Qb/CLRLD Qb Qc/ ADD Qc Qd/ ADD Qd Qe/ ADD Qe Qa/ ADD X + Y Z Controle A Ty Tx Tz clk Exemplo Qa Sigad Qb/CLRLD Qb Qc/ ADD Qc Qd/ ADD Qd Qe/ ADD Qe Qa/ ADD X + Y Z Controle A Tx Ty Tz clk A=a Y= - X=- Z=- Ty=0 Tx=1 Tz =0 CLRLD A=b Y= 0 X=a Z=0 Ty=1 Tx=1 Tz =2 ADD A=c Y= a X=b Z=0 Ty=1 Tx=1 Tz =2 ADD A=- Y= a+b X=c Z=0 Ty=1 Tx=1 Tz =2 ADD A=- Y= a+b +c X=b Z=0 Ty=1 Tx=1 Tz =2 DISP A=- Y=- X=- Z= a+b +c CLK Qa Qb Qc Qd Qe Qa T [0] = clear [1] = load [2] = hold Exemplo de formato de dados e instruções o DADO 0 15 o INSTRUÇÃO 0 153 4 Opcode Endereço Sinal Magnitude RISC versus CISC CISC (Complex Instruction Set Computer, ou "computador com um conjunto complexo de instruções"), é capaz de executar várias centenas de instruções complexas diferentes, sendo extremamente versátil. Exemplos de processadores CISC são o 386 e o 486. RISC (Reduced Instruction Set Computer, ou "computador com um conjunto reduzido de instruções"). Ao contrário dos complexos CISC, os processadores RISC são capazes de executar apenas algumas poucas instruções simples. RISC Maior Velocidade Menor complexidade Menos instruções RISC •Menor Quantidade de Instruções e Tamanho Fixo • Execução Otimizada de Chamada de Funções • Menor Quantidade de Modos de Endereçamento •Modo de Execução com Pipelining RISC Ao invés da vitória de uma das duas tecnologias, atualmente vemos processadores híbridos, que são essencialmente processadores CISC, mas incorporam muitos recursos encontrados nos processadores RISC (ou vice-versa). Princípios do projeto RISC 1. Todas as instruções são executadas diretamente pelo hardware Princípios do projeto RISC 2. Maximize a taxa de execução de instruções Princípios do projeto RISC 3. Instruções fáceis de decodificar Princípios do projeto RISC 4. Somente as instruções LOAD e STORE devem referenciar a memória, todas as outras devem operar somente em registradores da CPU Princípios do projeto RISC 5. Providenciar bastantes registradores Paralelismo Melhorar o desempenho Aumentar a velocidade do relógio Paralelismo Paralelismo – fazer duas ou mais coisas ao mesmo tempo Paralelismo • Paralelismo no nível de instrução – capacidade de processar várias instruções simultaneamente • Paralelismo no nível de processador – CPU trabalhando juntas no mesmo problema. Pipelining Antes • Gargalo da busca de informações na memória 1959 • IBM Strech buscava memórias antecipadamente e armazenava no buffer de memória Pipeline • Divide em busca e execução • Divide em muitas partes entre o hardware do computador as buscas e execuções para melhorar a velocidade Pipeline – nível de instrução Unidade de busca de instrução Unidade de decodificaç ão de instrução Unidade de busca de operando Unidade de execução de instrução Unidade de gravação S1 S2 S3 S4 S5 Pipelines duplos – nível de instrução Unidade de busca de instrução Unidade de decodificaç ão de instrução Unidade de busca de operando Unidade de execução de instrução Unidade de gravação S1 S2 S3 S4 S5 Unidade de busca de instrução Unidade de decodificaç ão de instrução Unidade de busca de operando Unidade de execução de instrução Unidade de gravação Breve comentário • Demanda por computadores cada vez mais rápidos parece insaciável • Astrônomos querem modelar o que ocorreu após o big bang, economistas querem modelar a economia mundial e adolescentes se divertir com jogos de multimídia pela internet. • CPU estão cada dia mais rápidas porém haverá um momento queelas terão problemas com a velocidade de processamento pode ser num trecho de 20 cm /nanossegundo em fio de cobre ou fibra ótica , não importando a inteligência dos engenheiros da intel . • Chips mais velozes também produzem mais calor, cuja dissipação é um problema Paralelismo de CPU • O paralelismo de instruções pode gerar ganhos de redem um fator de cinco ou dez vezes mais rapidez • No paralelismo de várias CPU´s podem ser obtidos ganhos de 50, 100 ou mais Paralelismo de CPU • Computadores matriciais • Multiprocessadores • Multicomputadores Reunir em grupos de 5 e resumir como funciona cada um. FIM
Compartilhar