·
Cursos Gerais ·
Organização de Computadores
Send your question to AI and receive an answer instantly
Recommended for you
35
Apresentação Power Point sobre Entrada e Saída ES em Sistemas Operacionais
Organização de Computadores
UEPB
62
Interrupcoes-Conceitos-e-Tipos
Organização de Computadores
UEPB
144
Codigos de Hamming - Detecção e Correção de Erros
Organização de Computadores
UEPB
1
Representacao de Instrucoes e Opcode em Arquitetura de Computadores
Organização de Computadores
UEPB
2
Arquitetura de Processador - Formato de Instrucoes e Operacoes
Organização de Computadores
UEPB
42
Arquitetura de Computadores II - Barramentos, Sistemas de ES e RAID
Organização de Computadores
UNISC
1
Exercícios Resolvidos Arquitetura de Computadores - Memória Virtual e Paginamento POSCOMP
Organização de Computadores
UNISC
49
Multiprocessadores e Coerencia de Cache - Arquitetura de Computadores
Organização de Computadores
UNISC
45
Memória Virtual - Arquitetura de Computadores II
Organização de Computadores
UNISC
77
Conjunto de Instruções da Arquitetura de Computadores
Organização de Computadores
UFS
Preview text
1 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Prof Misael Morais moraiscguolcombr 20151 A vontade de vencer é importante mas a vontade de se preparar é vital httpsitesgooglecomsitemoraiscg PARTE 4 Prof Misael Morais moraiscguolcombr A vontade de vencer é importante mas a vontade de se preparar é vital httpsitesgooglecomsitemoraiscg Parte 8 A experiência é resultado da prática 2 Prof Misael Morais moraiscguolcombr httpsitesgooglecomsitemoraiscg Arquitetura de von Neumann CPU UCP EntradaSaída IO MEMÓRIA 3 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr UC 4 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Componentes básicos da área de controle Unidade de controle UC Decodificador de instruções Registrador de instruções RI Contador de instruções program counter PC Relógio ou clock Registrador de endereços da memória REM Registrador de dados da memória RDM 5 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle Funções busca interpretação e controle de execução das instruções e o controle dos demais componentes do computador Envia ordens de cálculo para a ULA que indica os valores a processar e os coloca nos registradores para esse efeito A UC gera sinais paras transferência de dados para as outras partes que constituem o computador como a memória os sistemas de ES etc 6 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle UC Código da instrução CLOCK Lógica de controle Bits de Controle Lógica de controle Utiliza bits para controle do fluxo de informação entre componentes da máquina Ex transferência entre registradores de B para A deslocamento de bits 7 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Operação da Unidade de Controle Técnicas de implementação da Controle de Controle Controle programado diretamente no hardware hardwired control Controle por microprogramação Hibrida 8 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Implementação da Unidade de Controle Computadores iniciais UC por hardware Microprograma flexibilidade no projeto Híbridas Arquiteturas RISC quase só hardware 9 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle hardware Principais componentes Gerador de sinais Circuitos decodificadores IR registrador de instrução Circuitos eletrônicos combinacionais Clock T T0 Tn1 Flags Sinais da instrução decodificada Código da instrução Sinais de controle internos e externos Esquema da UC com pré programação em hardwired 10 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de controle por hardware para o computador simplificado visto 11 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de controle por hardware para o computador simplificado forma alternativa 12 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Linguagem de máquina para o computador simplificado Endereço Instrução Dec binário binário hexa opc end decimal 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 7C 01 60 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 7D 01 61 2 0 0 0 0 1 0 1 0 1 1 1 1 1 0 BE 10 62 3 0 0 0 0 1 1 1 0 1 1 1 1 1 0 BE 10 62 4 0 0 0 1 0 0 1 1 1 1 1 1 1 1 FF 11 63 60 1 1 1 1 0 0 0 0 0 1 0 0 0 1 11 00 17 61 1 1 1 1 0 1 0 1 0 0 0 0 0 1 41 01 01 62 1 1 1 1 1 0 1 0 1 1 1 1 0 1 BD 10 61 63 1 1 1 1 1 1 0 0 0 0 0 0 0 0 00 00 00 13 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Problemas com projetos hardware Lógica complexa na implementação Dificuldade de projeto e testes Projeto sem flexibilidade Dificuldade para acrescentar novas instruções 14 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de Controle por Microprograma Unidade de Controle Por hardware Por microprograma Híbrida 15 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de Controle por Microprograma Microprograma fica em memória de controle Memória de controle faz parte da UC É uma memória tipo ROM Define funcionamento do processador Define linguagem de máquina Microprograma não pode ser alterado 16 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de Controle por Microprograma Programador não tem acesso à ROM Programador programa em linguagem de máquina Programa em linguagem de máquina fica na memória principal fora do processador Memória de controle exerce controle em função de cada instrução em linguagem de máquina 17 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle microprogramada Execução de Programa Ciclo de instrução 1 Ciclo de instrução 2 Ciclo de instrução n Busca Indireto Execução Interrupção μOP μOP μOP μOP μOP Passos na execução de um programa 18 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de busca envolve 4 registradores Registrador de endereço de memória MAR Conectado ao barramento de endereços Especifica o endereço que será lido ou escrito Registrador de armazenamento temporário de dados MBR Conectado ao barramento de dados Segura o dado que será escrito ou lido Contador de programa PC Segura o endereço da próxima instrução a ser buscada Registrador de instrução IR Segura a última instrução buscada 19 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Seqüência de busca Endereço da próxima instrução contido no PC O conteúdo do MAR é colocado no barramento de endereço A unidade de controle envia o comando de leitura no barramento de controle O resultado da memória aparece no barramento de dados Os sinais dado do barramento de dados é copiado no MBR O PC é incrementado de 1 O dado código da instrução é movido do MBR para o IR O MBR agora fica livre 20 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Seqüência de busca simbolicamente t1 MAR PC t2 MBR memória PC PC 1 t3 IR MBR tx unidades de tempo sucessivas ou t1 MAR PC t2 MBR memória t3 PC PC 1 IR MBR Agrupamento Agrupamento 21 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Regras para agrupamento de microoperações Seqüência apropriada de eventos MAR PC deve preceder MBR memória Devem ser evitados conflitos Não se deve ler e escrever num mesmo registrador durante a mesma unidade de tempo MBR memory IR MBR não devem ser na mesma unidade de tempo Também PC PC 1 envolve adição Uso da ALU Pode envolver microoperações adicionais 22 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 23 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Microoperações Na execução de um programa existe Ciclo de buscaexecução Cada ciclo é composto de um número de passos Revise o conceito de pipeline Cada passo é composto de subpassos subciclo Cada subpasso é chamado de microoperação 24 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de endereçamento indireto MAR IRendereço campo de endereço da instrução de IR MBR memória IRendereço MBRendereço MBR contem o endereço IR está agora igual ao que ele teria se fosse usado endereçamento direto 25 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de interrupção t1 MBR PC t2 MAR endereço de salvamento PC endereço da rotina de interrupção t3 memória MBR Isso é o mínimo Pode ser necessário microoperações para obter o endereço onde o PC deve ser salvo 26 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de execução da SOMA ADD O ciclo de instrução é diferente para cada instrução Ex ADD R1X soma o conteúdo da locação X ao registrador R1 e armazena o resultado em R1 t1 MAR IRendereço t2 MBR memória t3 R1 R1 MBR Nota Não há sobreposição de microoperações 27 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de execução de INCREMENTA E PULA SE ZERO ISZ ISZ X incrementa o dado e pula se zero t1 MAR IRendereço t2 MBR memória t3 MBR MBR 1 t4 memória MBR if MBR 0 then PC PC 1 Nota Microoperações feitas durante t4 28 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de instrução PULA E SALVA ENDEREÇO BSA BSA X Pula branch e salva endereço X chamada de subrotina Endereço da instrução que segue a instrução BSA é salvo na posição de memória X e o programa continua na posição X1 Seqüência de microoperações t1MAR IRendereço MBR PC t2PC IRendereço memória MBR t3PC PC 1 29 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de instrução Cada fase decomposta em seqüência de microoperações elementares Ex ciclos de busca indireto e de interrupção Ciclo de execução Uma seqüência de microoperações para cada opcode Precisa unir seqüência Existência de registrador ICC Código de ciclo de instrução ICC designa em qual parte do ciclo o processador se encontra 00 Busca 01 Indireto 10 Execução 11 Interrupção 30 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Fluxograma do ciclo de instrução com microoperaões 31 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Requisitos funcionais da UC Elementos básicos do processador ALU registradores Barramentos UC Descrever microoperações que o processador deve executar Determinar funções que a UC deve realizar para causar a execução das microoperações 32 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Tipos de microoperações Transferência de dados entre registradores Transferência de dados de um registrador para uma interface externa Transferência de uma interface externa para um registrador Execução de operação lógica ou aritmética usando registradores como entrada e saída 33 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Tarefas básicas da UC Seqüenciamento A UC dirige o processador na execução de uma série de microoperações na seqüência apropriada Execução A UC faz com que cada microoperação seja executada Tudo isto é feito por meio de Sinais de Controle 34 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Diagrama de blocos da UC 35 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de Controle Entradas 1 Relógio Clock É a forma pela qual a unidade de controle marca o tempo Registrador de instrução Código de operação Opcode determina quais microoperações são executadas Determina quais microinstruções são realizadas 36 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de Controle Entradas 2 Códigos de condição Flags Determina o estado da CPU depois a última instrução Contém resultados de operações previamente executadas Sinais de controle de barramento de controle Interrupção Reconhecimento de interrupção 37 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de Controle Saídas Sinais de controle internos ao processador Causam e controlam o fluxo interno de dados Ativam funções específicas da ULA Sinais de controle para o barramento de controle Sinais de controle para memória Sinais de controle para dispositivos de ES 38 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de controle saída Dentro da CPU Causam movimentação de dados Ativam funções específicas Via barramento de controle Para memória Para módulos de ES 39 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo de sequência de sinal de controle Busca MAR PC Unidade de controle ativa sinal para abrir portas entre PC e MAR MBR memória Abre portas entre MAR e barramento de endereço Sinal de controle de leitura de memória Abre portas entre barramento de dados e MBR 40 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo de Sinais de Controle UC M B R M A R PC IR AC Unidade de Controle ULA Sinais de controle Código de condição Sinais de controle C11 C10 C4 C13 C9 C7 C3 C1 C8 C5 C12 C2 C0 C6 CR CW Barramento de Sistema Relógio 41 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Organização Interna Normalmente um único barramento interno Portas controlam movimento de dados para dentro e fora do barramento Sinais de controle comandam transferência de dados de e para barramento externo do sistema Registradores temporários necessários para a operação apropriada da ALU 42 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Microoperações Temporização Sinais Busca t1 MAR PC C2 t2 MBR Memória C5 CR PC PC 1 t3 IR MBR C4 Indireto t1 MAR IREndereço C8 t2 MBR Memória C5 CR t3 IREndereço MBR C4 Interrupção t1 MBR PC C1 t2 MAR Endereço de salvamento PC Endereço da rotina t3 Memória MBR C12 CW 43 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr CPU com barramento interno 44 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ex Adicionar um valor da memória para AC registrador t1 MAR IRendereço t2 MBR Memória t3 Y MBR t4 Z AC Y t5 AC Z 45 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo Suponha que os atraso de propagação pelo barramento e pela ALU na figura anterior seja sejam 20 e 100 ns respectivamente O tempo necessário para um registrador copiar dados do barramento é 10 ns Qual é o tempo que deve ser permitido para a Transferir dados de um registrador para outro b Incrementar o contador de programa Problema 153 do Stalling 46 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Solução a tempo necessário Tempo de propagação tempo de cópia 20ns 10ns 30 ns b Incrementar o PC envolve 2 passos 1 Z PC 1 2 PC Z O primeiro passo 20 100 10 130 ns O segundo passo 30 ns Tempo total 160 ns 47 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exercício Um projetista de compiladores está tentando decidir sobre qual seqüência de instruções ele deve utilizar para implementar um comando de uma linguagem de alto nível Ele dispõe das seguintes informações Existem duas seqüências de instruções possíveis para implementar o comando Seqüência 1 duas instruções A uma B e duas C Seqüência 2 quatro A uma B e uma C Na máquina alvo a instrução A tem o CPI de 1 B tem CPI de 2 e C de 3 Perguntase 1 Que seqüência de código executa mais instruções 2 Qual seqüência executa mais rápido 3 Qual é o CPI para cada seqüência Respostas 1 seq1 212 5 instruções seq2 411 6 instruções logo resposta seq2 2 seq1 2x1 1x 2 2x3 10 ciclos seq2 4x1 1x2 1x3 9 ciclos 3 CPIseq1 10 ciclos5 instruções 2 CPI CPIseq2 9 6 15 CPI 48 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Estratégias de construção do decodificador de instruções da UC Wired logic as instruções são todas implementadas em circuito Microcódigo apenas um grupo básico de instruções são implementadas em circuitos as demais são montadas através de microprogramas que usam as instruções básicas 49 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de Instrução As instruções são executadas sequencialmente a não ser pela ocorrência de um desvio uma a uma Ciclo de instrução indica a sequência de execuçãoisto é controla o fluxo de execução das instruções 50 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Estratégia de fabricação Cada modelo e fabricante tem seu próprio conjunto de instruções Cada fabricante tende a agrupar as CPUs em famílias As novas CPUs contem as novas instruções e as das suas antecedentes Compatibilidade ascendente 51 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr UC Unidade de Controle Tem por funções a busca interpretação e controle de execução das instruções Controle dos demais componentes do computador Orienta o fluxo de dados Contem o conjunto de instruções que a CPU é capaz de realizar 52 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas Existem duas arquiteturas dominantes no projeto de processadores Microprocessadores CISC Complex Instruction Set Computer Microprocessadores RISC Reduced Instruction Set Computer 53 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura CISC Microprocessadores CISC Complex Instruction Set Computer são fáceis de programar e permitem um uso eficiente de memória A pouco tempo atrás as máquinas eram programadas única e exclusivamente em linguagem Assembly linguagem de máquina e as memórias eram lentas e caras o que justificou a filosofia CISC Assim projetos de microprocessadores clássicos tais como o Intel 80x86 e o Motorola 68K series seguiram a filosofia CISC 54 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura CISC Mudanças recentes na tecnologia de software e hardware forçou uma reavaliação em termos de arquitetura Assim muitos processadores CISC mais modernos têm implementado alguns princípios RISC Reduced Instruction Set Computer tornandose arquiteturas híbridas mais convenientes No fundo a idéia CISC ganhou força devido ao fato de gerar a necessidade de compiladores de simples desenvolvimento uma vez que muitas instruções de máquina são realizadas pelo próprio processador 55 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Atributos de CISC Possui um formato de 2 operandos onde as instruções têm uma fonte e um destino permitindo Comandos de registradorregistrador registradormemória e memóriaregistrador e Múltiplos modos de endereçamento para acesso à memória Instruções de tamanho variável de acordo com o modo de endereçamento Instruções que requerem múltiplos ciclos de clock para executar 56 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Características de Processadores CISC Possuem uma lógica de decodificação de instrução complexa originada pela necessidade de suportar modos de endereçamento múltiplos Possuem um número pequeno de registradores de propósito geral devido ao fato de as instruções poderem operar diretamente na memória além de uma quantidade limitada de espaço em chip não dedicada Possuem muitos registradores de propósito específico tais como apontadores de pilha tratadores de interrupção etc Possuem um registrador Condition code alterado de acordo com efeitos causados por algumas instruções menor do que é igual a maior do que e gravação de ocorrência de certas condições de erro 57 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr O Uso da Microprogramação em CISC Objetivo otimizar o desempenho da máquina Microprogramação é tão fácil de implementar quanto o Assembly e muito menos caro do que hardwarizar uma unidade de controle Facilidade de novas instruções de microcódigos Projetistas com tarefas facilitadas máquinas CISC compatíveis com as mais antigas um novo computador pode executar um mesmo programa executado em um computador antigo pois o novo contém o superconjunto das instruções do antigo Como cada instrução tornase mais capaz menos instruções podem ser usadas para implementar uma dada tarefa Conjuntos de instruções de microprogramas podem ser escritos de modo a compartilhar os alicerces de linguagens de alto nível reduzindo a complexidade de compiladores 58 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Desvantagens de CISC Como as novas gerações de uma família de processador geralmente envolve a geração antecessora tanto o conjunto de instruções quanto o hardware do novo chip tornamse mais complexos Instruções diferentes levam quantidades diferentes de período de relógio para executar o que pode tornar a máquina excessivamente lenta Instruções muito especializadas não são usadas com a frequência suficiente a ponto de justificar sua existência aproximadamente 20 das instruções disponíveis são usadas em um programa típico Instruções CISC típicas setam condition codes o que demanda tempo de execução além do fato de os programadores terem um esforço extra em lembrar de examinálas 59 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Microprocessadores RISC Reduced Instruction Set Computer são aqueles que utilizam um pequeno conjunto de instruções altamente otimizado Os primeiros projetos RISC foram desenvolvidos nos anos 70 e 80 pelas universidades de Stanford e Berkeley respectivamente 60 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Algumas características RISC importantes são Execução em um ciclo de clock Esta característica é resultado da otimização de cada instrução aliada a uma técnica chamada de Pipelining Pipelining é uma técnica que permite execução simultânea de partes ou estágios de instruções tornando o processo mais eficiente Grande número de registradores para evitar uma quantidade elevada de interações com a memória Conjunto reduzido de instruções Instruções menos complexas Unidade de controle hardwarizada Baixa capacidade de endereçamento para operações de memória com apenas duas instruções básicas LOAD e STORE 61 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Pipelining A técnica de pipelining permite que o processador tire proveito máximo de suas estruturas internas dividindo o ciclo de processamento em tarefas menores A execução destas tarefas em seguência e que permitem o melhor aproveitamento do hardware Para que ocorra pipelining é necessário Instruções com tempo de execução próximos e previsíveis execução em um único ciclo Baixo número de instruções 62 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipelining Tarefas de Microprocessador Busca instrução na memória Executa a instrução ou calcula um endereço Acessa um operando na memória de dados Escreve o resultado em um registrador SEM PIPELINING COM PIPELINING 63 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipelining Arquitetura Pipeline com Quatro Estágios Unidade de busca da instrução P1 P4 P3 P2 Analisador da instrução Unidade de busca dos dados Unidade de execução da instrução Instr1 Instr2 Instr3 Instr4 Instr5 Instr6 Instr7 Instr1 Instr2 Instr3 Instr4 Instr5 Instr6 Instr1 Instr2 Instr3 Instr4 Instr5 Instr1 Instr2 Instr3 Instr4 P1 P2 P3 P4 tempo 64 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo 65 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Prefetch busca antecipada Execução normalmente não necessita de acessoa à memória Durante a execução podese buscar uma nova instrução Performance é melhorada Mas não é duplicada Busca usualmente mais rápida do que a execução Qualquer jump ou desvio significa que instruções prébuscadas não são instruções necessárias Mais estágios de pipeline para aumentar a performance 66 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipelining BI Busca de instruções DI Decodificação de instruções CO Cálculo de operandos BO Busca de operandos EI Execução de instruções EO Escrita de Operando Sobreposição dessas operações 67 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Timing of Pipeline Assumese que Todas as instruções usem os 6 estágios Memória é compartilhada Todos os estágios possam ser executados em paralelo Problemas Estágios possuem durações diferentes Operações de desvio Interrupção 68 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipeline efeito de uma instrução de desvio 69 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Uso de um grande banco de Registradores A importância de se usar registradores é que entre os dispositivos de armazenamento disponíveis os registradores constituem os dispositivos que oferecem acesso mais rápido que a memória principal ou a memória cache Banco de registradores físicos contido na ULA e na Unidade de Controle e usa endereços de tamanho muito menor que endereços da memória cache e memória principal Os registradores armazenam os operandos mais utilizados minimizando operações de transferência de dados entre eles e a memória 70 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Uso de um grande banco de Registradores Banco de Registradores é superior que Memória Cache principalmente na relação ao mecanismo de endereçamento Melhora o desempenho o uso de bancos de registradores para armazenar variáveis escalares locais Um desempenho maior pode ser obtido pela adição de uma cache apenas para instruções 71 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Desvantagens da Arquitetura RISC Máquinas RISC são mais baratas e mais rápidas do que as CISC o que pode nos induzir a pensar que elas são as máquinas do futuro Custo de um hardware mais simples é a necessidade de um software mais complexo Isto é bom ou ruim 72 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Cisc x Risc RISC x CISC Máquinas RISC conseguem maior MIPS que máquinas CISC Para instruções de ponto flutuante as máquinas RISC necessitam de hardware especial para terem desempenho equivalente às CISC Múltiplos conjuntos de registradores das RISC contribuem para um maior desempenho Alguns programas criados em linguagens de alto nível precisam de uma biblioteca de procedimentos para rodar eficientemente em máquinas RISC o que pode ser realizado via microcódigo nas CISC As arquiteturas RISC são mais fáceis de produzir devido à sua simplicidade e menor número de transistores Compiladores para RISCs são mais complexos pois precisam usar eficientemente os recursos de pipeline e de alocação de registradores 73 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr CISC versus RISC 74 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Pipeline e desenhos superescalares podem promover ganhos de 5X a 10X Para ganhos na faixa de 50X ou 100X devese usar múltiplas CPUs Arquiteturas que possuem 2 ou mais CPUs interligadas e que funcionam em conjunto na execução de tarefas independentes ou no processamento simultâneo de uma mesma tarefa Motivado pelo elevado custo de desenvolvimento de processadores mais rápidos e por aplicações que precisam de grande poder computacional 75 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Vantagens Desempenho Escalabilidade Relação custodesempenho Tolerância a falhas e disponibilidade Balanceamento de carga Desvantagens Problemas de comunicação e sincronização Organizar de forma eficiente os processadores Tolerância contra falhas é dependente do sistema operacional 76 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Classificação quanto ao grau de paralelismo SISD Single Instruction Single Data suportam uma única seqüência de instruções e apenas uma seqüência de dados SIMD Single Instruction Multiple Data suportam uma única seqüência de instruções e múltiplas seqüências de dados MISD Multiple Instruction Single Data suportam múltiplas seqüências de instruções e uma única seqüência de dados MIMD Multiple Instruction Multiple Data suportam múltiplas seqüências de instruções e múltiplas seqüências de dados A grande maioria dos computadores com um único processador pertencem a arquitetura SISD enquanto os sistemas com múltiplos processadores pertencem a arquitetura MIMD 77 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas SMP Symetrical MultiProcessadores memória compartilhada NUMA NonUniform Memory Access memória privativa MIMD Sistemas Fortemente Acoplados SMP Sistemas Distribuídos Cluster Sistemas Operacionais de Rede NUMA Sistemas Fracamente Acoplados 78 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas SMP Todos os processadores realizam as mesmas funções Tempo de acesso à memória é uniforme para todos os processadores Vantagem melhor balanceamento Desvantagem implementação mais complexa Formas de interligação com a memória Barramento único Cache Cache Cache Dispositivos de E S Memória Principal UCP UCP UCP 79 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Sistemas NUMA tempo de acesso à memória depende da localização física do processador M1 P2 P3 P1 M2 P5 P6 P4 M3 P8 P9 P7 Barramento interno Barramento interconjunto Conjunto 80 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Formas de se interligar processadores b Anel c Grid 2D d Torus 2D e Hipercubo 81 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas 82 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas SISD Single Instruction Stream Single Data Stream monoprocessador SIMD Single Instruction Stream Multiple Data Stream arquiteturas vetoriais MISD Multiple Instruction Stream Single Data Stream sem implementação comercial MIMD Multiple Instruction Stream Multiple Data Stream arquiteturas multiprocessadas Fluxos de Instrução e Dados 83 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Algumas Instruções Vetoriais 84 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr FIM
Send your question to AI and receive an answer instantly
Recommended for you
35
Apresentação Power Point sobre Entrada e Saída ES em Sistemas Operacionais
Organização de Computadores
UEPB
62
Interrupcoes-Conceitos-e-Tipos
Organização de Computadores
UEPB
144
Codigos de Hamming - Detecção e Correção de Erros
Organização de Computadores
UEPB
1
Representacao de Instrucoes e Opcode em Arquitetura de Computadores
Organização de Computadores
UEPB
2
Arquitetura de Processador - Formato de Instrucoes e Operacoes
Organização de Computadores
UEPB
42
Arquitetura de Computadores II - Barramentos, Sistemas de ES e RAID
Organização de Computadores
UNISC
1
Exercícios Resolvidos Arquitetura de Computadores - Memória Virtual e Paginamento POSCOMP
Organização de Computadores
UNISC
49
Multiprocessadores e Coerencia de Cache - Arquitetura de Computadores
Organização de Computadores
UNISC
45
Memória Virtual - Arquitetura de Computadores II
Organização de Computadores
UNISC
77
Conjunto de Instruções da Arquitetura de Computadores
Organização de Computadores
UFS
Preview text
1 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Prof Misael Morais moraiscguolcombr 20151 A vontade de vencer é importante mas a vontade de se preparar é vital httpsitesgooglecomsitemoraiscg PARTE 4 Prof Misael Morais moraiscguolcombr A vontade de vencer é importante mas a vontade de se preparar é vital httpsitesgooglecomsitemoraiscg Parte 8 A experiência é resultado da prática 2 Prof Misael Morais moraiscguolcombr httpsitesgooglecomsitemoraiscg Arquitetura de von Neumann CPU UCP EntradaSaída IO MEMÓRIA 3 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr UC 4 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Componentes básicos da área de controle Unidade de controle UC Decodificador de instruções Registrador de instruções RI Contador de instruções program counter PC Relógio ou clock Registrador de endereços da memória REM Registrador de dados da memória RDM 5 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle Funções busca interpretação e controle de execução das instruções e o controle dos demais componentes do computador Envia ordens de cálculo para a ULA que indica os valores a processar e os coloca nos registradores para esse efeito A UC gera sinais paras transferência de dados para as outras partes que constituem o computador como a memória os sistemas de ES etc 6 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle UC Código da instrução CLOCK Lógica de controle Bits de Controle Lógica de controle Utiliza bits para controle do fluxo de informação entre componentes da máquina Ex transferência entre registradores de B para A deslocamento de bits 7 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Operação da Unidade de Controle Técnicas de implementação da Controle de Controle Controle programado diretamente no hardware hardwired control Controle por microprogramação Hibrida 8 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Implementação da Unidade de Controle Computadores iniciais UC por hardware Microprograma flexibilidade no projeto Híbridas Arquiteturas RISC quase só hardware 9 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle hardware Principais componentes Gerador de sinais Circuitos decodificadores IR registrador de instrução Circuitos eletrônicos combinacionais Clock T T0 Tn1 Flags Sinais da instrução decodificada Código da instrução Sinais de controle internos e externos Esquema da UC com pré programação em hardwired 10 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de controle por hardware para o computador simplificado visto 11 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de controle por hardware para o computador simplificado forma alternativa 12 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Linguagem de máquina para o computador simplificado Endereço Instrução Dec binário binário hexa opc end decimal 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 7C 01 60 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 7D 01 61 2 0 0 0 0 1 0 1 0 1 1 1 1 1 0 BE 10 62 3 0 0 0 0 1 1 1 0 1 1 1 1 1 0 BE 10 62 4 0 0 0 1 0 0 1 1 1 1 1 1 1 1 FF 11 63 60 1 1 1 1 0 0 0 0 0 1 0 0 0 1 11 00 17 61 1 1 1 1 0 1 0 1 0 0 0 0 0 1 41 01 01 62 1 1 1 1 1 0 1 0 1 1 1 1 0 1 BD 10 61 63 1 1 1 1 1 1 0 0 0 0 0 0 0 0 00 00 00 13 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Problemas com projetos hardware Lógica complexa na implementação Dificuldade de projeto e testes Projeto sem flexibilidade Dificuldade para acrescentar novas instruções 14 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de Controle por Microprograma Unidade de Controle Por hardware Por microprograma Híbrida 15 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de Controle por Microprograma Microprograma fica em memória de controle Memória de controle faz parte da UC É uma memória tipo ROM Define funcionamento do processador Define linguagem de máquina Microprograma não pode ser alterado 16 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 25032022 Unidade de Controle por Microprograma Programador não tem acesso à ROM Programador programa em linguagem de máquina Programa em linguagem de máquina fica na memória principal fora do processador Memória de controle exerce controle em função de cada instrução em linguagem de máquina 17 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Unidade de Controle microprogramada Execução de Programa Ciclo de instrução 1 Ciclo de instrução 2 Ciclo de instrução n Busca Indireto Execução Interrupção μOP μOP μOP μOP μOP Passos na execução de um programa 18 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de busca envolve 4 registradores Registrador de endereço de memória MAR Conectado ao barramento de endereços Especifica o endereço que será lido ou escrito Registrador de armazenamento temporário de dados MBR Conectado ao barramento de dados Segura o dado que será escrito ou lido Contador de programa PC Segura o endereço da próxima instrução a ser buscada Registrador de instrução IR Segura a última instrução buscada 19 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Seqüência de busca Endereço da próxima instrução contido no PC O conteúdo do MAR é colocado no barramento de endereço A unidade de controle envia o comando de leitura no barramento de controle O resultado da memória aparece no barramento de dados Os sinais dado do barramento de dados é copiado no MBR O PC é incrementado de 1 O dado código da instrução é movido do MBR para o IR O MBR agora fica livre 20 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Seqüência de busca simbolicamente t1 MAR PC t2 MBR memória PC PC 1 t3 IR MBR tx unidades de tempo sucessivas ou t1 MAR PC t2 MBR memória t3 PC PC 1 IR MBR Agrupamento Agrupamento 21 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Regras para agrupamento de microoperações Seqüência apropriada de eventos MAR PC deve preceder MBR memória Devem ser evitados conflitos Não se deve ler e escrever num mesmo registrador durante a mesma unidade de tempo MBR memory IR MBR não devem ser na mesma unidade de tempo Também PC PC 1 envolve adição Uso da ALU Pode envolver microoperações adicionais 22 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr 23 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Microoperações Na execução de um programa existe Ciclo de buscaexecução Cada ciclo é composto de um número de passos Revise o conceito de pipeline Cada passo é composto de subpassos subciclo Cada subpasso é chamado de microoperação 24 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de endereçamento indireto MAR IRendereço campo de endereço da instrução de IR MBR memória IRendereço MBRendereço MBR contem o endereço IR está agora igual ao que ele teria se fosse usado endereçamento direto 25 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de interrupção t1 MBR PC t2 MAR endereço de salvamento PC endereço da rotina de interrupção t3 memória MBR Isso é o mínimo Pode ser necessário microoperações para obter o endereço onde o PC deve ser salvo 26 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de execução da SOMA ADD O ciclo de instrução é diferente para cada instrução Ex ADD R1X soma o conteúdo da locação X ao registrador R1 e armazena o resultado em R1 t1 MAR IRendereço t2 MBR memória t3 R1 R1 MBR Nota Não há sobreposição de microoperações 27 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de execução de INCREMENTA E PULA SE ZERO ISZ ISZ X incrementa o dado e pula se zero t1 MAR IRendereço t2 MBR memória t3 MBR MBR 1 t4 memória MBR if MBR 0 then PC PC 1 Nota Microoperações feitas durante t4 28 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de instrução PULA E SALVA ENDEREÇO BSA BSA X Pula branch e salva endereço X chamada de subrotina Endereço da instrução que segue a instrução BSA é salvo na posição de memória X e o programa continua na posição X1 Seqüência de microoperações t1MAR IRendereço MBR PC t2PC IRendereço memória MBR t3PC PC 1 29 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de instrução Cada fase decomposta em seqüência de microoperações elementares Ex ciclos de busca indireto e de interrupção Ciclo de execução Uma seqüência de microoperações para cada opcode Precisa unir seqüência Existência de registrador ICC Código de ciclo de instrução ICC designa em qual parte do ciclo o processador se encontra 00 Busca 01 Indireto 10 Execução 11 Interrupção 30 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Fluxograma do ciclo de instrução com microoperaões 31 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Requisitos funcionais da UC Elementos básicos do processador ALU registradores Barramentos UC Descrever microoperações que o processador deve executar Determinar funções que a UC deve realizar para causar a execução das microoperações 32 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Tipos de microoperações Transferência de dados entre registradores Transferência de dados de um registrador para uma interface externa Transferência de uma interface externa para um registrador Execução de operação lógica ou aritmética usando registradores como entrada e saída 33 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Tarefas básicas da UC Seqüenciamento A UC dirige o processador na execução de uma série de microoperações na seqüência apropriada Execução A UC faz com que cada microoperação seja executada Tudo isto é feito por meio de Sinais de Controle 34 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Diagrama de blocos da UC 35 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de Controle Entradas 1 Relógio Clock É a forma pela qual a unidade de controle marca o tempo Registrador de instrução Código de operação Opcode determina quais microoperações são executadas Determina quais microinstruções são realizadas 36 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de Controle Entradas 2 Códigos de condição Flags Determina o estado da CPU depois a última instrução Contém resultados de operações previamente executadas Sinais de controle de barramento de controle Interrupção Reconhecimento de interrupção 37 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de Controle Saídas Sinais de controle internos ao processador Causam e controlam o fluxo interno de dados Ativam funções específicas da ULA Sinais de controle para o barramento de controle Sinais de controle para memória Sinais de controle para dispositivos de ES 38 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Sinais de controle saída Dentro da CPU Causam movimentação de dados Ativam funções específicas Via barramento de controle Para memória Para módulos de ES 39 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo de sequência de sinal de controle Busca MAR PC Unidade de controle ativa sinal para abrir portas entre PC e MAR MBR memória Abre portas entre MAR e barramento de endereço Sinal de controle de leitura de memória Abre portas entre barramento de dados e MBR 40 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo de Sinais de Controle UC M B R M A R PC IR AC Unidade de Controle ULA Sinais de controle Código de condição Sinais de controle C11 C10 C4 C13 C9 C7 C3 C1 C8 C5 C12 C2 C0 C6 CR CW Barramento de Sistema Relógio 41 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Organização Interna Normalmente um único barramento interno Portas controlam movimento de dados para dentro e fora do barramento Sinais de controle comandam transferência de dados de e para barramento externo do sistema Registradores temporários necessários para a operação apropriada da ALU 42 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Microoperações Temporização Sinais Busca t1 MAR PC C2 t2 MBR Memória C5 CR PC PC 1 t3 IR MBR C4 Indireto t1 MAR IREndereço C8 t2 MBR Memória C5 CR t3 IREndereço MBR C4 Interrupção t1 MBR PC C1 t2 MAR Endereço de salvamento PC Endereço da rotina t3 Memória MBR C12 CW 43 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr CPU com barramento interno 44 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ex Adicionar um valor da memória para AC registrador t1 MAR IRendereço t2 MBR Memória t3 Y MBR t4 Z AC Y t5 AC Z 45 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo Suponha que os atraso de propagação pelo barramento e pela ALU na figura anterior seja sejam 20 e 100 ns respectivamente O tempo necessário para um registrador copiar dados do barramento é 10 ns Qual é o tempo que deve ser permitido para a Transferir dados de um registrador para outro b Incrementar o contador de programa Problema 153 do Stalling 46 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Solução a tempo necessário Tempo de propagação tempo de cópia 20ns 10ns 30 ns b Incrementar o PC envolve 2 passos 1 Z PC 1 2 PC Z O primeiro passo 20 100 10 130 ns O segundo passo 30 ns Tempo total 160 ns 47 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exercício Um projetista de compiladores está tentando decidir sobre qual seqüência de instruções ele deve utilizar para implementar um comando de uma linguagem de alto nível Ele dispõe das seguintes informações Existem duas seqüências de instruções possíveis para implementar o comando Seqüência 1 duas instruções A uma B e duas C Seqüência 2 quatro A uma B e uma C Na máquina alvo a instrução A tem o CPI de 1 B tem CPI de 2 e C de 3 Perguntase 1 Que seqüência de código executa mais instruções 2 Qual seqüência executa mais rápido 3 Qual é o CPI para cada seqüência Respostas 1 seq1 212 5 instruções seq2 411 6 instruções logo resposta seq2 2 seq1 2x1 1x 2 2x3 10 ciclos seq2 4x1 1x2 1x3 9 ciclos 3 CPIseq1 10 ciclos5 instruções 2 CPI CPIseq2 9 6 15 CPI 48 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Estratégias de construção do decodificador de instruções da UC Wired logic as instruções são todas implementadas em circuito Microcódigo apenas um grupo básico de instruções são implementadas em circuitos as demais são montadas através de microprogramas que usam as instruções básicas 49 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Ciclo de Instrução As instruções são executadas sequencialmente a não ser pela ocorrência de um desvio uma a uma Ciclo de instrução indica a sequência de execuçãoisto é controla o fluxo de execução das instruções 50 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Estratégia de fabricação Cada modelo e fabricante tem seu próprio conjunto de instruções Cada fabricante tende a agrupar as CPUs em famílias As novas CPUs contem as novas instruções e as das suas antecedentes Compatibilidade ascendente 51 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr UC Unidade de Controle Tem por funções a busca interpretação e controle de execução das instruções Controle dos demais componentes do computador Orienta o fluxo de dados Contem o conjunto de instruções que a CPU é capaz de realizar 52 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas Existem duas arquiteturas dominantes no projeto de processadores Microprocessadores CISC Complex Instruction Set Computer Microprocessadores RISC Reduced Instruction Set Computer 53 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura CISC Microprocessadores CISC Complex Instruction Set Computer são fáceis de programar e permitem um uso eficiente de memória A pouco tempo atrás as máquinas eram programadas única e exclusivamente em linguagem Assembly linguagem de máquina e as memórias eram lentas e caras o que justificou a filosofia CISC Assim projetos de microprocessadores clássicos tais como o Intel 80x86 e o Motorola 68K series seguiram a filosofia CISC 54 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura CISC Mudanças recentes na tecnologia de software e hardware forçou uma reavaliação em termos de arquitetura Assim muitos processadores CISC mais modernos têm implementado alguns princípios RISC Reduced Instruction Set Computer tornandose arquiteturas híbridas mais convenientes No fundo a idéia CISC ganhou força devido ao fato de gerar a necessidade de compiladores de simples desenvolvimento uma vez que muitas instruções de máquina são realizadas pelo próprio processador 55 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Atributos de CISC Possui um formato de 2 operandos onde as instruções têm uma fonte e um destino permitindo Comandos de registradorregistrador registradormemória e memóriaregistrador e Múltiplos modos de endereçamento para acesso à memória Instruções de tamanho variável de acordo com o modo de endereçamento Instruções que requerem múltiplos ciclos de clock para executar 56 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Características de Processadores CISC Possuem uma lógica de decodificação de instrução complexa originada pela necessidade de suportar modos de endereçamento múltiplos Possuem um número pequeno de registradores de propósito geral devido ao fato de as instruções poderem operar diretamente na memória além de uma quantidade limitada de espaço em chip não dedicada Possuem muitos registradores de propósito específico tais como apontadores de pilha tratadores de interrupção etc Possuem um registrador Condition code alterado de acordo com efeitos causados por algumas instruções menor do que é igual a maior do que e gravação de ocorrência de certas condições de erro 57 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr O Uso da Microprogramação em CISC Objetivo otimizar o desempenho da máquina Microprogramação é tão fácil de implementar quanto o Assembly e muito menos caro do que hardwarizar uma unidade de controle Facilidade de novas instruções de microcódigos Projetistas com tarefas facilitadas máquinas CISC compatíveis com as mais antigas um novo computador pode executar um mesmo programa executado em um computador antigo pois o novo contém o superconjunto das instruções do antigo Como cada instrução tornase mais capaz menos instruções podem ser usadas para implementar uma dada tarefa Conjuntos de instruções de microprogramas podem ser escritos de modo a compartilhar os alicerces de linguagens de alto nível reduzindo a complexidade de compiladores 58 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Desvantagens de CISC Como as novas gerações de uma família de processador geralmente envolve a geração antecessora tanto o conjunto de instruções quanto o hardware do novo chip tornamse mais complexos Instruções diferentes levam quantidades diferentes de período de relógio para executar o que pode tornar a máquina excessivamente lenta Instruções muito especializadas não são usadas com a frequência suficiente a ponto de justificar sua existência aproximadamente 20 das instruções disponíveis são usadas em um programa típico Instruções CISC típicas setam condition codes o que demanda tempo de execução além do fato de os programadores terem um esforço extra em lembrar de examinálas 59 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Microprocessadores RISC Reduced Instruction Set Computer são aqueles que utilizam um pequeno conjunto de instruções altamente otimizado Os primeiros projetos RISC foram desenvolvidos nos anos 70 e 80 pelas universidades de Stanford e Berkeley respectivamente 60 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Algumas características RISC importantes são Execução em um ciclo de clock Esta característica é resultado da otimização de cada instrução aliada a uma técnica chamada de Pipelining Pipelining é uma técnica que permite execução simultânea de partes ou estágios de instruções tornando o processo mais eficiente Grande número de registradores para evitar uma quantidade elevada de interações com a memória Conjunto reduzido de instruções Instruções menos complexas Unidade de controle hardwarizada Baixa capacidade de endereçamento para operações de memória com apenas duas instruções básicas LOAD e STORE 61 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Pipelining A técnica de pipelining permite que o processador tire proveito máximo de suas estruturas internas dividindo o ciclo de processamento em tarefas menores A execução destas tarefas em seguência e que permitem o melhor aproveitamento do hardware Para que ocorra pipelining é necessário Instruções com tempo de execução próximos e previsíveis execução em um único ciclo Baixo número de instruções 62 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipelining Tarefas de Microprocessador Busca instrução na memória Executa a instrução ou calcula um endereço Acessa um operando na memória de dados Escreve o resultado em um registrador SEM PIPELINING COM PIPELINING 63 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipelining Arquitetura Pipeline com Quatro Estágios Unidade de busca da instrução P1 P4 P3 P2 Analisador da instrução Unidade de busca dos dados Unidade de execução da instrução Instr1 Instr2 Instr3 Instr4 Instr5 Instr6 Instr7 Instr1 Instr2 Instr3 Instr4 Instr5 Instr6 Instr1 Instr2 Instr3 Instr4 Instr5 Instr1 Instr2 Instr3 Instr4 P1 P2 P3 P4 tempo 64 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Exemplo 65 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Prefetch busca antecipada Execução normalmente não necessita de acessoa à memória Durante a execução podese buscar uma nova instrução Performance é melhorada Mas não é duplicada Busca usualmente mais rápida do que a execução Qualquer jump ou desvio significa que instruções prébuscadas não são instruções necessárias Mais estágios de pipeline para aumentar a performance 66 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipelining BI Busca de instruções DI Decodificação de instruções CO Cálculo de operandos BO Busca de operandos EI Execução de instruções EO Escrita de Operando Sobreposição dessas operações 67 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Timing of Pipeline Assumese que Todas as instruções usem os 6 estágios Memória é compartilhada Todos os estágios possam ser executados em paralelo Problemas Estágios possuem durações diferentes Operações de desvio Interrupção 68 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Pipeline efeito de uma instrução de desvio 69 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Uso de um grande banco de Registradores A importância de se usar registradores é que entre os dispositivos de armazenamento disponíveis os registradores constituem os dispositivos que oferecem acesso mais rápido que a memória principal ou a memória cache Banco de registradores físicos contido na ULA e na Unidade de Controle e usa endereços de tamanho muito menor que endereços da memória cache e memória principal Os registradores armazenam os operandos mais utilizados minimizando operações de transferência de dados entre eles e a memória 70 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquitetura RISC Uso de um grande banco de Registradores Banco de Registradores é superior que Memória Cache principalmente na relação ao mecanismo de endereçamento Melhora o desempenho o uso de bancos de registradores para armazenar variáveis escalares locais Um desempenho maior pode ser obtido pela adição de uma cache apenas para instruções 71 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Desvantagens da Arquitetura RISC Máquinas RISC são mais baratas e mais rápidas do que as CISC o que pode nos induzir a pensar que elas são as máquinas do futuro Custo de um hardware mais simples é a necessidade de um software mais complexo Isto é bom ou ruim 72 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Cisc x Risc RISC x CISC Máquinas RISC conseguem maior MIPS que máquinas CISC Para instruções de ponto flutuante as máquinas RISC necessitam de hardware especial para terem desempenho equivalente às CISC Múltiplos conjuntos de registradores das RISC contribuem para um maior desempenho Alguns programas criados em linguagens de alto nível precisam de uma biblioteca de procedimentos para rodar eficientemente em máquinas RISC o que pode ser realizado via microcódigo nas CISC As arquiteturas RISC são mais fáceis de produzir devido à sua simplicidade e menor número de transistores Compiladores para RISCs são mais complexos pois precisam usar eficientemente os recursos de pipeline e de alocação de registradores 73 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr CISC versus RISC 74 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Pipeline e desenhos superescalares podem promover ganhos de 5X a 10X Para ganhos na faixa de 50X ou 100X devese usar múltiplas CPUs Arquiteturas que possuem 2 ou mais CPUs interligadas e que funcionam em conjunto na execução de tarefas independentes ou no processamento simultâneo de uma mesma tarefa Motivado pelo elevado custo de desenvolvimento de processadores mais rápidos e por aplicações que precisam de grande poder computacional 75 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Vantagens Desempenho Escalabilidade Relação custodesempenho Tolerância a falhas e disponibilidade Balanceamento de carga Desvantagens Problemas de comunicação e sincronização Organizar de forma eficiente os processadores Tolerância contra falhas é dependente do sistema operacional 76 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Classificação quanto ao grau de paralelismo SISD Single Instruction Single Data suportam uma única seqüência de instruções e apenas uma seqüência de dados SIMD Single Instruction Multiple Data suportam uma única seqüência de instruções e múltiplas seqüências de dados MISD Multiple Instruction Single Data suportam múltiplas seqüências de instruções e uma única seqüência de dados MIMD Multiple Instruction Multiple Data suportam múltiplas seqüências de instruções e múltiplas seqüências de dados A grande maioria dos computadores com um único processador pertencem a arquitetura SISD enquanto os sistemas com múltiplos processadores pertencem a arquitetura MIMD 77 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas SMP Symetrical MultiProcessadores memória compartilhada NUMA NonUniform Memory Access memória privativa MIMD Sistemas Fortemente Acoplados SMP Sistemas Distribuídos Cluster Sistemas Operacionais de Rede NUMA Sistemas Fracamente Acoplados 78 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas SMP Todos os processadores realizam as mesmas funções Tempo de acesso à memória é uniforme para todos os processadores Vantagem melhor balanceamento Desvantagem implementação mais complexa Formas de interligação com a memória Barramento único Cache Cache Cache Dispositivos de E S Memória Principal UCP UCP UCP 79 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Sistemas NUMA tempo de acesso à memória depende da localização física do processador M1 P2 P3 P1 M2 P5 P6 P4 M3 P8 P9 P7 Barramento interno Barramento interconjunto Conjunto 80 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas Formas de se interligar processadores b Anel c Grid 2D d Torus 2D e Hipercubo 81 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas 82 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Arquiteturas paralelas SISD Single Instruction Stream Single Data Stream monoprocessador SIMD Single Instruction Stream Multiple Data Stream arquiteturas vetoriais MISD Multiple Instruction Stream Single Data Stream sem implementação comercial MIMD Multiple Instruction Stream Multiple Data Stream arquiteturas multiprocessadas Fluxos de Instrução e Dados 83 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr Algumas Instruções Vetoriais 84 httpsitesgooglecomsitemoraiscg Prof Misael Morais moraiscguolcombr FIM