1.Função do computador

2.Interconexão do computador

Um computador consiste em MP, CPU e E/S

Interconectados por barramentos(estrutura)

Possibilita função básica do computador:Executar programas

Cada um se comportando de maneira diferente(função)

Essa combinação forma todo o sistema de um computador

Pode ser descrito de 2 formas

Explicando os comportamentos de cada componente(função)

Detalhando a estrutura de interconexão e os controles de uso

Essa visão de alto nível é importante p/ compreender:

Função básica: execução de um programa

Caminhos alternativos

magnitude de falhas do sistema

Gargalos de sistema

Facilidade no acréscimo de melhorias de desempenho

Maneiras de minimizar os gargalos de sistema

Caso ocorra falha em um componente

Os conceitos principais da Arquitetura de Von Neumann se mantêm

Os elementos do computador(E/S,MP,CPU) precisam se comunicar

Instruções armazenadas na memória

Basicamente, consiste em duas etapas: Busca e execução

Ciclo de Busca(fetch)

Ciclo de Execução

Dados e instruções em um única memória de leitura e escrita

Acesso aos dados e instruções na memória c/ uso de endereços


O conteúdo da memória endereçável pela localização

P/ a memória principal, tudo são bytes

Não se considera o tipo de dado ao armazenar

Uma solução: barramentos

Há 3 grupos gerais de barramentos(linhas) funcionais:

A função de interpretar dados é do processador

Elementos do projeto de barramento

Largura do barramento

Método de arbitração

Execução ocorre em padrão sequencial

A menos que seja feito um desvio no fluxo de execução

Ex.:instruções JUMP e CALL

Existem duas possibilidades básicas de prog. em computadores

Programa "hardwired"

Mudança na configuação dos componentes lógicos

Cada configuração possibilita realizar um tipo específico de operação

Mudança no hardware p/ realizar diferentes operações

Uso de sinais lógicos

Cada requisção de calculo é um sinal de controle diferente

É inflexível.

Cada cálculo precisa de uma config. diferente no hardware

A execução e processamento fica c/ o processador

Não necessita fazer alteração na configuração do hardware

Novos programas = novos sinais de controle

Contador de programa(PC) guarda próxima instrução

CPU pega o endereço dado por PC e acessa a instrução

Incremento de PC

Passa instrução carregada p/ Ponteiro de instrução(IP)

Interpretação da instrução

Busca por novas instruções(repete o ciclo)

Uma vez interpretada a instrução, agora será executada

4 categorias de execução de instrução

CPU-E/S

Controle

CPU-Memória

Processamento de dados

Alteração na sequência de execução

Transferência de dados entre memória e processador

Transf. de dados entre processador e E/S

Operação lógica/aritmética sobre os dados

Interrupções podem ocorrer em meio ao processamento

Existem 4 classes gerais de interrupção:

Timer

E/S

Programa

Falha de hardware

Tipo de transferência de dados

Tipo do barramento

É um mecanismo. E ajudam na eficiência do processamento

A CPU pode precisar lidar com múltiplas interrupções

Gerada por um timer dentro do processo

Gerada por alguma condição que ocorre como resultado de uma execução

Gerada por um controlador de E/S

*Ex.: falta de energia

Assim CPU não espera resultado de unidades mais lentas

Focar em outras instruções independentes

Seja para sinalizar uma operação normal ou c/ condições de erro

Ex.:divisão por zero

Com a busca e a execução, temos o ciclo de instrução

Após a primeira execução, processador verifica se há interrupção

Caso não haja interrupções, busca a próxima instrução

Ciclo normal de instrução

Existem técnicas p/ lidar com isso

Se houver interrupção pendente:

O processador suspende a execução atual do programa

Salvar contexto(End. da próx. instrução)

Armazena em PC o end. do tratamento de interrupção

Resolve interrupção e restaura contexto

Retorno para o programa interrompido

Desativar interrupções

Definir prioridades

Barramento de endereço

Barramento de controle

Barramento de dados

Processador ignora completamente outras interrupções até resolver a atual

Atenção a interrupções de alta prioridade

Processador pode até interromper interrupção atual se necessário

Caminho de comunicação que conecta 2 ou mais módulos

O conjunto de barramentos pode se chamar Estrutura de interconexão

Sincronização

Transporta dados

Identifica a origem e destino dos dados

Controle do acesso e uso dos outros barramentos(linhas)

Dedicado

Multiplexado

Centralizado

Distribuido

Sincrona

Assincrona

endereço

Dados

Ler-modificar-escrever

Leitura após escrita

Escrita

Transf. de dados em bloco

Leitura

Linhas separadas p/ dados, endereços e sinais de controle

Linhas compartilhadas

Existência de algo que aloque tempo de barramento

Não existe controlador central

Eventos determinados por sinais de clock

Ocorrência de um evento depende da ocorrência do anterior

Aumento da capacidade de memória endereçável

Impacta desempenho do sistema

"Escravo p/ mestre"

"Mestre p/ escravo"

Módulos conectados no mesmo barramento "ouvem" sinais uns dos outros

Uma espécie de "Broadcasting"

Não há diferença entre dados e instruções neste nivel

O endereço dos dados desejados passa
por aqui

Sinais de controle

Sinais de temporização

Sinais de comando

Transmitem informações de comando e temporização

Indicam a validade da info. de dados e endereço

Especificam operações a serem realizadas

Também costumam ser usadas p/ endereçar portas de E/S

A comunicação entre os componentes não é feita de qualquer maneira

Caso um módulo queira enviar dados p/ outro:

Caso um módulo queira receber dados do outro:

Obter uso do barramento

Transferir os dados por esse mesmo barramento

Obter uso do barramento

Transferir requisição ao outro módulo

Pelas linhas de controle e endereço

Esperar por envio de dados

menos linhas

Controle mais complexo

Requer desempenho máximo

Aos poucos sendo trocados por sistemas de interconexão ponto-a-ponto

Um caminho compartilhado entre somente dois módulos

Sist. de barr. ainda são usados em sistemas embarcados

Máquinas de propósito específico

Flexível, porém mais complexa de implementar

Geralmente, 1 cilo de clock por evento