1. Arquitetura de Computadores
Professor: Sérgio Vieira
Email: sergiosvieira.fatene@gmail.com
Data: 16-10-2012
Aula: Funcionamento de um sistema de computação
1
2. Introdução
No nível mais alto, um sistema de computação pode ser descrito a partir da
funcionalidade de cada um de seus:
1. Componentes principais
2. Estrutura de interconexão
3. Tipos de sinais trocados entre esses componentes.
2
3. Introdução (cont.)
Neste contexto, o barramento de um sistema de computação possui papel
importantíssimo.
Os componentes principais de um computador (processador, memória principal,
módulos de E/S etc) precisam ser contectados entre si para que possam trocar
dados e sinais de controle.
Isso é feito através de barramentos com múltiplas linhas.
Os sistemas mais modernos usam uma hierarquia para obter melhor
desempenho.
3
4. Introdução (cont.)
Os principais aspectos de projeto de um sistema de barramentos são:
1. Arbitração: a decisão sobre permissões para envio de sinais por meio
das linhas de barramento (centralizado ou distribuído)
2. Temporização: o envio de sinais por meio dos barramentos pode ser
sincronizado por um relógio central ou pode ser feito de maneira
assíncrona.
3. Largura de barramento: o número de linhas de endereço e linha de
dados.
4
5. Introdução (cont.)
Para entender melhor o funcionamento dos barramentos, também é necessário
entender como as instruções de um computador são executadas através da
comunicação dos componentes do computador.
5
6. Componentes de Computador
Praticamente todos os projetos de computadores atuais são fundamentados nos
conceitos desenvolvidos por John von Neumann.
É baseado em três conceitos básicos:
1. Os dados e as intruções são armazenados em uma única memória de
leitura e escrita.
2. O conteúdo dessa memória é endereçado pela sua posição.
3. A execução de instruções ocorre de modo sequencial.
6
7. Componentes de Computador (cont.)
O computador é composto de um pequeno conjunto de componentes lógicos
básicos, que podem ser combinados de vários modos para armazenar dados
binários e executar operações aritméticas e lógicas sobre esses dados.
É possível obter para cada aplicação particular, uma configuração de
componentes lógicos projetada especificamente para executar essa aplicação
(Programa).
7
8. Componentes de Computador (cont.)
Hardware
Dedicado
Sequência de
Dados funções lógicas Resultados
e aritméticas
• Hardware específico para cada aplicação.
8
9. Componentes de Computador (cont.)
Códigos de Instruções
Interpretador de
instruções
Sinais de Controle
Funções lógicas
Dados e aritméticas de Resultados
propósito
geral
• Em vez de projetar um novo hardware para cada aplicação nova, o
programador simplesmente fornece um novo conjunto de sinais de controle.
9
10. Componentes de Computador (cont.)
Um programa é constutuído por uma sequência de passos.
A cada passo executa-se alguma operação lógica ou aritmética sobre algum
dado.
Para cada passo, é necessário um conjunto de sinais de controle.
Pode-se definir um código para cada possível conjunto de sinais de controle.
10
11. Componentes de Computador (cont.)
Acrescenta-se ao hardware de propósito geral um elemento capaz de interpretar
esses códigos e gerar esses sinais de controle correspondentes.
Além desse componentes, outros são necessários para que o computador possa
funcionar.
• Componentes de E/S:
1. Módulo de entrada de dados: recebem dados e instruções e os
converte em uma representação interna.
2. Módulo de saída de dados: enviam dados e instruções aos
dispositivos periféricos.
11
12. Componentes de Computador (cont.)
Uma operação, durante a execução de um programa, pode precisar acessar
mais de uma dados de cada vez. Portante, é necessário armazenar instruções e
dados temporários (Memória ou Memória Principal).
A CPU troca dados com a memória.
Para isso, ela usa registradores internos da CPU.
12
13. • Um registrador de endereço à memória (MAR - memory address
register)
especifica o endereço da memória a ser usado pela próxima
instrução de leitura ou escrita.
• Um registrador temporário de dados (MBR - memory buffer register)
contém um valor a ser gravado na memória ou recebe um valor lido
na memória.
13
14. Componentes de Computador (cont.)
• Registrador de endereçamento de E/S (I/O AR - I/O address register)
detetmina um dispositivo de E/S
• Registrador temporário de dados de E/S (I/O BR - I/O buffer register)
é usado para troca de dados entre um módulo de E/S e a CPU
14
15. Componentes de Computador (cont.)
Um módulo de memória é constituído de um conjunto de posições de memória
identificados por endereços numerados sequencialmente.
Cada posição contém um número binário que pode ser interpretado como uma
instrução ou como um dados.
Um módulo de E/S transfere dados de dispositivos externo para a CPU e para a
memória e vice-versa. Ela contém áreas de armazenamento temporários (guarda
informações até que possam ser enviadas).
15
16. Funções dos Computadores
A função básica desempenhada por um computador é executar um programa
que é constituído de instruções armazenados na memória.
De forma geral, a execução de um programa é realizada em dois passos:
1. O processador lê (busca) instruções na memória.
2. Executa uma instrução por vez.
A execução de uma instrução pode envolver diversas operações.
16
17. Busca e Execução de Instruções
1. O processador busca uma instrução da memória no registrador PC
2. Incrementa o PC depois de cada busca de instrução (próximo endereço de
memória)
3. A instrução buscada é carregada no registrador de instruções (IR). Ela
contém bits que especificam a ação que o processador deve executar.
4. O processador interpreta a instrução e executa a ação executada.
17
18. Busca e Execução de Instruções (cont.)
Em geral, essas ações são classificadas em quatro categorias:
1. Processador-memória: os dados são transferidos.
processador-memória, memória-processador.
2. Processador E/S: transferência de dados entre processador e um
dispositivo periférico através do módulo de E/S.
3. Processamento de dados: execução de operações aritméticas ou
lógicas sobre os dados.
4. Controle: pode modificar a sequência de execução de um programa.
A execução de uma instrução pode envolver uma conbinação dessas ações.
18