Você está na página 1de 44

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Campus Sertão

Arquitetura de Computadores

Aula 2: Princípios da Arquitetura de Computadores


Before we start...

Imagine que você quer construir uma casa. O que você precisa
definir primeiro?

Arquitetura de Computadores 2
Before we start...

Imagine que você quer construir uma casa. O que você precisa
definir primeiro?
1) Quantas pessoas vão usar a casa?
2) Quantos quartos serão necessários?
3) Os banheiros vão ter água quente?
4) Vai ter piso aquecido?
5) Vai ter lareira?
6) Quantos ar condicionados vão ter?

Arquitetura de Computadores 3
Before we start...

Imagine que você quer construir uma casa. O que você QUER
na casa? O que vamos definir primeiro?
1) Quantas pessoas vão usar a casa?
2) Quantos quartos serão necessários?
3) Os banheiros vão ter água quente?
4) Vai ter piso aquecido?
5) Vai ter lareira?
6) Quantos ar condicionados vão ter?

Essas são as definições (visíveis) que o Arquiteto vai estabelecer

Arquitetura de Computadores 4
Próxima fase?

Já definimos o que QUEREMOS que a casa tenha. Como


colocar em prática?

Arquitetura de Computadores 5
Próxima fase?

Já definimos o que QUEREMOS que a casa tenha. Como


colocar em prática?
1) Onde vou colocar a fiação elétrica para não atrapalhar?
2) Onde vou colocar as tomadas?
3) Como vou instalar o piso aquecido?
4) Qual o tamanho do chaminé da lareira?
5) Qual o dimensionamento do ar condicionado?
6) Qual o tipo de aquecimento da água para os banheiros?

Arquitetura de Computadores 6
Próxima fase?

Já definimos o que QUEREMOS que a casa tenha. Como


colocar em prática?
1) Onde vou colocar a fiação elétrica para não atrapalhar?
2) Onde vou colocar as tomadas?
3) Como vou instalar o piso aquecido?
4) Qual o tamanho do chaminé da lareira?
5) Qual o dimensionamento do ar condicionado?
6) Qual o tipo de aquecimento da água para os banheiros?

Essas são as definições (não-visíveis) que o Engenheiro vai estabelecer

Arquitetura de Computadores 7
Próxima fase?

Já definimos o que QUEREMOS que a casa tenha. Como


colocar emArquiteto
prática? vai Engenheiro vai
definir como as
1) definir o que a
Onde vou colocar a fiação elétrica para não atrapalhar?
2) Onde vou colocar as tomadas? coisas serão
casa precisa ter
3) Como vou instalar o piso aquecido? construídas
4) Qual o tamanho do chaminé da lareira?
5) Qual o dimensionamento do ar condicionado?
6) Qual o tipo de aquecimento da água para os banheiros?

Essas são as definições (não-visíveis) que o Engenheiro vai estabelecer

Arquitetura de Computadores 8
Próxima fase?

Já definimos o que QUEREMOS que a casa tenha. Como


colocar emArquiteto
prática? vai Engenheiro vai
definir como as
1) definir o que a
Onde vou colocar a fiação elétrica para não atrapalhar?
2) Onde vou colocar as tomadas? coisas serão
casa precisa ter
3) Como vou instalar o piso aquecido? construídas
4) Qual o tamanho do chaminé da lareira?
5) Qual o dimensionamento do ar condicionado?
6) Qual o tipo de aquecimento da água para os banheiros?
Com computadores,
é a mesma coisa J
Essas são as definições (não-visíveis) que o Engenheiro vai estabelecer

Arquitetura de Computadores 9
Arquitetura vs Organização

Arquitetura Organização (Engenharia)


Descreve as funcionalidades fornecidas pelo Descreve como as funcionalidades são
sistema: implementadas:
§ Instruções disponíveis (ISA) § Interconexões entre módulos
§ Tamanho dos dados (bits) § Unidades operacionais
§ Registradores utilizáveis § Sinais de controle
§ Métodos de endereçamento de § Tecnologia da memória
memória

Arquitetura de Computadores 10
Arquitetura vs Organização

Arquitetura Organização (Engenharia)


Descreve as funcionalidades fornecidas pelo Descreve como as funcionalidades são
sistema: implementadas:
§ Instruções disponíveis (ISA) § Interconexões entre módulos
§ Tamanho dos dados (bits) § Unidades operacionais
§ Registradores utilizáveis § Sinais de controle
§ Métodos de endereçamento de § Tecnologia da memória
memória

Informações visíveis ao usuário Informações invisíveis ao usuário

Arquitetura de Computadores 11
Arquitetura vs Organização

Arquitetura Organização
É definida primeiro já que estabelece as Tem que “se virar” para implementar a
funcionalidades: arquitetura:
§ Vai ter instrução de multiplicação? § Multiplicação serial ou paralela?
§ Palavras de 32 ou 64 bits? § Quantas ALUs?
§ Aritmética de ponto fixo ou flutuante? § Tamanho da memória cache?
§ Arquitetura tipo RISC ou CISC? § Qual a frequência de clock?

Arquitetura de Computadores 12
Arquitetura vs Organização

Arquitetura Organização
É definida primeiro já que estabelece as Tem que “se virar” para implementar a
funcionalidades: arquitetura:
§ Vai ter instrução de multiplicação? § Multiplicação serial ou paralela?
§ Palavras de 32 ou 64 bits? § Quantas ALUs?
§ Aritmética de ponto fixo ou flutuante? § Tamanho da memória cache?
§ Arquitetura tipo RISC ou CISC? § Qual a frequência de clock?

Indica qual o tipo de HW deverá ser Define a performance do computador ao


usado executar tarefas
Arquitetura de Computadores 13
Arquitetura vs Organização

Arquitetura Organização
É definida primeiro já que estabelece as Tem que “se virar” para implementar a
Na prática, uma depende
funcionalidades: arquitetura: da outra J
§ Vai ter instrução de multiplicação? § Multiplicação serial ou paralela?
Evolução de tecnologia
§ Palavras de 32 ou 64 bits? § Quantas ALUs?
§ Aritmética de ponto fixo ou flutuante? § Tamanho da memória cache?
§ Arquitetura tipo RISC ou CISC? § Qual a frequência de clock?

Evolução de arquitetura E organização


Indica qual o tipo de HW deverá ser Define a performance do computador ao
usado executar tarefas
Arquitetura de Computadores 14
Estrutura de um computador

Arquitetura de Computadores 15
Estrutura de um computador
Todo computador possui três
elementos principais:

Dispositivos de Entrada/Saída (E/S)


• Trocam dados entre o
computador e o ambiente
• Ex: Teclado, mouse, monitor

Memória principal (RAM)


• Guardam os dados e as
instruções dos programas
em execução

Unidade Central de Processamento


• Controla a operação do
computador e realiza o
processamento de dados
Arquitetura de Computadores 16
Estrutura de um computador
O CPU é dividido em 3 grandes partes:

Registradores (Regs)
• Memória interna do
processador de acesso rápido
• Visíveis ao programador

Unidade Lógica e AritméAca (ALU)


• Parte operacional de execução
das instruções
• Ex: Soma, mulJplicação,
comparação, etc.

Unidade de Controle (UC)


• Controla a operação interna
do CPU e sinais de controle

Arquitetura de Computadores 17
Estrutura de um computador
A Unidade de Controle é o cérebro
do processador:

Lógica de sequência
• Determina qual a sequência
que as operações internas
são executadas

Registradores de UC
• Registradores especiais de
controle de execução
• Ex: PC, IR

Memória de controle
• Memória de microprogra-
mação
• Raramente usada hoje
Arquitetura de Computadores 18
Tá, mas e qual a relação com meu PC?
Placa-mãe: Fornece os barramentos de
comunicação do sistema.
• Conecta o processador à memória
RAM
• Fornece os barramentos para
conectar os disposi:vos de E/S:
• Exemplos: SATA, PCI-e, USB, etc

Arquitetura de Computadores 19
Tá, mas e qual a relação com meu PC?

Processador: possuem vários


processadores internos (multicore)
• Cada CORE é um CPU independente

Normalmente os cores são idênticos:


• Intel, AMD à cores idênticos
• ARM, etc à podem misturar cores
de mesma arquitetura, porém de
organização diferentes

Arquitetura de Computadores 20
Okay, mas como tudo se liga?

Vimos que o computador tem:


• Memória
• Processador
• Dispositivos de Entrada e Saída

Mas e como usamos isso?

Arquitetura de Computadores 21
Okay, mas como tudo se liga?

Vimos que o computador tem:


• Memória
• Processador
• Dispositivos de Entrada e Saída

Mas e como usamos isso?

Precisamos de um programa composto de instruções


carregado na memória para manipular informações

Arquitetura de Computadores 22
So, let’s dive into definitions

Instrução: comando que o processador executa (ling. de máquina)


Operação que será executada sobre operandos

Arquitetura de Computadores 23
So, let’s dive into definitions

Instrução: comando que o processador executa (ling. de máquina)


Operação que será executada sobre operandos

Segue o formato: OPERAÇÃO OPERANDOS


• OPERAÇÃO: função a ser executada
(normalmente na ALU)
• OPERANDOS: indica onde pegar os dados que
serão usados

Arquitetura de Computadores 24
So, let’s dive into definitions

Instrução: comando que o processador executa (ling. de máquina)


Operação que será executada sobre operandos

Segue o formato: OPERAÇÃO OPERANDOS


• OPERAÇÃO: função a ser executada
(normalmente na ALU)
• OPERANDOS: indica onde pegar os dados que
serão usados
O conjunto de instruções que o processador entende
é a Instruction Set Architecture (ISA)
Arquitetura de Computadores 25
Just for fun: exemplos de instruções
Instruções de movimentação de dados:
MOV R5, #45 // Salva R5 no endereço 45
LI R10, 4096 // Carrega o valor 4096 no R10
Instruções aritméticas:
ADD R2, R5, R10 // Soma R5 com R10 e salva em R2
MUL R5, R8, #50 // Multiplica R8 com valor no end. 50
Instruções lógicas:
ANDI R12, R8, 1 // Faz E lógico entre 1 e R8, salva R12
Instruções de controle:
BEQ R1, R2, 4001 // Se R1=R2, pula para o end. 4001
Arquitetura de Computadores 26
Algumas definições

Programa: é uma sequência pré-determinada de instruções


O programa e os dados são carregados na memória

Arquitetura de Computadores 27
Algumas definições

Programa: é uma sequência pré-determinada de instruções


O programa e os dados são carregados na memória

Raramente os programas são criados diretamente


em linguagem de máquina

Código de alto nível à Compilador à Código de máquina

Arquitetura de Computadores 28
Algumas definições

Programa: é uma sequência pré-determinada de instruções


O programa e os dados são carregados na memória

Raramente os programas são criados diretamente


em linguagem de máquina

Código de alto nível à Compilador à Código de máquina

O programa SÓ PODE CONTER instruções da ISA

Arquitetura de Computadores 29
Just for fun 2: Exemplo de programa
Programa escrito em alto nível Linguagem de máquina,
(linguagem C, por exemplo)
conteúdo que estará na
se (valor1 != valor2) { memória
resultado = valor1 + 4; 00010001000010010000000000000011
} senão { 00100001000100100000000000000100
resultado = valor2 - 3; 00001000000000000000000000001000
} 00100001001100101111111111111100
start:
beq $t0, $t1, if_else
addi $s2, $t0, 4 Montador
Compilador
j end_func
if_else:
addi $s2, $t1, -3
end_func:
Linguagem Assembly, baseada
na ISA do processador
Arquitetura de Computadores 30
A comida do Chrome: memória

Memória: é o componente que armazena dados e instruções


É organizada em posições, como uma folha numerada

Arquitetura de Computadores 31
A comida do Chrome: memória

Memória: é o componente que armazena dados e instruções


É organizada em posições, como uma folha numerada

Cada elemento é uma palavra e são acessados por


um endereço

Arquitetura de Computadores 32
A comida do Chrome: memória

Memória: é o componente que armazena dados e instruções


É organizada em posições, como uma folha numerada

Cada elemento (ou célula) é uma palavra e são


acessados por um endereço
Existem diversos modos de endereçamento para
organizar o acesso à memória

Arquitetura de Computadores 33
Como a memória é organizada?

Uma memória pode ter n endereços equivalentes às células


Logo, os endereços vão de 0 até n-1

Arquitetura de Computadores 34
Como a memória é organizada?

Uma memória pode ter n endereços equivalentes às células


Logo, os endereços vão de 0 até n-1
Cada célula de memória tem k bits de largura
Com k bits, cada célula pode conter um valor entre 0 e 2k-1
Todas as células têm, obrigatoriamente, o mesmo tamanho

Arquitetura de Computadores 35
Como a memória é organizada?

Uma memória pode ter n endereços equivalentes às células


Logo, os endereços vão de 0 até n-1
Cada célula de memória tem k bits de largura
Com k bits, cada célula pode conter um valor entre 0 e 2k-1
Todas as células têm, obrigatoriamente, o mesmo tamanho
A capacidade (C) de uma memória é dada por C = k x n

Arquitetura de Computadores 36
Como a memória é organizada?

Uma memória pode ter n endereços equivalentes às células


Logo, os endereços vão de 0 até n-1
Cada célula de memória tem k bits de largura
Com k bits, cada célula pode conter um valor entre 0 e 2k-1
Todas as células têm, obrigatoriamente, o mesmo tamanho
A capacidade (C) de uma memória é dada por C = k x n

Então, como decidir o valor de k e n?

Arquitetura de Computadores 37
Como a memória é organizada?

Exemplo:
Memória de 96 bits

Arquitetura de Computadores 38
Como a memória é organizada?

Mais endereços
Palavras mais curtas
Barramento menor
Menos dados acessados por requisição

Exemplo:
k=8
Memória de 96 bits
n = 12
Arquitetura de Computadores 39
Como a memória é organizada?

k = 12 Exemplo:
n=8 Memória de 96 bits

Arquitetura de Computadores 40
Como a memória é organizada?

Menos endereços
Palavras mais largas
Barramento maior
Mais dados acessados por
requisição

k = 16 Exemplo:
n=6 Memória de 96 bits

Arquitetura de Computadores 41
Como isso funciona no meu computador?

Lembre-se: os valores de k e n são independentes!

}
1) Memória com 212 células de 8 bits à 32 kbits Ambas precisam
endereços de 12
2) Memória com 212 células de 64 bits à 262 kbits bits

Arquitetura de Computadores 42
Como isso funciona no meu computador?

Lembre-se: os valores de k e n são independentes!

}
1) Memória com 212 células de 8 bits à 32 kbits Ambas precisam
endereços de 12
2) Memória com 212 células de 64 bits à 262 kbits bits

A célula da memória é a menor unidade endereçável


Por muito tempo, as células eram de 1 byte (8 bits)
Hoje, as células possuem palavras de mais de 1 byte
Um computador de 32 bits trabalha com 4 bytes/palavra
enquanto aqueles de 64 bits operam com palavras de 8 bytes
As memórias hoje normalmente trabalham com palavras de 64 bits

Arquitetura de Computadores 43
Resumindo...

Computador é dividido em 3 grandes partes:


Processador
Memória
Dispositivos de entrada e saída

O computador deve executar um programa carregado na


memória
Programa é composto por várias instruções
Instrução diz o que o processador deve fazer

Arquitetura de Computadores 44

Você também pode gostar