1. Qual a diferena entre uma arquitetura sequencial e uma arquitetura
pipeline? Modelo Sequencial: Uma nova instruo s pode ser iniciada quando a execuo da instruo anterior terminar; logo, apenas uma instruo por vez estar em execuo. Modelo Pipeline: No modelo pipeline, quando um estgio da instruo anterior termina, este j pode ser iniciado na prxima instruo, tornando possvel que vrias instrues estejam em execuo ao mesmo tempo. A diferena que, na estrutura sequencial, a prxima instruo precisa aguardar que a atual termine, enquanto na arquitetura pipeline elas podem ser executadas em simultneo, cada qual num estgio. 2. Qual o princpio da tcnica de pipeline? E como ele chamado? O princpio poder iniciar uma nova tarefa antes que o resultado para a tarefa anterior tenha sido gerado. Esta atividade de busca de nova instruo antes da concluso da anterior conhecido como pr-busca (pre-fetch). 3. Como obter mais produtividade em um sistema que utiliza a tcnica de pipeline? Para que o sistema seja mais rpido e produtivo, a CPU deve ser construda com mais estgios; pois quanto maior a quantidade de estgios, mais superposies podem ser feitas, ocorrendo assim um aumento da velocidade. 4. Qual a estratgia utilizada para controlar a transferncia de dados entre os estgios de pipeline? Explique-a. O uso de registradores que, ao final de um ciclo, cada estgio armazena no registrador informaes que sero usadas pelo estgio posterior no ciclo seguinte. Exemplo: 1 Estgio o No final do ciclo C, o estgio de busca armazena no registrador B/D o cdigo da instruo i. 2 Estgio o No ciclo C+1, o estgio de decodificao l o registrador B/D e decodifica o cdigo da instruo i. o No final do ciclo, o estgio de decodificao escreve no registrador D/E as informaes contidas no cdigo da instruo. 3 Estgio o No ciclo C+2, o estgio de execuo l o registrador D/E, obtendo os operandos fonte da instruo i. o No final do ciclo, o estgio de execuo escreve no registrador E/R o resultado da operao realizada 4 Estgio o No ciclo C+3, o estgio de resultado l o registrador E/R e escreve o resultado da instruo i no conjunto de registradores de dados, completando a execuo da instruo. 5. Qual a funo da Unidade de Controle na seo de processamento com pipeline? A UC comanda a atividade de cada estgio do pipeline, bem como a leitura dos registradores de pipeline.
6. Quais as principais limitaes encontradas, atualmente, para o
aumento do nmero de estgios em um sistema que utiliza a tcnica de pipeline? Custo, complexidade de controle e implementao de circuitos. 7. Quais so as mtricas utilizadas para medir o desempenho da arquitetura pipeline em um sistema? Latncia, vazo, fator de acelerao e eficincia. 8. Represente graficamente um pipeline de 4 estgios para a execuo de 6 instrues. Os estgios do pipeline so: Nome dos estgios Busca da instruo Decodificao Execuo Armazenamento do resultado
Tempo de cada estgio
consome 2 unidades de tempo consome 1 unidade de tempo consome 3 unidades de tempo consome 1 unidade de tempo
Observando a representao grfica do pipeline criado responda:
a) Em que momento (entre quais unidades de tempo) o pipeline possui todos os seus estgios preenchidos? Entre as unidades de tempo 6 e 7. b) Quantas unidades de tempo forma necessrias para a execuo completa das 6 instrues? Foram necessrias 22 unidades de tempo. c) Indique os valores do fator de acelerao e de eficincia desse pipeline? O fator de acelerao de 0,5 e de eficincia de 2,75. Para auxiliar na criao da representao grfica do pipeline, vejam o modelo abaixo: Nome dos estgios Tempo de cada estgio Busca da instruo consome 1 unidades de tempo Decodificao consome 1 unidade de tempo Endereo do operando consome 1 unidades de tempo Busca do operando consome 1 unidade de tempo Execuo da instruo consome 2 unidade de tempo
Observem que o estgio de execuo
est consumindo 2 unidades de tempo, nesse sentido, por exemplo, a instruo 2, no poder entre as unidades de tempo 5 e 6 efetuarem a tarefa de execuo da instruo, pois esse estgio ainda est atuando na instruo 1. Verifiquem ainda que isso influncia em todas as outras instrues.
9. Qual a diferena entre latncia unitria e latncia mltipla?
A latncia unitria consome 1 ciclo do estgio de execuo (instrues aritmticas e lgicas), enquanto a latncia mltipla consome vrios ciclos (multiplicao, diviso, ponto flutuante). 10. Associe as colunas abaixo: (a) Hazard de (c) Trata de instrues que para serem executadas Controle dependem de resultados de outras instrues.
(b) Hazard de (a) Trata dos desvios condicionais.
Estrutura (c) Hazard de (b) Trata instrues que no mesmo instante de tempo Dados desejam utilizar um mesmo recurso de hardware.
11. O que uma bolha de pipeline?
A grosso modo, uma trava que atrasa o processamento das instrues seguintes caso alguma tenha prioridade antes, ou se as seguintes tiverem dependncia da instruo corrente. 12. Identifique todos os possveis tipos de dependncia nos exemplos abaixo: MPY R6, R3, R4 SUB R5, R2, R6 ADD R1, R6, R4 Dependncia de fluxo de dados, sada e antidependncia.