Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Lista Arquitetura
1-Definir o conceito de pipeline e como este ajuda na melhoria do desempenho do computador.
Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções.
Essa técnica aumenta o número de instruções iniciados e terminados por unidade de tempo.
2. Explicar como as instruções de desvio impactam na utilização de pipeline e as principais técnicas para minimizar esse impacto.
Quando ocorrem desvios, estágios anteriores ao da execução tem que ser apagados. Para minimizar esse impacto, quando uma instrução de desvio condicional é passada do estágio de busca para o de execução, o estágio de busca obtém na memória a instrução imediatamente seguinte à instrução de desvio. Então se não ocorrer desvio, nenhum tempo será perdido. Se ocorrer desvio, a instrução buscada deve ser descartada, sendo buscada uma nova instrução.
3. Comentar a importância de utilizar buffers temporários em associação com o pipeline.
4. Explicar o impacto da utilização do pipeline no número IPC (instructions per cycle) de um processador.
5. Em tese, quanto maior o número de estágios no pipeline, maior será a taxa de execução de instruções. Contudo, na prática, isso não acontece. Explicar os motivos desta constatação prática.
Os motivo são:
• Movimentação de dados de buffer para buffer;
• A quantidade de lógica de controle necessária para lidar com as inconsistências;
• Quanto maior o pipeline maior é a probabilidade de executar uma instrução de desvio.
6. Defina os conceitos de Hazards de recursos, de dados e de controle e comentar as principais formas encontradas na literatura para combater esses Hazards.
Hazard de recursos: Ocorre quando duas ou mais instruções que já estão no pipeline precisam do mesmo recurso.
Geralmente isso é resolvido permitindo que a instrução em execução prossiga, forçando a carga de instrução a esperar. Também pode ser resolvido providenciando dois caminhos de dados separados: um para dados vindos da memória e outro para instruções vindas da memória.
Hazard de dados: ocorre quando há um conflito no acesso de um local de operando. Podemos definir como: duas instruções em um programa estão para ser executados na sequência e ambos acessam um determinado operando de memória ou registrador. Se as duas instruções são executadas em estrita sequência, não ocorre nenhum problema. Contudo se são executadas em um pipeline, o programa produz um resultado incorreto.
Uma das formas de combater é o hardware especial que pode ser adicionado para detectar instruções cujos operandos de origem são destinos para instruções posteriores no pipeline. Algumas arquiteturas abordam este problema deixando o compilador reduzir o conflito.
Hazard de controle: também conhecido como hazard de desvio, acontece quando o pipeline toma uma decisão errada ao prever um desvio e assim acaba trazendo instruções dentro do pipeline que precisam ser descartadas logo em seguida.
Uma série de abordagens foram implementadas para lidar com os hazards de controle:
	Múltiplos fluxos;
	Busca antecipada do alvo do desvio;
	Buffer de loops;
	Previsão de desvios;
	Desvios atrasados.
7. Comente as diferenças entre as técnicas de desvio estáticas e dinâmicas.
Estáticas: não dependem do histórico da execução até o momento da instrução de desvio condicional.
Dinâmicas: dependem do histórico da execução.
8. Enumere as principais técnicas previsão de desvio estática e desvio dinâmica.
Desvio estático:
	Previsão nunca tomada;
	Previsão sempre tomada;
	Previsão por opcode.
Desvio dinâmico:
	Chave tomada/não tomada;
	Tabela de histórico de desvio.
9. Explique como a utilização de um Buffer de laço de repetição é útil para melhorar o desempenho de um processador.
Um buffer de laço de repetição é uma memória pequena e extremamente rápida mantido pelo estágio do pipeline de busca da instrução. O buffer de laço de repetição possui três benefícios:
	Com o uso da busca antecipada, o buffer em questão conterá algumas instruções em sequência na frente do endereço da instrução atual;
	Se um desvio para um alvo estiver apenas algumas posições à frente do endereço da instrução de desvio o alvo já estará no buffer;
	Esta estratégia é bastante adaptada para lidar com laços de repetição ou iterações; Se o buffer de laço de repetição for suficientemente grande para conter todas as instruções de um laço, então estas instruções precisam ser obtidas da memória apenas uma vez, na primeira iteração.
10. Explique por que as interrupções são fornecidas como um modo de melhorar a eficiência do processamento.
	Os dispositivos externos são mais lentos do que o processador;
	É necessário uma pausa para acessar o dispositivo;
	A extensão da pausa pode ser muito longo, o que causa a lentidão do sistema.
11. Explique quais são os requisitos necessários para implementação de um sistema de interrupções em um processador.
	Armazenar qual seria a próxima instrução de usuário a ser executada antes da interrupção;
	Decodificar qual a origem da interrupção para desviar para o código do tratador de interrupção adequado.
12. Liste e defina resumidamente duas técnicas para lidar com múltiplas interrupções.
Processamento de interrupção sequencial:
	Analisa as interrupções sequencialmente(na ordem que aparecem);
	Só processa uma nova interrupção quando as interrupções anteriores já tiverem sido processadas.
Processamento alinhado de interrupções:
	Define uma ordem de prioridade para o processamento das interrupções;
	Uma interrupção de maior prioridade faz com que um tratamento de interrupção com menor prioridade seja interrompido.
13. Quais são as principais funções de um módulo de E/S?
As principais funções são:
	Controle e temporização;
	Comunicação com o processador;
	Comunicação com o dispositivo;
	Armazenamento temporário(buffering);
	Detecção de erro.
14. Por que os periféricos de E/S não se comunicam diretamente ao barramento de sistema?
Os motivos são:
	Grande variedade de periféricos, com diversos métodos de operação;
	A taxa de transferência de dados dos periféricos normalmente é muito mais lenta do que a da memória ou do processador;
	Os periféricos normalmente utilizam formatos de dados e tamanhos de palavras diferentes do que é usado pelo computador ao qual estão conectados.
15. Detalhar, de forma resumida, a estrutura do módulo de E/S.
Registradores de dados: Armazenam os dados transferidos;
Registradores de estado: Oferecem informações do estado atual;
Lógica de E/S: Interage com o processador por meio de um conjunto de linhas de controle;
Lógica específicaà interface com cada dispositivo que ele controla.
16. Liste e defina resumidamente as três técnicas para realizar o acesso à um módulo de E/S.
E/S programada: Os dados são trocados entre o processador e o módulo de E/S. Quando o processador emite um comando ao módulo de E/S, ele precisa esperar até que a operação de E/S termine.E/S controlada por interrupção: O processador emite um comando de E/S, continua a executar outras instruções e é interrompido pelo módulo de E/S quando o último tiver completado seu trabalho.Acesso direto à memória (DMA): Nesse modo, o módulo de E/S e a memória principal trocam dados diretamente sem envolvimento do processador.
17. Qual é a diferença entre E/S mapeada na memória e E/S independente?
ComE/S mapeadana memória, existe um único espaço de endereço para locais de memória e dispositivos de E/S. ComE/S independentea faixa completa de endereços pode estar disponível para ambas.
18. Quando ocorre uma interrupção de dispositivo, como o processador determina qual dispositivo emitiu a interrupção?
	Múltiplas linhas de interrupção;
	Identificação por software;
	Identificação por hardware.
19. Diferenciar as instruções de desvio condicionais e incondicionais e explicar como essas instruções manipulamos valores armazenados no contador de programa.
Desvios condicionais: O desvio é tomado somente se a condição for atendida.
	O valor de PC é atualizado para o operando especificado na instrução, caso contrário, a próxima instrução na sequência é executada e o valor de PC é incrementado normalmente.
Desvios incondicionais: O desvio é sempre tomado.
	O valor de PC é atualizado para o operando especificado na instrução.
20. Explicar, de forma resumida, os seguintes modos de endereçamento: (i) endereçamento direto; (ii) endereçamento imediato; (iii) endereçamento indireto via registradores (iv) endereçamento via registrado base e (v) endereçamento indexado.
(i)Endereçamento direto: O campo de endereço da instrução contém o endereço do operando na memória;
(ii)Endereçamento imediato: O valor do operando é especificado diretamente na instrução;
(iii)Endereçamento indireto via registrador: Endereços referenciam registradores da memória de rascunho, os endereços da memória estão nos registradores referenciados; O campo de endereços é menor que no endereçamento direto, dado que existem apenas poucos registradores na memória de rascunho;
(iv)Endereçamento via registrador base: O registrador base contém um endereço da memória principal e o campo endereço contém um deslocamento desse endereço. A referência ao registrador pode ser explicita ou implícita;
(v)Endereçamento indexado: Endereço é composto por um endereço-base e um registrador de índice, o endereço da memória principal é o obtido pela soma entre endereço-base e valor armazenado no registrador de índice. Para acessar posições contíguas a partir do endereço-base é preciso apenas incrementar o valor do registrador de índice.
21. Diferenciar os conceitos de registradores de propósito geral e registradores de propósito específico. Citar dois registradores de propósito específico, detalhando as suas funções no processador.
Registradores de propósito geral: Armazenam dados e variáveis usadas no programa, podem ser atribuídos pelo programador para uma variedade de funções;
Registradores de propósito específico:Armazenam informações específicas e importantes para o fluxo do programa;
Exemplos: Contador de Programa (PC): Armazena as informações da próxima instrução a ser executada;
Registrador de Instrução: Contém a instrução da instrução que atualmente está sendo executada.
22. Um processador de pipeline tem um taxa de clock de 2,5GHz e executa um programa com 1,5 milhões de instruções. O pipeline possui cinco estágios e as instruções são emitidas numa taxa de uma por ciclo de clock. Ignore penalidades por causa das instruções de desvio e execuções fora de ordem.
f=2,5GHz
q= 1,5 *instruções
K= 5 estágios
	Calcular o fator de aceleração deste processador.
q->∞ ->
b) Qual o rendimento (em MIPS) do processador com pipeline?
MPS = fem um processador com pipeline sempre CPI = 1.
MPS=f= f [MHz]
MPS= 2500;
23. Um processador sem pipeline tem uma taxa de clock de 2,5GHz e um CPI (ciclos por instrução) médio de 4. Uma atualização no processador introduz um pipeline de cinco estágios. No entanto, por causa dos atrasos internos do pipeline, a taxa de clock do novo processador deve ser reduzida para 2GHz.
Processador A: f=2500 MHz Processador B: f= 2000 MHz
CPI=4 CPI= 1 k=5
	Calcular o fator de aceleração deste processador para um programa de 106 instruções?
q=instruções(q->∞)
5= 5 x->5=4
Taxa da diminuição devido a redução do clock.
	Qual a taxa em MIPS para cada processador?
Processador A:
MBS === 625
Processador B:
MBS=== 2000
24. Em um microprocessador típico, um endereço de E/S distinto é usado para se referir aos registradores de dados de E/S e um endereço distinto para os registradores de controle e estado em um controlador de E/S para determinado dispositivo. Esses registradores são conhecidos como portas.
(a) No Intel 8088, dois formatos de instrução de E/S são utilizados. Em um formato, o opcode de 8 bits especifica uma operação de E/S; isso é seguido por um endereço de porta de 8 bits. No outro formato de E/S, o endereço de porta está em um registrador de 16 bits. Quantas portas o 8088 pode endereçar em cada modo de endereçamento de E/S?
Intel 8088
1º modo: (Direto) 2º modo: (Mp via registrador) 
	8 Bits
	8 Bits
	8 Bits
	8 Bits
16 bits
Opcode end.porta opcode end.porta
q == 256 portas q= = 65.536 portas
(b) Um formato de instrução semelhante é usado na família de microprocessadores Zilog Z8000. nesse caso, existe uma capacidade de endereçamento direto de porta, em que um endereço de porta de 16 bits faz parte da instrução, e uma capacidade de endereçamento indireto de porta, em que a instrução referenciaumdosregistadoresdeusogeralde16bits, que contém o endereço da porta. Quantas portas o Z8000 pode endereçar em cada modo de endereçamento de E/S?
1º modo: Direto 2º modo: indireto via registrador
	8 Bits
	16 Bits
Opcode End.Porta
q=

Mais conteúdos dessa disciplina