Você está na página 1de 14

Escola de Engenharia

Universidade Federal de Minas Gerais (UFMG)


ELT123 - Arquitetura e Organização de Computadores

Tópico 2: Arquitetura (Conceitos iniciais)

Prof. Jhonattan Cordoba Ramirez


Roteiro

• Introdução
• Linguagem assembly
Introdução
• Visão que tem o programador do computador
• Definido por instruções e localização dos operadores.
• Linguagem utilizada para codificar instruções no nível da
Nível de aplicação
Programas arquitetura:
(Software)

Sistema Controladores
de
operacional
dispositivos
Linguagem MIPS - ASSEMBLY
Arquitetura Registrador
de instruções • Assembly é um formato de instruções entendível pelos
humanos.
• Linguagem de maquina é um formato legível pelos
computadores.
Introdução

Unidade de Unidade de Instruções e


Caminho de
controle de controle de caminho de
dados
hardware hardware dados

Memoria de
Instruções da
Dados da cache controle para o Cache
cache
micro programa

Instruções Dados Dados

Memoria principal Memoria principal

RISC – Computador com conjunto de CISC – Computador com conjunto de


instruções reduzidas instruções complexas
Introdução

CISC – Computador com conjunto de instruções complexas

Computador onde conjunto de instruções únicas, podem executar varias instruções de baixo nível.

•A lógica de decodificação de instruções será Complexa.


•Uma instrução é necessária para suportar vários modos de endereçamento.
•Menos espaço no chip é suficiente para registradores de uso geral para as instruções que 0 são
operadas diretamente na memória.
•Vários projetos CISC são configurados com dois registradores especiais para o ponteiro de pilha,
tratamento de interrupções, etc.
•MUL é referido como uma “instrução complexa
Introdução

RISC – Computador com conjunto de instruções reduzidas

Computador onde comandos simples que podem ser divididos em várias instruções que atingem a
operação de baixo nível dentro de um único ciclo

•O RISC utiliza modos de endereçamento simples e instruções de comprimento fixo para pipelining.
•Separa as instruções “LOAD” e “STORE”.
•O RISC contém um grande número de registradores.
•No RISC, o Pipelining é fácil, pois a execução de todas as instruções será feita em um intervalo de
tempo uniforme, ou seja, um clique.
•No RISC, mais RAM é necessária para armazenar instruções em nível de montagem.
•Instruções reduzidas precisam de um número menor de transistores no RISC.
Introdução

• Arquitetura de computadores é um conjunto de regras e métodos que descrevem a funcionalidade,

organização e implementação de sistemas de computador.

• Arquitetura do conjunto de instruções (ISA - Instruction Set Architecture): O ISA define o

código de máquina que um processador lê, por exemplo, o tamanho das palavras, hierarquia

de memória, os modos de endereço de memória, os registros do processador, os tipos de

dados, etc.

• Microarquitetura: Também conhecido como ORGANIZAÇÃO DE COMPUTADORES e

describe como um processador vai implementar a ISA.

• Projeto de sistema (System Design): Inclui todos os outro componentes de hardware dentro

do sistema computacional
Introdução

• Ciclo de Instrução (Ciclo Busca-Execução ou ciclo de maquina)

• Busca da instrução (Instruction Fetch).

• Decodificação da instrução corrente e cálculo do endereço de memória da próxima

instrução.

• Busca dos operandos (Operand Fetch) ou cálculo do endereço dos operandos.

• Execução da operação representada pela instrução.

• Armazenamento do resultado em um endereço de memória


Introdução

• Simplicidade favorece regularidade


Princípios para o desenho de arquiteturas • Faça o caso comum rápido
proposto por Hennessy e Patterson: • Menor é mais rápido
• Um bom design exige bons compromissos
Instruções: Adição e Subtração

Adição

Código em Código em linguagem


linguagem C MIPS Assembly
𝑎𝑎 = 𝑏𝑏 + 𝑐𝑐; 𝑎𝑎𝑎𝑎𝑎𝑎 𝑎𝑎, 𝑏𝑏, 𝑐𝑐

add: Mnemônico indica operação para executar.


b, c: Operandos de origem (nos quais a operação é
executada).
a: Operando de destino (em que o resultado é escrito)
Instruções: Adição e Subtração

Subtração

Código em Código em linguagem


linguagem C MIPS Assembly
𝑎𝑎 = 𝑏𝑏 − 𝑐𝑐; 𝑠𝑠𝑠𝑠𝑠𝑠 𝑎𝑎, 𝑏𝑏, 𝑐𝑐

Princípio para o desenho 1 (simplicidade favorece regularidade)


Formato de instrução consistente
Mesmo número de operandos (duas fontes e um destino)
Mais fácil de codificar e manusear em hardware
Instruções múltiplas
Princípio para o desenho 2 (faça o caso comum rápido)
Um código mais complexo é manipulado
• O MIPS inclui apenas instruções simples e comumente
por várias instruções MIPS.
usadas
• Hardware para decodificar e executar instruções pode ser
Código em linguagem C simples, pequeno e rápido
• Instruções mais complexas (menos comuns) são realizadas
𝑎𝑎 = 𝑏𝑏 + 𝑐𝑐 − 𝑑𝑑; usando várias instruções simples
• O MIPS é um computador com conjunto de instruções
Código em linguagem MIPS Assembly reduzido (RISC), com um pequeno número de instruções
simples
𝑎𝑎𝑎𝑎𝑎𝑎 𝑡𝑡, 𝑏𝑏, 𝑐𝑐 #𝑡𝑡 = 𝑏𝑏 + 𝑐𝑐
𝑠𝑠𝑠𝑠𝑠𝑠 𝑎𝑎, 𝑡𝑡, 𝑑𝑑 #𝑎𝑎 = 𝑡𝑡 − 𝑐𝑐 • Outras arquiteturas, como o x86 da Intel, são computadores
de conjunto de instruções complexas (CISC)
Operandos: Registradores
• O MIPS tem 32 registros de 32 bits
• Registros são mais rápidos que a memória
Onde estão localizados fisicamente os
operandos no computador? • MIPS chamado de “arquitetura de 32 bits” porque opera em
Registradores dados de 32 bits

Memorias • Registradores:
• $ antes do nome
Constantes, também chamadas imediatos.
• Exemplo: $0, “registro zero”, “cifrão zero”
• Registrador é usado para propósitos específicos

Código em linguagem C Código em linguagem MIPS Assembly

𝑎𝑎 = 𝑏𝑏 + 𝑐𝑐; 𝑎𝑎𝑎𝑎𝑎𝑎 $𝑠𝑠𝑠, $𝑠𝑠𝑠, $𝑠𝑠𝑠 # $𝑠𝑠𝑠 = 𝑎𝑎; $𝑠𝑠𝑠 = 𝑏𝑏; $𝑠𝑠𝑠 = 𝑐𝑐

Princípio para o desenho 3 (menor é mais rápido)


O MIPS inclui apenas um pequeno número de registros
Operandos: Registradores

Você também pode gostar