Teoria Flashcards
Quais das tecnologias de RAID usaria no caso de querer baixar o tempo de acesso ao disco, RAID 0 ou RAID 2?
Para reduzir os tempos de acesso aos discos deve ser usado RAID 0 face a RAID 2, pois, apesar de RAID 0 não ter replicação da informação e ser redundante, RAID 2 é bastante complexo na prática e também lento face aos restantes, isto porque utiliza Error Correcting Code (ECC).
Na coerência de Cache um Shared Memory Multiprocessor (SMP) com Uniform Memory Access (UMA) pode ser conseguido com protocolos Snooping. Quais as duas variantes para estes protocolos?
- Update Protocol - Invalidate Protocol
O que é o Update Protocol?
Copia a informação, não a invalidando, é um optimo e forte protocolo mas gasta muita largura de banda.
O que é o Invalidate Protocol?
Não tem bloqueios e pode ser implementado usando o bit de validade. Se algum processo quiser ler/escrever, invalida todas as copias remotas da Cache quando um bloco é actualizado.
Quais os três tipos de multithreading que existem?
- Course-grain Multithreading - Fine-grain Multithreading - Simultaneous Multithreading (SMT)
Quais são as vantagens do Simultaneous Multithreading (SMT)?
1) Melhora a eficiencia global de CPUs Superscalar com Hardware Multithreading; 2) Permite várias threads independentes serem executadas para uma melhor utilização dos recursos em processadores com arquitecturas mais modernas;
Qual a desvantagem do Simultaneous Multithreading (SMT)?
Redução da performance no caso de algum recurso partilhado ficar entupido.
Qual a vantagem do Course-grain Multithreading?
Troca rápidamente entre threads bloqueadas e aquela que estiver à espera de correr.
Qual a desvantagem do Course-grain Multithreading?
Sobre carga de inicialização entre esvaziar a lista de threads e o começo de uma nova.
Qual a vantagem do Fine-grain Multithreading?
Permite que todos os stalls sejam tratados durante aquele processo singular.
Qual a desvantagem do Fine-grain Multithreading?
Sacrifica significamente a performance das threads singulares dado que uma thread apenas tem que esperar após a execução da próxima instrução e todos os stalls encontrados até aqui serão tolerados e assim é necessário esperar que a instrução acabe.
O que faz o 1-bit Dynamic Branch?
Após descodificar e constatar que é uma instrução de desvio, usam-se os bits menos significativos para decidir se o desvio será tomado ou não. Neste caso pode resultar num aumento do Speedup mas em contra partida podem ocorrer erros e devios. Caso o esquema não seja preciso a performance do CPU pode ser pior.
Qual a técnica de optimização de uma cache que nos permite melhorar o Hit Time?
Diminuir o numero de vias de associatividade (comparadores e tempo de acesso), onde a solução passa por ter blocos e cache mais pequenos.
Qual a técnica de optimização de uma cache que nos permite melhorar o Hit Rate?
Aumentar o numero de vias de associatividade (diminui colisões) o que irá aumentar posteriormente o numero de sucessos.
De que forma é que uma Direct Memory Access (DMA) irá aumentar a performance do CPU?
Com DMA o CPU em primeiro lugar inicializa as transferencias e após isto, faz outras operações em paralelo, por fim recebe um sinal de interrupção da DMA quando essas operações estiverem concluidas. Já sem DMA quando um CPU utiliza um programa I/O tipicamente é ocupado na sua totalidade pela duração de operações R/W sendo assim impossivel de fazer outras operações em paralelo.
Para notificações de completude ou de erro numa transferencia DMA, que método deveria ser considerado neste caso, polling ou interruption?
O melhor método a ser utilizado é o método de interruption, pois recebendo um sinal de interrupção da DMA este é necessário quando as interrupções estiverem acabadas.
O uso de uma DMA pode influenciar qualquer estado de uma Cache?
Uma DMA influencia o estado de uma Cache dado que manipula de forma dinamica a informação em Memória podendo causar incoerência na Cache.