Upload
lucas-azevedo
View
4
Download
0
Embed Size (px)
DESCRIPTION
Apostila arquitetura básica
Citation preview
Universidade Federal do Rio de JaneiroBacharelado em Ciência da Computação
Organização Básica do Computador
Gabriel P. Silva
Arquitetura de Computadores I
Ementa
Unidade 2: Organização Lógica e Funcional de uma UCP2.1 Modelo Von-Neumann2.2 Modelo de Barramento de Sistema2.3 Processador 2.3.1 Unidade Artimética e Lógica 2.3.2 Registradores 2.3.3 Apontador de Instruções 2.3.4 Registrador de Instrução 2.4 Unidade de Controle 2.4.1 Unidade de Controle Microprogramada 2.4.2 Unidade de Controle Direto por Hardware2.5 Ciclo de Busca de Instruções2.6 Tipos de Arquitetura2.7 Operandos 2.7.1 Inteiros 2.7.2 Ponto Flutuante 2.7.3 Alinhamento na Memória 2.7.4 Ordenação Big Endian e Little Endian2.8 Modos de Endereçamento2.9 Sinal de Relógio (Clock)
● Introduziu o conceito do computador controlado por programa armazenado.
● Todo computador é formado por 5 partes básicas: a memória principal, a unidade lógica e aritmética, a unidade de controle e os dispositivos de entrada e saída.
● As operações a serem realizadas pelo computador são definidas pelos dados e instruções do programa carregado na memória.
● Maiores detalhes em http://goo.gl/AAPlKP
Modelo de Von Neumann
Modelo de Von Neumann
MEMÓRIA
ENTRADA SAÍDAARITMÉTICA
LÓGICA
UNIDADE DE CONTROLE
Modelo de Von Neumann
● A unidade aritmética e lógica é a parte do computador onde são feitas as operações aritméticas e lógicas com os dados.
● O tipo de operação a ser executado é determinado por sinais vindos da unidade de controle.
● A memória é onde ficam armazenados os dados e instruções que vão ser utilizados pela UAL e pela unidade de controle.
● Os dados a serem operados são lidos dos dispositivos de entrada para a memória.
● Os resultados obtidos são enviados para a memória e daí para os dispositivos de saída de dados.
Modelo de Barramento de Sistema
● É um refinamento do modelo de Von Neumann e possui o processador (que integra ULA, registradores e unidade de controle), memória e unidade de entrada/saída.
● Os registradores são elementos de memória colocados junto da ULA para armazenamento de valores temporários.
● A comunicação entre as diversas unidades é feita através do barramento de sistema, que é composto pelos barramentos de endereço, dados e controle.
● Em algumas arquiteturas pode haver também barramentos adicionais conectados à unidade de entrada/saída, chamados de barramentos de entrada/saída.
Modelo de Barramento de Sistema
PROCESSADOR MEMÓRIA
Controle
Barramento de Endereço
Barramento de Dados
ENTRADA E
SAÍDA
Barramento de Sistema
Diagrama da Placa de Computador
Exemplo de Placa de Computador
Entrada/Saída
● A unidade de entrada e saída contém os circuitos de interface necessários para prover a comunicação entre os dispositivos de ENTRADA e SAÍDA com as demais partes do computador.
● Toda a informação é convertida de/para o formato binário pela unidade de entrada/saída.
● Exemplos de dispositivos de entrada/saída são o disco rígido, teclado, terminal de vídeo, mouse, impressora, entre outros.
Memória Principal
● A unidade de memória principal é formada pela memória volátil e pela memória não volátil.
● As informações armazenadas na memória volátil podem ser alteradas durante a execução de um programa. São também usadas para armazenar os resultados intermediários e finais das operações realizadas pelo processador.
● A memória não volátil é usada para armazenar informações que não necessitam ser alteradas no decorrer do processamento. É utilizada para iniciar o funcionamento do computador, realizando os testes iniciais e cópia do sistema operacional para a memória.
● A memória volátil recebe o nome de memória principal e a memória não volátil é conhecida como BIOS nos computadores baseados no IBM/PC.
Processador
● É o conjunto da unidade lógica e aritmética, registradores e da unidade de controle.
● Sua função é executar os programas armazenados na memória principal, buscando suas instruções, examinandoas, e então executando uma após a outra.
● O processador é responsável pela realização de uma série de funções: Busca de instruções e dados na memória. Programa a transferência de dados entre a memória e os
dispositivos de entrada/saída. Decodifica as instruções. Realiza as operações lógica e aritméticas. Responde a sinais enviados por dispositivos de entrada/saída
como RESET ou interrupções.
Processador
Arquitetura Interna do Processador
Unidade Aritmética e Lógica
● A Unidade Aritmética e Lógica pode realizar diversas operações.
● A seguir citamos algumas delas: Adição Subtração Operações lógicas:
E, OU, XOR, INVERSÃO, etc. Deslocamento (à esquerda e à direita) Comparação Desvios Multiplicação Divisão
Unidade Aritmética e Lógica
● A largura, em bits, do operando de maior tamanho que pode ser utilizado em uma única operação na U.A.L. define a largura da arquitetura (8, 16, 32 ou 64 bits).
Registradores
● O processador contém elementos de memória, de pequena capacidade mas de alta velocidade, usados para armazenar resultados temporários, chamados de registradores.
● O conjunto desses registradores é denominado banco de registradores.
● Os registradores são referenciados explicitamente pelas instruções lógicas, aritméticas e de transferência de dados.
● Existe um registrador invisível ao programador, chamado de registrador de instrução (RI), que armazena a instrução que está sendo executada.
● Existe um registrador especial denominado apontador de instruções (PC), que contém o endereço da próxima instrução que vai ser executada.
U.A.L. e Banco de Registradores
Unidade de Controle
● A unidade de controle é responsável pela coordenação da atividade de todos os componentes do processador.
● Ela busca a instrução na memória e coloca no registrador de instruções (RI).
● A unidade de controle faz a decodificação da instrução que está no RI: Determina qual o tipo de operação vai ser realizada pela U.A.L. Determina quantos e quais são os operandos de leitura, e qual o
registrador de destino, se houver. Lê os operandos necessários para a execução da instrução e os
coloca na entrada da U.A.L. ● A unidade de controle lê o resultado da saída da U.A.L.
e envia para o destino correto.
Unidade de Controle
● Há duas formas de se implementar a unidade de controle:
Através de microprogramação Controle direto pelo hardware (PLA, ROM)
● As unidades de controle microprogramadas são características das arquiteturas do tipo CISC.
● O controle diretamente pelo hardware é encontrado normalmente nas arquiteturas do tipo RISC.
Unidade de Controle Microprogramada
Registra
dor de In
struçõe
s
Gerador de Endereço Inicial e de
Desvios
Códigos de
Condição
Apontador de Micro Instruções (µPC)Relógio
Microprograma
Palavra de Controle
Unidade de Controle Direto pelo Hardware
Registra
dor de Instruçõe
s
Lógica deControle
(PLA)
Códigos de
Condição
Relógio
Palavra de Controle
Ciclo de Busca de Instruções
● O processador executa uma instrução em uma série de etapas:
1) Busca a próxima instrução que está localizada na memória para o registrador de instrução;
2) Atualiza o apontador de instruções (PC) para que ele aponte para a próxima instrução a ser executada.
3) Determina o tipo de instrução e o número de operandos;4) Busca os operandos, se houver, para os registradores do
processador;5) Executa a instrução; 6) Armazena os resultados;7) Volta ao passo 1 para executar a próxima instrução.
Tipos de ArquiteturaC:=A+B:
Operandos Inteiros
Operandos em Ponto Flutuante
Alinhamento
01234567
4
1
Palavra alinhada (endereço múltiplo de 4).
Palavra não alinhada (endereço múltiplo de 1).
2
Palava não alinhada (endereço múltiplo de 2).
Aumento dosEndereços
Ordenação01234567
Aumento dosEndereços
0 (LSB)123 (MSB)
Ordenação Littleendian (byte com endereço menor
é colocado no byte menos significativo da palavra)
3 (MSB)210 (LSB)
Ordenação Bigendian (byte com endereço menor
é colocado no byte mais significativo da palavra)
4
Ordenação
Ordenação
Ordenação
Modo Exemplo Significado (RTL)Imediato add r4, r4, #3 R4←R4+3Registrador add r4, r4, r3 R4←R4+R3Direto add r1, (1001) R1←R1+M[1001]Indireto add r4, (r1) R4←R4+M[R1]Deslocamento ld r4, 100(r1) R4← MEM[100+R1]Indexado add r3, (r1+r2) R3←R3+M[R1+R2]
Modos de Endereçamento
● Na sintaxe na coluna em linguagem de montagem os parenteses ( ) indicam acesso à memória.
● Na sintaxe RTL à direita, [ ] denota acesso a um elemento de um vetor, com a Memória.
Modos de Endereçamento
imedImediato
Registrador reg
Campo da Instrução
ModoBanco de
RegistradoresMemória
Indireto reg
Direto ender
Deslocamento reg imed+
endereço “base”
deslocamento
Modos de Endereçamento
Campo da Instrução
ModoBanco de
RegistradoresMemória
Indexado reg1 reg2+
deslocamento
IndiretoVia Memória reg
endereço “base”
Banco de Registradores
(R0 R31)
U.A.L.
RD
RS1 RS2
32 32
RDM
RI
#RS1
#RS2
#RD
UNIDADE DE CONTROLE
INS
TR
UÇ
ÃO
DA
DO
S
6
5
5
5
PC
EN
DE
RE
ÇO
16
4
Endereçode Desvio
RD = RS1 oper R2
oper
32
32+
Barramentode Dados
Barramentode Endereço
REM
EN
DE
RE
ÇO 32
32
Sinal de Relógio (Clock)
Sinal de Relógio (Clock)
● O processador tem seu funcionamento sincronizado por um sinal elétrico periódico denominado relógio.
● O relógio cadencia a execução das instruções em suas diversas fases.
● Quanto mais rápido (maior a frequência) for o sinal de relógio, mais rápido as intruções, e por consequência os programas, serão executadas.
● Os componentes básicos do processador (portas lógicas, flip-flops, etc.) limitam a frequência máxima que o relógio pode ter.