250 likes | 433 Views
Arquitetura de computadores. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Computadores com um conjunto reduzido de instruções. 29/05/2013. Tópicos abordados. Motivação; Características da execução de instruções;
E N D
Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari
Computadores com um conjunto reduzido de instruções 29/05/2013
Tópicos abordados • Motivação; • Características da execução de instruções; • Arquitetura CISC; • Arquitetura RISC; • Controvérsia CISC x RISC Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Computadores com um conjunto reduzido de instruções Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Motivação
Motivação • Desde sua concepção, os computadores pouco evoluíram em sua características mais essenciais: • Uso de uma memória interna; • Uso de dispositivos de I/O; • Uso de CPU. • Muitas tecnologias surgiram para melhorar a relação entre esses componentes essenciais, mas não para substituí-los: • Conceito de família; • Unidade de controle micro programada; • Uso de Cache; • Uso de Pipeline; • Múltiplos processadores; • A mais importante deve ser analisada mais cuidadosamente: • A Arquitetura RISC. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Motivação • Evolução do processamento em relação a memória (*Hennessy & Patterson2012) Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Introdução do RISC
Motivação • A arquitetura RISC possui os elementos básicos: • Grande número de registradores de propósito geral ou uso de técnicas compilação para otimização no uso desses registradores; • Conjunto de instruções simples e limitado; • Enfoque no Pipeline de instruções; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Computadores com um conjunto reduzido de instruções Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Características da execução de instruções
Características da execução de instruções • O custo do hardware diminuiu e o custo do software aumentou; • O software eram poucos confiáveis, com alto grau de erros; • Existiam poucos programadores no mercado; • Surgiram as linguagens de programação de alto nível para melhorar esse cenário; • Possibilitam expressar algoritmos mais resumido; • Abstração dos detalhes de máquina; • Porém como consequência introduziram: • Gap semântico – distância entre linguagem de alto nível e de baixo nível; • Tamanho grande de código; • Complexidade de compiladores; • Grande conjunto de instrução; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Características da execução de instruções • Uma vertente de pesquisadores buscou analisar as caraterísticas de execução de programas gerados por linguagens de alto nível: • Operações realizadas; • Operandos utilizados; • Organização das instruções (Pipeline); • A análise se deu coletando dados durante a execução de instruções, e verificando o que e como ocorria; • A conclusão foi: • Tornar a arquitetura mais simples e não mais complexa melhoraria o uso da CPU; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Computadores com um conjunto reduzido de instruções Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Arquitetura CISC
Arquitetura CISC • A arquitetura CISC surgiu devido: • Necessidade de aumentar o desempenho; • Desejo de simplificar os compiladores; • Isso se deu devido ao surgimento de linguagens de programação de alto nível; • Qual a função dos compiladores? • Converter comandos de alto nível para comandos de máquina; • Portanto se existirem comandos de máquina que se assemelhem a comandos de alto nível os compiladores seriam mais simples. • Em processadores CISC, uma instrução de alto nível seria traduzida em apenas uma instrução de máquina. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Arquitetura CISC • A arquitetura CISC possui gravado no processador um micro código; • Facilita a programação em linguagem de máquina; • Instruções devem ser decodificadas dentro da unidade de controle e quebradas em várias outras instruções menores; • Uma tendência do início dos anos 80 era ampliar o micro código; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Arquitetura CISC • Porém, vários pesquisadores vem analisando que instruções complexas dificilmente são utilizadas com frequência; • Instruções complexas tornam o código mais complicado e dificulta o desempenho de Pipeline; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Arquitetura CISC • Outra promessa da arquitetura CISC é deixar o código fonte menor e mais rápidos; • Menor consumo de memória; • Na prática isso nem sempre ocorre, já que depois de compilado, os programas tendem a ter um grande número de instruções de máquina; • Memória não é um problema atualmente; • Mais rápido são mais eficientes; • Para deixar o conjunto de instruções mais rico, a unidade de controle deve ser mais elaborada, consumindo maior processamento na decodificação da instrução; • Geralmente instruções CISC demanda tantas instruções de máquina quanto instruções RISC. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Computadores com um conjunto reduzido de instruções Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Arquitetura RISC
Arquitetura RISC • As características mais comuns para a arquitetura RISC são: • Uma instrução por ciclo; • Operações de registrador para registrador; • Modos de endereçamento mais simples; • Formato de instruções simples. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Arquitetura RISC • Uma instrução por ciclo: • Ao contrário das instruções CISC, instruções RISC possuem apenas uma instrução por ciclo; • Com instruções simples de um ciclo, não necessita de micro código; • Instruções de máquinas são implementadas diretamente no hardware; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Arquitetura RISC • Operações de registrador para registrador: • Operações RISC são basicamente de registrador para registrador, ficando o acesso a memória restrito para carga e armazenamento; • Isso simplifica o conjunto de instruções e facilita a operação da unidade de controle; • Operandos utilizados frequentemente ficam armazenados diretamente nos registradores. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Arquitetura RISC • Modos de endereçamento: • Processadores RISC utilizam modo de endereçamento simples de registrador, facilitando a programação. • Formato de instruções simples: • Geralmente são utilizados apenas um formato de instruções ou um pequeno número de formatos de instruções; • O tamanho da instrução em bits é fixo; • O tamanho do campo de instruções é fixo; • Simplificam a unidade de controle; • Código de operação e endereço de operandos podem ser lidos simultaneamente. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Registradores no RISC • Processadores de arquitetura RISC utilizam um grande numero de registradores; • Evita o acesso a memória principal e cache constantemente; • O uso de registradores pode ser atribuído via: • Via hardware: • Utilizam um número maior de registradores para abrigar o maior número possível de variáveis dentro da CPU; • Via software: • O compilador deve otimizar o uso de registradores; • Demanda algoritmos e análise de programação mais elaborados. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Computadores com um conjunto reduzido de instruções Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Controvérsia CISC x RISC
Controvérsia CISC x RISC • Passada a euforia da introdução de processadores RISC no mercado, reconheceu-se que: • Processadores RISC podem se beneficiar com a inclusão de características CISC; • Processadores CISC podem se beneficiar com a inclusão de características RISC ; • Resultado: • Hoje, praticamente todos os processadores são híbridos, utilizando o melhor de cada tecnologia. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013