Transcript

EVOLUÇÃO E DESEMPENHO DO

COMPUTADOR 1o Semestre de 2015

Professor Flávio Godoy Corrêa

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

EXEMPLO : Usando a mesma maquina hipotética do exemplo anterior e a lista de opcodes citada abaixo, deve-se mostrar a execução da seguinte instrução.1° Carregar o valor da memória 800 (0004);2° Adicionar AC com o valor da memoria 810 (0003);3° Armazenar no dispositivo de E/S 2;OBS: Levar em consideração que o PC inicial é 250

0001 = Carrega AC da memória0010 = Armazena AC na memória 0101 = Adiciona da memória em AC0011 = Carregar ac de E/S0110 = Armazena AC em um dispositivo E/S

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

INTERRUPÇÕES

Os computadores oferecem um meio de interrupção de processamento do processador para que os módulos como E/S e memória possam interromper a sequência de processamento normal.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Abaixo estão algumas interrupções mais comuns :•Programa:– Overflow aritmético, divisão por zero.

•Timer:– Gerado por timer dentro do processo. Permite que o

sistema operacional realiza certas funções regurlarmente.•E/S:– Do controlador de E/S.

•Falha de hardware:– Falta de energia.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

As interrupções foram desenvolvidas primeiramente para melhorar a eficiência do processador, pois o processador é muito mais rápidos que periféricos ligados ao computador.Uma maneira de entender esta melhora na eficiência e verificar uma comunicação de um processador com uma impressora usando o esquema de ciclo de instrução.Isto mostra que a cada ciclo de escrita o processador iria permanecer ocioso ate que a impressora o alcance.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

CICLO DE INTERRUPÇÃO

Este ciclo será adicionado ao ciclo de instrução, com isto o processador verifica a existência ou não de uma interrupção, por meio de um sinal de interrupção.Com isto se não houver interrupção o processador busca a próxima instrução.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Caso exista uma interrupção pendente o processador vai executar os seguintes passos:

•Suspende a execução do programa atual•Salva seu contexto, isto constitui em salvar o endereço da próxima instrução a ser executada e quaisquer outros dados relevantes a atividade que esta sendo executada pelo processador;•Define PC para o endereço inicial da rotina de tratamento da interrupção.•Executa a interrupção;•Retoma a execução do programa no ponto de interrupção;

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Com isto o ciclo de instrução para a ficar da seguinte maneira.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

INTERRUPÇÕES MULTIPLAS

Até o momento verificamos apenas a ocorrência de uma interrupção, mas podem existir casos de ocorrerem múltiplas interrupções.

Exemplo : o programa pode estar recebendo dados de uma linha comunicação e imprimindo os resultados.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Podemos utilizar duas técnicas para lidar com este tipo de interrupção.

•Interrupção Desabilitada

•Definir Prioridades

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

INTERRUPÇÃO DESABILITADA

Este modelo desativa as interrupções enquanto estiver executando um rotina de interrupção, isto significa que o processador ignorará qualquer sinal de requisição de interrupção.Estas interrupções ignoradas ficarão pendentes e serão verificadas após o termino do processamento da primeira interrupção.As interrupções são tratadas em ordem de acontecimento.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

DEFINIR PRIORIDADES

Esta técnica define prioridades para as interrupções e faz com que interrupções de maior prioridade sejam tratadas antes das interrupções com menos prioridades.Isto quer dizer que interrupções com uma prioridade mais baixa são interrompidas para o tratamento de interrupções com maior prioridade, após o termino da interrupção com maior prioridade o processador volta a executar a interrupção com menor prioridade.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

FUNÇÃO DE E/S

Até o momento falamos muito do computador como processador e as interações com a memória, apenas comentamos sobre E/S.Devemos ver que E/S tem uma execução semelhante a de leitura/escrita de uma memória, o processador verifica o endereço especificado e faz a leitura ou a escrita do dado em um módulo de E/S

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Mas pode acontecer também casos onde é permitido as trocas de E/S diretamente com a memória, nestes casos o processador concede ao módulo de E/S a autoridade de ler ou escrever na memória, isto faz com que o processador fique livre.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

ESTRUTURA DE INTERCONEXÃO

Como já foi visto o computador basicamente é composto de três componentes, por este motivo é necessário existir caminhos para a conexão destes componentes.Estes caminhos que conectam os componentes é chamado de estrutura de interconexão.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Cada conexão será diferente, isto irá depender do tipo de componente que esta conexão irá ligar.

MemóriaProcessadorEntrada/Saída

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

CONEXÕES DE MEMÓRIA

Como podemos ver no diagrama anterior :

•Recebe e envia dados •Recebe endereços de Locais•Recebe sinais de controle

LeituraEscrita

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

CONEXÕES DE ENTRADAS/SAÍDAS

•Semelhante a memória do ponto de vista do computador •Saída

Recebe dados do computador Envia dados ao periféricos

•EntradaRecebe dados do periférico Envia dados ao computador

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

CONEXÕES DA CPU

•Lê instruções e dados•Escreve dados•Envia sinais de controle a outras unidades•Recebe interrupções

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

INTERCONEXÃO DE BARRAMENTOS

Existem alguns sistemas de interconexão possíveis, mas a estrutura de barramento é a mais encontrada.Um barramento é o caminho para existir a comunicação entre dois ou mais dispositivos.A principal característica de um barramento é que ele é um meio de transmissão compartilhado, isto quer dizer que vários componentes podem estar conectados a ele.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Caso um sinal seja transmitido neste tipo de barramento qualquer dispositivo conectado a ele esta disponível para recebe-lo.Outro detalhe importante é caso dois dispositivos transmitam ao mesmo tempo, isto fará com que os seus sinais fiquem sobrepostos, por este motivo apenas um dispositivo por vez pode usar o barramento para transmissão.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Basicamente o barramento é composto por múltiplos caminhos ou linhas, esta linhas são capazes de transmitir sinais que representam o binário 1 ou 0.Se usarmos varias linhas de barramento juntas, podemos transmitir dígitos binários simultaneamente.

EXEMPLO: Se queremos transmitir dados de 8 bits, deveremos usar para transmissão 8 linhas de barramento

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

BARRAMENTO DE DADOS

É o caminho para a movimentação de dados entre os módulos do sistema.Este barramento pode ser constituído de diversas linhas separadas, sendo que a quantidade destas linhas é conhecida como largura de barramento de dados.Esta largura de barramento é um determinante para o desempenho geral do sistema.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

EXEMPLO

A largura do barramento de dados é de 32 bits e cada instrução do sistema tem o tamanho de 64 bits, isto faz com que o processador tenha de acessar duas vezes o módulo de memória, durante cada ciclo.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

BARRAMENTO DE ENDEREÇO

Este barramento é usado para indicar a origem ou o destino dos dados contidos no barramento de dados.As linhas destes barramentos também são usada para endereçar portas de E/S.A largura deste barramento determina a capacidade máxima de memória possível do sistema

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

BARRAMENTO DE CONTROLE

São usados para controlar o acesso e o uso dos barramento de dados e de endereço, pois os barramentos são compartilhados por todos módulos existentes.Neste barramento são transmitidos sinais de controle (comando e sincronização).•Comando especificam operações a serem realizadas•Sincronização Indica a validade da informação de dados e endereços.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

BARRAMENTO DE CONTROLE

São usados para controlar o acesso e o uso dos barramento de dados e de endereço, pois os barramentos são compartilhados por todos módulos existentes.Neste barramento são transmitidos sinais de controle (comando e sincronização).•Comando especificam operações a serem realizadas•Sincronização Indica a validade da informação de dados e endereços.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

OPERAÇÃO DE UM BARRAMENTO

Caso um módulo deseje enviar dados para outro, ele irá fazer 2 ações:•Obter o uso do barramento•Transferir dados por meio do barramento

Caso um módulo quiser requisitar dados de outro:•Obter o uso do barramento•Transferir uma requisição ao outro modulo•Depois ele precisa esperar que este módulo envie os dados

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

PROBLEMAS DE BARRAMENTO ÚNICO

Como pode existir muitos dispositivos conectados ao barramento, isto implica em queda do desempenho, basicamente por 2 motivos:

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

• Quanto mais dispositivos ligados ao barramento, maior será o tamanho do barramento, com isto acontecerá um maior atraso na propagação;

• Barramento pode se tornar um gargalo com o aumento da demanda de transferência de dados, chegando próximo a sua capacidade máxima, esse problema pode ser combatido aumentando a taxa de dados que o barramento pode transportar, usando barramentos mais largos. (32 bits para 64 bits).

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Para solucionar estes problemas a maioria dos sistemas opta por usar múltiplos barramentos.

Estes múltiplos barramentos são dispostos em um hierarquia e normalmente tem a seguinte estrutura:Barramento local conecta o processador a uma memória cache e que pode aceitar um ou mais dispositivos locais. Barramento do Sistema esta conectado a memória cache e as memórias principais, este barramento também esta conectado a uma interface de expansãoBarramento de expansão onde podem ser ligados alguns periféricos, rede, etc.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

ELEMENTOS DE PROJETO DE BARRAMENTOTIPOS DE BARRAMENTO

Existem 2 tipos básicos de linhas de barramento, dedicado e multiplexado

•Dedicado são linhas dedicadas a cada função (separadas para dados e endereço;•Multiplexado as linhas de barramentos são compartilhadas ( dados e endereço)

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

O barramento multiplexado necessita de menos linhas, o que implica na obrigação de menos espaço, porem necessita de um maior controle dentro de cada modulo.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

METODO DE ARBITRAÇÃO

Mesmo nos sistemas mais simples, mais de um módulo pode necessitar do controle do barramento, para isto é necessário existir um método de arbitração.Podemos classificar os métodos em 2 classes:

•Centralizados •Distribuídos

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

CENTRALIZADAUm único dispositivo de hardware controlando o acesso ao barramento, pode ser um modulo separado ou fazer parte do processador.

DISTRIBUIDANão existe controlador central, cada módulo contem uma logica de controle de acesso e os módulos atuam juntos para controlar o barramento.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Não importando o método de arbitração utilizada a finalidade é designar um dispositivo mestre e um dispositivo escravo.Onde o mestre irá iniciar uma transferência de dados (leitura ou escrita) com algum outro dispositivo escravo.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

TEMPORIZAÇÃO

TEMPORIZAÇÃO SINCRONA a ocorrência de algum evento no barramento é determinada por um clock.No barramento de controle irá ter uma linha de clock na qual será transmitida uma sequencia regular de 1 e 0 alternados, com a mesma duração.Um única transmissão com 1-0 é conhecida como ciclo de clock.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

TEMPORIZAÇÃO ASSINCRONA a ocorrência de algum evento em um barramento segue e depende da ocorrência do evento anterior.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

Se o sistema estiver trabalhando com a temporização síncrona, todos os dispositivos estrão trabalhando presos a uma taxa de clock fixa, podendo não tirar proveito dos avanços tecnológicos no desempenho dos dispositivos, já com a temporização assíncrona uma mistura de dispositivos lentos e rápidos pode compartilhar o barramento.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR

LARGURA DE BARRAMENTO

Já foi dito que a largura do barramento de dados tem um impacto sobre o desempenho do sistema, quanto mais largo o barramento, maior o numero de bits transferidos de uma vez.O barramento de endereçamento tem um impacto direto sobre a capacidade do sistema, quanto mais largo, maior o intervalo de locais que podem ser referenciados.

VISÃO DE ALTO NIVEL DA FUNÇÃO E INTERCONEXÃO DO COMPUTADOR