Organização e Arquitetura de Computadores

Propaganda
Organização e Arquitetura de
Computadores
INTRODUÇÃO
Organização e arquitetura de Computadores
●
●
A Arquitetura de Computadores trata do comportamento
funcional de um sistema computacional, do ponto de vista do
programador (ex. tamanho de um tipo de dados – 32 bits para
um inteiro).
A Organização de Computadores trata da estrutura interna que
não é visível para o programador (ex. freqüência do relógio ou
tamanho da memória física).
Organização e arquitetura de Computadores
●
●
Arquitetura são os atributos visíveis ao programador.
– Conjunto de instruções, número de bits usados para
representação de dados, mecanismos de E/S, técnicas de
endereçamento.
– Por exemplo, existe uma instrução de multiplicação?
Organização é como os recursos são implementados.
– Sinais de controle, interfaces, tecnologia de memória.
– p.e., existe uma unidade de multiplicação no hardware ou
ela é feita pela adição repetitiva?
Organização e arquitetura de Computadores
O que é um Computador?
• Um computador é uma máquina eletrônica lógica
• Programável
– Programa
• Instruções
• Representável por uma hierarquia de níveis de abstração
(Tanenbaum)
– Microeletrônica (mais baixo)
– Sistema Operacional (mais alto)
Níveis de Abstração
LINGUAGEM DE ALTO NÍVEL
LINGUAGEM ASSEMBLY (ASSEMBLER)
GERÊNCIA DE SISTEMA E INTERFACE DE USUÁRIO
CONJUNTO DE INSTRUÇÕES
INTERPRETADOR EM FIRMWARE
UNIDADES LÓGICAS COMBINACIONAIS E
SEQUENCIAIS
CARACTERÍSTICAS FÍSICAS, MALHA DE
TRANSISTORES
Organização e arquitetura de Computadores
Organização de um Computador
• Modelo de Von Neumann (1945)
– Concito de programa armazenado
– Separação da Unidade Aritmética e de Controle
– Utilização de barramentos e registradores
– Hardware de entrada e saída (I/O)
Organização e arquitetura de Computadores
Organização e arquitetura de Computadores
Organização e arquitetura de Computadores
• Memória: Conjunto de posições/locações endereçáveis
• Palavras: Posição/locação da memória, Contém
dados e instruções
• Palavra: Unidade básica de transferência de/para memória.
• Palavras são localizadas através de um endereço
• Dados, instruções e endereços são codificados em binário
Organização e arquitetura de Computadores
• Programa é uma seqüência de instruções, colocadas numa
seqüência de endereços
• A execução de um programa corresponde à execução
seqüencial de suas instruções
• A seqüência das instruções é definida de forma dinâmica em
tempo de execução
– Existência de instruções de controle de fluxo
Organização e arquitetura de Computadores
Computador IAS - um dos primeiros computadores a carregar programas e
dados na mesma memória.
• Programa é uma seqüência de instruções, colocadas numa
seqüência de endereços
• A execução de um programa corresponde à execução
seqüencial de suas instruções
• A seqüência das instruções é definida de forma dinâmica em
tempo de execução
– Existência de instruções de controle de fluxo
Organização e arquitetura de Computadores
Um buffer de memória Register (MBR) é o registro no processador
de um computador, ou unidade central de processamento, CPU,
que armazena os dados que estão sendo transferidos de e para o
store.It acesso imediato contém a cópia de localizações de
memória designados especificados pelo MAR.It atua como um
tampão permitindo que as unidades de processador e memória
para agir de forma independente, sem ser afetado por pequenas
diferenças na operação. Um item de dados serão copiados para o
MBR pronto para utilização no ciclo de relógio seguinte, quando
ele pode ser quer utilizado pelo processador para leitura ou escrita
ou armazenado na memória principal após ter sido escrito.
Este registo contém o conteúdo da memória que está a ser
transferido a partir da memória para outros componentes, ou viceversa. Uma palavra a ser armazenado deve ser transferido para o
MBR, de onde segue para o local específico da memória, e os
dados a serem processados aritméticas no ULA primeiro passa
para MBR e, em seguida, para registo acumulado, e, em seguida,
é transformado no ULA .
Organização e arquitetura de Computadores
MBR
O Registrador de Buffer de Memória (Memory Buffer
Register), ou Registrador Temporário da Memória, é um
registrador utilizado para armazenar temporariamente os
dados que foram lidos da memória ou dados que serão
escritos na memória.
Para escrever um dado na memória, o computador deve
colocar o dado no registrador MBR, o endereço da palavra
na qual o dado deve ser armazenado no registrador MAR e,
por fim, enviar sinais de controle para a memória realizar a
operação de escrita.
Assim sendo, os registradores MAR e MBR, juntamente
com os sinais de controle enviados pela unidade de
controle, formam a interface da memória com o restante do
computador.
Organização e arquitetura de Computadores
MQ
O Acumulator e o Quociente de Multiplicação (Multiplier
Quotient) são registradores temporários utilizados para
armazenar operandos e resultados de operações lógicas e
aritméticas.
Por exemplo, a instrução que realiza a soma de dois
números (ADD) soma o valor armazenado no registrador
AC com um valor armazenado na memória e grava o
resultado da operação no registrador AC.
Organização e arquitetura de Computadores
IR
O Registrador de Instrução (Instruction Register), ou
registrador de instrução, armazena a instrução que está
sendo executada no momento.
O circuito de controle da unidade de controle lê e interpreta
os bits deste registrador e envia sinais de controle para o
resto do computador para coordenar a execução da
instrução.
Organização e arquitetura de Computadores
IBR
O Registrador de Buffer de Instrução (Instruction Buffer
Register) serve para armazenar temporariamente uma
instrução.
O IAS busca instruções da memória em pares - lembre-se
de que uma palavra da memória (de 40 bits) contém duas
instruções (de 20 bits).
Dessa forma, quando o IAS busca um par de instruções, a
primeira instrução é armazenada diretamente em IR e a
segunda em IBR.
Ao término da execução da primeira instrução (em IR), o
computador move a segunda instrução (armazenada em
IBR) para IR e a executa.
Organização e arquitetura de Computadores
PC
O Contador de Programa (Program Counter) armazena um
valor que representa o endereço da memória que possui o
próximo par de instruções a serem executadas.
No início, quando o computador é ligado, o conteúdo deste
registrador é zerado para que a execução de instruções se
inicie a partir do endereço zero da memória.
Organização e arquitetura de Computadores
MAR
O Registrador de Endereço de Memória (Memory Address
Register) armazena um valor que representa um endereço
de uma palavra da memória.
Este endereço será lido pela memória durante a operação
de leitura ou escrita de dados.
Download