Organização de Computadores - Aula 05 - Arquitetura do conjunto de instruções

Organização de Computadores - Aula 05 - Arquitetura do conjunto de instruções

Organização e Arquitetura de Computadores

Visão Geral da Seção: Nesta aula, o foco está na arquitetura do conjunto de instruções de um computador, abordando a diferença entre organização e arquitetura de computadores.

Definições Importantes

  • A organização de computador refere-se às unidades operacionais e suas interconexões que realizam as especificações arquiteturais.
  • A arquitetura de computador está mais próxima do programador, determinando as instruções executáveis e o acesso à memória.

Arquitetura do Conjunto de Instruções

  • O termo ISA (Arquitetura do Conjunto de Instruções) define o repertório de instruções de um computador.
  • Diferentes processadores Intel compartilham a mesma ISA para garantir compatibilidade desde os anos 70.

Elementos da Arquitetura do Conjunto de Instruções

  • Cinco elementos principais caracterizam a ISA, influenciando o funcionamento e desempenho dos programas.
  • Repertório das operações inclui instruções aritméticas, lógicas, movimentação de dados e controle.

Continuação sobre Instruções e Controle

Visão Geral da Seção: Explora-se detalhes sobre as instruções disponíveis em uma arquitetura do conjunto de instruções e seu papel no controle do programa.

Tipos de Instruções

  • As instruções envolvem operações lógico-aritméticas, movimentação de dados entre memória e registradores, além das instruções de controle.

Instruções e Tipos de Dados

Visão Geral da Seção: Nesta parte, são abordadas as instruções de desvio condicional, tipos e tamanhos de dados em arquiteturas de computadores.

Instruções de Desvio Condicional

  • As instruções incluem desvios condicionais, como executar um desvio se uma igualdade for verdadeira ou executar sequencialmente.
  • Em arquiteturas modernas, os dados podem ter diferentes tamanhos, como 8 bits em uma arquitetura de 64 bits.

Tipos e Tamanhos de Dados

  • É essencial adaptar operações para diferentes tamanhos de palavras em arquiteturas variadas.
  • Definir mapeamentos para tipos de dados é crucial, especialmente ao lidar com instruções de linguagens de alto nível.

Endereçamento e Formato da Instrução

Visão Geral da Seção: Aqui são discutidos aspectos relacionados ao endereçamento na execução das instruções e a definição do formato das mesmas.

Endereçamento dos Operandos

  • O modo como os operandos são acessados varia conforme a arquitetura define seus modos de endereçamento.
  • A forma como as operações são realizadas depende do apontamento para registradores ou memória.

Formato da Instrução

  • O formato da instrução determina a identificação do tipo da operação e dos operandos envolvidos.
  • É necessário definir o número e tipo dos operandos em cada instrução para garantir sua correta execução.

Armazenamento dos Operandos

Visão Geral da Seção: Esta parte explora o armazenamento dos operandos nas instruções e suas diversas fontes.

Fontes dos Operandos

  • Os operandos podem ser provenientes diretamente das instruções, registradores acumuladores ou memória.

Abordagem de Conjunto de Instruções na Década de 50

Visão Geral da Seção: Nesta seção, são discutidas as abordagens de conjunto de instruções nas décadas de 50 e 70, destacando a complexidade das instruções e a evolução para conjuntos mais simples.

Complexidade das Instruções na Década de 50

  • Na década de 50, as instruções eram complexas, com uma variedade extensa e combinações diversas.
  • As instruções eram associadas a múltiplas funções para otimizar o uso da memória, visando realizar várias operações em uma única instrução.

Microprogramação e Instruções Complexas

  • A microprogramação permitiu desenvolver instruções complexas que podiam ser armazenadas na memória e executadas no processador.
  • Exemplos incluem instruções como comparação de operadores seguida por troca desses operadores em uma única qualificação.

Flexibilidade dos Modos de Endereçamento

  • Os computadores CISC apresentavam flexibilidade nos modos de endereçamento, permitindo diferentes combinações entre registradores e memória.
  • Essa flexibilidade resultava em instruções com largura variável, exigindo múltiplos ciclos para execução.

Evolução para Conjunto Reduzido de Instruções (RISC)

Visão Geral da Seção: Aqui é explorado o movimento em direção ao RISC nos anos 80, caracterizado por um conjunto reduzido e simplificado de instruções.

Características do RISC

  • O RISC introduziu um conjunto reduzido de instruções mais simples, facilitando a decodificação e tornando o hardware mais eficiente.
  • Todas as instruções RISC possuíam tamanho fixo (32 bits), simplificando o projeto e garantindo previsibilidade no processo.

Simplicidade versus Flexibilidade

  • A arquitetura RISC oferecia poucos modos de endereçamento e formatos padronizados para garantir simplicidade e estabilidade no sistema.

Contextualização dos Projetos de Arquitetura de Processadores

Visão Geral da Seção: Nesta parte, são abordados os diferentes projetos de arquitetura de processadores ao longo do tempo e como essas variações impactam o desempenho.

Ciclos de Execução e Desempenho Variável

  • O número de ciclos para executar cada instituição pode influenciar significativamente o desempenho, levando a resultados distintos dependendo da abordagem adotada em cada projeto.

Evolução das Arquiteturas

  • A linhagem do ARM nos processadores é destacada, sendo amplamente utilizado em sistemas embarcados atualmente, juntamente com o surgimento do Spark e outros processadores empregados em servidores.

Complexidade das Instruções e Tecnologia

  • A transição da arquitetura CISC para RISC é mencionada, ressaltando que mesmo empresas tradicionais como a Intel não seguem mais estritamente a filosofia CISC devido aos avanços tecnológicos e capacidade expandida das memórias.

Impacto nas Estratégias de Desempenho

Video description

Curso de Engenharia de Computação Disciplina EIC-001 - Organização de Computadores Univesp - Universidade Virtual do Estado de São Paulo Professora responsável: Cíntia Borges Margi