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