Buscar

ORGANIZAÇÃO DE COMPUTADORES semana 3

Prévia do material em texto

ORGANIZAÇÃO DE COMPUTADORES – Semana 2 
Raphael Embelicieri Junior 
 
EXERCÍCIOS DE PORTFÓLIO 
EXERCÍCIO 1 
Sobre a SPEC e benchmarks, responda: 
(a) Nos resultados de benchmarks apresentados para uma arquitetura 
específica, quais fatores que influenciam o desempenho resultante? 
Os benchmarks executam os programas de computador e outras operações, servem para 
avaliar o desempenho dos programas. Influenciam no designer de microprocessadores. Por 
exemplo, se um benchmark extrai os algoritmos chave de uma aplicação, ele conterá 
aspectos de desempenho sensíveis dessa aplicação. Executando isso em um "trecho" muito 
menor em um simulador com ciclos precisos, podem-se obter pistas de como aumentar o 
desempenho do sistema. 
Fatores da arquitetura do CPU/memória que influenciam o seu desempenho: 
 latência de execução de cada instrução: melhora-se com unidades funcionais mais 
rápidas; 
 nº de instruções executadas por unidade de tempo (throughput): melhora-se com 
unidades funcionais encadeadas - pipeline, ou com paralelismo ao nível da instrução, 
superescalaridade; 
 tempo de acesso à memória: melhora-se com hierarquia de memória e introdução 
de cache; 
 largura de banda no acesso à memória: melhora-se com barramentos de dados mais 
largos ou com a introdução de acesso encadeado (pipeline), que no caso de acesso à 
memória se designa de interleaving. 
(b) Quais os tipos de benchmarks propostos pela SPEC? 
SPECspeed: conjunto de programas usado para comparar a habilidade de um computador 
para completar tarefas simples. 
SPECrate: medem o rendimento ou a taxa de eficiência de uma máquina ao realizar algumas 
tarefas. 
SPECcloud: medem o desempenho das plataformas de nuvem pública ou privada, projetado 
para salientar o provisionamento, bem como aspectos de tempo de execução de uma 
nuvem usando E/S e cargas de trabalho de computação em nuvem intensiva. 
 
 (c) Qual a métrica de desempenho usada pela SPEC? Como é calculada? 
 A SPEC utiliza-se de SPECucp que mede a vazão de UCP, velocidade de acesso a cache e 
memória e eficiência do compilador e consiste em duas partes: 
SPECint: conjunto de programas de teste que avaliam o desempenho do processador em 
aritmética de inteiros. 
SPECfp: conjunto de programas de teste que avaliam o desempenho do processador em 
operações de ponto flutuante. 
Calculado: 
 
Os resultados (vazão do sistema) obtidos na execução destes programas são reportados 
como uma razão entre o tempo que o sistema demorou para executar o kernel e o tempo 
que uma máquina de referência (da SPEC) leva para executar o mesmo kernel. 
 
EXERCÍCIO 2 
Explique a evolução do desempenho de computadores ao longo da história, 
contextualizando a Lei de Moore e seu impacto, estratégias e limites 
tecnológicos, como a barreira de energia. 
Gordon E. Moore, fez sua profecia, na qual o número de transistores dos chips teria um 
aumento de 100%, pelo mesmo custo, a cada período de 18 meses. Essa profecia tornou-se 
realidade e acabou ganhando o nome de Lei de Moore. 
Inovações na eletrônica permitem diminuição da carga capacitiva, assim o ganho de 
tecnologia aumenta a potencia dissipada, com o aumento da velocidade, aumenta também 
o consumo de energia e a dissipação de calor. 
O limite tecnológico se da pelos altos custos de pesquisa e consumo de energia fazendo com 
que esta lei, esteja chegando ao fim. 
 
Seus componentes são: 
-Memória 
-Unidade aritmética e lógica (ALU) dentro desta unidade existe o acumulador 
-Unidade central de processamento 
-Unidade de controle 
 
Estas instruções são executadas num único barramento de memória. 
Modelo de Harvard: 
 
Apresentam características parecidas com a de Newman , porem a grade diferença se 
distingue das outras por possuir duas memórias diferentes e independentes em termos de 
barramento e ligação ao processador, uma memória exclusiva para memória de instrução e 
outra para os dados 
 
Também apresentam características similares como ALU 
Unidade de controle 
I/O (entrada e saída) 
(Característica adicional): 
Memória de programa 
Memória de dados 
 
EXERCÍCIO 3 
Compare a Arquitetura de Von Neumann com a Arquitetura Harvard. 
 
A Arquitetura de von Neumann (de John von Neumann), é uma arquitetura de computador 
que se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no 
mesmo espaço de memória que os dados, podendo assim manipular tais programas. 
A máquina proposta por Von Neumann reúne os seguintes componentes: uma memória, 
uma unidade aritmética e lógica (ALU), uma unidade central de processamento (CPU), 
composta por diversos registradores, e uma Unidade de Controle (CU), cuja função é a 
mesma da tabela de controle da Máquina de Turing universal: buscar um programa na 
memória, instrução por instrução, e executá-lo sobre os dados de entrada. 
Cada um dos elementos apresentados é realizado à custa de componentes físicos 
independentes, cuja implementação tem variado ao longo do tempo, consoante a evolução 
das tecnologias de fabricação, desde os relés electromagnéticos, os tubos de vácuo (ou 
válvulas), até aos semicondutores, abrangendo os transistores e os circuitos eletrônicos 
integrados, com média, alta ou muito alta densidade de integração (MSI – medium scale, LSI 
– large scale, ou VLSI – very large scale integration), medida em termos de milhões 
transistores por pastilha de silício. 
As internações entre os elementos exibem tempos típicos que também têm variado ao 
longo do tempo, consoante as tecnologias de fabricação. Atualmente, as CPUs processam 
instruções sob controlo de relógios cujos períodos típicos são da ordem de 1 nano segundo, 
ou seja, 10 ? 9 segundos. As memórias centrais têm tempos típicos de acesso da ordem da 
dezena de nano segundos. As unidades de entrada e saída exibem tempos típicos 
extremamente variáveis, mas que são tipicamente muito superiores à escala do nano 
segundo. Por exemplo, os discos duros exibem tempos da ordem do milissegundos 
(milésimo de segundo, 10 ? 3). Outros dispositivos periféricos são inertes, a não ser que 
sejam ativados por utilizadores humanos. Por exemplo, ao se fazer “copy and paste” não 
nota-se nada do que foi descrito acima, pois um teclado só envia informação para o 
computador após serem pressionada as devidas teclas. Assim, este dispositivo se comunica 
com a CPU eventualmente e, portanto, exibe tempos indeterminados. 
A Arquitetura de Harvard baseia-se em um conceito mais recente que a de Von-Neumann, 
tendo vindo da necessidade de por o microcontrolador para trabalhar mais rápido. É uma 
arquitetura de computador que se distingue das outras por possuir duas memórias 
diferentes e independentes em termos de barramento e ligação ao processador. 
Baseia-se na separação de barramentos de dados das memórias onde estão as instruções de 
programa e das memórias de dados, permitindo que um processador possa acessar as duas 
simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de von 
Neumann, pois pode buscar uma nova instrução enquanto executa outra. 
A principal vantagem desta arquitetura é dada pela dupla ligação às memórias de dados e 
programa (código), permitindo assim que o processador leia uma instrução ao mesmo 
tempo em que faz um acesso à memória de dados. 
 
A arquitetura Havard também possui um repertório com menos instruções que a de Von-
Neumann, e essas são executadas apenas num único ciclo de relógio. 
Os microcontroladores com arquitetura Havard são também conhecidos como 
“microcontroladores RISC” (Computador com Conjunto Reduzido de Instruções), e os 
microcontroladores com uma arquitetura Von-Neumann, de “microcontroladoresCISC” 
(Computador com um Conjunto Complexo de Instruções). 
A diferença entre a arquitetura Von Neunmann e a Harvard é que a última separa o 
armazenamento e o comportamento das instruções do CPU e os dados, enquanto a anterior 
utiliza o mesmo espaço de memória para ambos. Nos CPUs atuais, é mais comum encontrar 
a arquitetura Von Neunmann, mas algumas coisas da arquitetura Harvard também são 
vistas. 
Nessas distintas arquiteturas, temos vantagens e desvantagens, como pode-se observar a 
seguir: Arquitetura tipo Harvard: Caminhos de dados e de instrução distintos, dessa forma, 
seus componentes internos têm a seguinte disposição. 
Já na arquitetura Von-Neumann, é processada uma única informação por vez, visto que 
nessa tecnologia, execução e dados percorrem o mesmo barramento, o que torna o 
processo lento em relação à arquitetura Harvard. 
Essa é a tecnologia mais utilizada nos PC’s e microcontroladores, pois proporcionam maior 
velocidade de processamento, pois enquanto a CPU processa uma informação, outra nova 
informação está sendo buscada, de forma sucessiva. 
 
 
 
 
 
 
 
EXERCÍCIO 4 
Explique e compare as organizações de CPU: acumulador, pilha, memória- 
memória, memória-registradora, registrador (load-store). 
 
A Arquitetura de Pilha é a mais simples possível, onde os dados necessários para a execução 
das operações pela ULA (unidade lógica e aritmética) são provenientes de registradores 
especiais organizados na forma de uma pilha e toda operação é realizada entre o registrador 
que indica o Topo de Pilha (apontado pelo registrador) e o registrador seguinte. Esse 
conjunto de instruções é muito simples porque a Unidade de Controle nunca precisa 
decodificar a instrução para saber quais registradores serão utilizados nas operações lógicas 
e aritméticas. Sempre será o topo da pilha e o registrador seguinte. 
 
Já na arquitetura baseada em Acumulador uma complexidade é adicionada. Um dos dados 
vem sempre do registrador Acumulador, mas o outro é mais livre vindo da memória, mas 
poderia vir de um outro registrador designado na instrução. Neste caso, a instrução a ser 
decodificada pela Unidade de Controle precisará trazer de onde vem o segundo dado a ser 
utilizado, já que o primeiro é sempre proveniente do Acumulador. 
 
Depois, a terceira arquitetura mais complexa é chamada Arquitetura Load/Store ou 
Registrador-Registrador, onde todas operações lógicas e aritméticas executadas pela ULA 
são provenientes de dois registradores a serem determinados pela instrução. A única forma 
de acessar dados da memória é através de duas instruções especiais: LOAD, para ler da 
memória e STORE para escrever o conteúdo de um registrador na memória. 
 
Finalmente, a mais complexa arquitetura é a Registrador-Memória. Esta arquitetura permite 
que a ULA execute operações lógicas e aritméticas envolvendo ao mesmo tempo um 
registrador indicado pela instrução e um conteúdo proveniente da memória. Esse tipo de 
instrução deve então trazer, em seu conteúdo, o código do registrador a ser utilizado e o 
endereço de memória do segundo dado.

Continue navegando