Buscar

Tema 10-TEXTO para ESTUDO ANTES DA AULA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CURSO: CIÊNCIA DA COMPUTAÇÃO 
DISCIPLINA: ARQUITETURA DE COMPUTADORES 
TEMA 10: Processadores-p3-Arquiteturas Atuais-Risc x Cisc 
 
 
TEXTO PARA APOIO AO ESTUDO (estudo antes da atividade em sala) 
 
I - INTRODUÇÃO 
 
No texto anterior iniciamos o estudo e descrição dos principais aspectos de organização e funcionamento dos 
processadores. Naquele texto abordamos uma parte do assunto: 
 
• Organização 
• O que é uma Instrução de Máquina e como é executada (Ciclo de Instrução) 
• Os componentes básicos necessários para realização do Ciclo de Instrução 
• Alguns aspectos de execução de programas 
 
Em todos esses itens foi abordada uma estrutura individual, isto é, um único processador realizando as etapas do ciclo de 
instrução. Nesse texto, ainda sobre processadores serão mostrados outros tipos, que envolvem processadores com maior 
desempenho e teremos então aapresentação de aspectos sobre: 
 
• Processamento com Paralelismo 
 
Por fim, será mostrada uma breve comparação entre dois padrões de arquiteturas (não uma arquitetura específica, mas 
um padrão): 
 
• Arquiteturas CISC x RISC 
 
II – PROCESSAMENTO COM PARALELISMO 
 
Nesse item serão abordados alguns aspectos relativos a diversas formas de paralelismo em computação, especificamente 
no projeto e funcionamento de processadores. Todos essas formas de simultaneidade em computação (em última 
análise, paralelismo significa fazer coisas simultâneas) tem um único objetivo: 
 
AUMENTAR A CAPACIDADE DE PROCESSAMENTO, ISTO É, ELEVAR O DESEMPENHO DO SISTEMA. 
 
Desde muito tempo atrás, (pode-se dizer que a partir da década de 1980), a evolução das arquiteturas, impulsionadas, por 
um lado, pela demanda por mais capacidade e velocidade dos sistemas de computação e, por outro lado, pelas facilidades 
decorrentes da miniaturização, que a verdade da lei de Moore permitia, vem sendo acentuada graças à redução da espessura 
dos transistores e de novas criações da imaginação dos projetistas. 
 
A necessidade de computação em grande escala vem crescendo sempre devido a: 
 (1) ao advento do uso de várias mídias, como vídeo, imagens e som, não só em transmissão (Internet) como em 
armazenamento e processamento; 
(2) devido à necessidade de processamento rápido de vastíssimos volumes de dados, como em meteorologia, prospecções 
geológicas (de petróleo, gás, etc.) e pesquisas médicas, além de uma infindável série de outras aplicações de grande demanda 
de processamento. Resumindo os exemplos: 
 
- metereologia 
- simulação em grande escala 
- biomedicina 
- prospeção de petróleo 
- física quântica 
- energia nuclear (fins pacíficos e militares) 
 
Considerando-se apenas UM processador, pode-se fazer algumas observações: 
 
Desde aproximadamente 2003 o “clock” dos processadores tem oscilado entre 3GHz e 4,5GHz. Além disso, a atual 
tecnologia de litografia de fabricação utiliza, geralmente, espessura de 14 nm (nanômetros) e até 10 nm. Já há 
fabricantes indo para 7 nm. 
 
Desde aproximadamente 2003 o “clock” dos processadores tem oscilado entre 3GHz e 4,5GHz. Além disso, a atual 
tecnologia de litografia de fabricação utiliza, geralmente, espessura de 14 nm (nanômetros) e até 10 nm. Já há 
fabricantes indo para 7 nm. 
 
SOLUÇÃO DESENVOLVIDA PARA AUMENTAR DESEMPENHO DOS SISTEMAS DE COMPUTAÇÃO: 
Utilização de processamento simultâneo, ou seja, realizar paralelismo, de diversas formas. 
 
Um exemplo típico, na realização de operações aritméticas, Suponha ter que executar 10 operações aritméticas 
independentes uma das outras. Suponha que, cada uma delas gasta 1 seg de execução. 
 
Caso 1 – Tem-se apenas 1 calculadora. 
Nesse caso, serão dispendidos 10 segundos para realizar o total das operações, já que deverão ser feitas uma por 
uma. Processamento sequencial, escalar. 
 
Caso 2 – Tem-se 10 calculadoras 
Nesse caso, será dispendido 1 segundo para realizar o total das operações, já que serão realizadas simultâneamente, 
uma em cada calculadora. Total da operação, em 1/10 do tempo total do caso 1. 
 
A ideia do paralelismo é, sem dúvida, a de acelerar o início e a conclusão da execução das instruções de máquina (das 
operações do hardware). Naturalmente, em nossa vida cotidiana temos inúmeros exemplos do aumento de produtividade 
de alguma atividade qualquer através do uso de paralelismo, como as avenidas, que possuem mais do que uma pista, 
permitindo a passagem de mais de um veículo por vez (simultaneamente); dos bancos, que possuem mais de um caixa para 
atender mais de uma pessoa ao mesmo tempo, e assim por diante. 
Arquiteturas com paralelismo procuram, então, realizar algum tipo de operações simultâneas, seja em software, seja 
em hardware ou em uma combinação de ambas, como acontece com processamento multinucleo. 
 
Uma das mais conhecidas classificações de processamento não-escalar foi idealizada e divulgada por um pesquisador e 
cientista americano, Michael Flynn, em 1972, antes do surgimento dos primeiros microcomputadores, e se refere à maneira 
como instruções e dados são organizados em um determinado tipo de processamento. 
 
Ele organização sua classificação em 4 tipos de arquitetura, das quais sabe-se ser possível (e tem sido nas arquiteturas 
reais) 3 delas; serão as mostradas a seguir. 
 
• SISD – Single Instruction Single Data (uma instrução e um dado) 
 (Monoprocessador) 
• SIMD – Single Instruction Multiple Data (uma instrução e múltiplos dados) 
 (Processadores vetoriais – Instruções MMX e SSE) 
• MIMD – Multiple Instructions Multiple Data (múltiplas instruções e dados) 
 (Multiprocessamento) 
É possível realizar paralelismo sob diversos aspectos e formas, alguns dos mais importantes são apresentados a 
seguir: 
 
 
 
Não há paralelismo com este método, antigo 
 
 
Processamento não-sequencial * Superescalar 
(paralelismo) * Processamento Vetorial 
o Multiprocessamento 
 
 
 
 
 
- Neste tipo (obsoleto) cada instrução manipula um dado (tipo SISD – single instruction single data) 
- O processador somente busca outra instrução quando termina completamente o ciclo da anterior. 
- O desempenho de processamento estava bem associado à frequência (velocidade) do relógio (“clock”) 
 
 
 
 
 
Há diversos métodos de um processador realizar processamento paralelo. Isto é, formas diversas de executar o ciclo das 
instruções, em vez de realizar um ciclo completo de cada vez. Entre esses métodos, pode-se analisar: 
 
• Paralelismo por instrução – SIMD (single instruction multiple data) - uma instrução manipulando múltiplos dados. 
Exemplo: as instruções Intel MMX e SSE e AMD 3D now. Processamento vetorial é outro exemplo 
• Paralelismo no controle da execução das instruções – a técnica pipeline usa esta forma. Diversas instruções em 
etapas diferentes de execução “simultânea” 
• Paralelismo na execução – processamento superescalar, que pode realizar diversos pipelines, com diversas 
unidades de cálculo. 
• Paralelismo no hardware – multiprocessamento; processadores multinucleo 
 
Processamento com Pipelining 
 
Consiste em se realizar diversas execuções de instruções ao mesmo tempo, embora cada uma delas em momentos 
(estágios) diferentes de execução. 
Um ciclo de instrução é organizado em diversas etapas de execução: Busca da Instrução – Incremento do CI – 
Decodificação do C. Op – Busca de Operandos – Execução da Operação – Escrita do resultado. No processamento 
sequencial, o processador somente executa uma instrução completa de cada vez, isto é, somente depois de executar a 
última etapa do ciclo de uma instrução é que inicia a próxima (busca, etc) e assim sucessivamente. 
 
Já no processamento com pipeline, o processador não espera o término de uma instrução para buscar a próxima. Nesse 
caso, a organização do processamento é dividida em partes (estágios) cada um correspondendo a uma etapa (ou parte 
de uma etapa) do ciclo. 
Assim que se conclui a primeira etapa (busca)de uma instrução, o sistema inicia a 2ª etapa (incremento do CI) dessa 
instrução, mas também busca a seguinte. E quando prossegue na primeira instrução, com a 3ª etapa, a segunda instrução 
inicia a 2ª etapa e o sistema busca uma terceira instrução e assim sucessivamente. 
 
A figura 1 mostra um exemplo de um sistema com dois estágios apenas de execução do ciclo (busca e execução). Observa-
se na figura que os dois estágios gastam UMA unidade de tempo 
 
• Processamento Sequencial (serial) – escalar 
▪ Pipeline 
Processamento Sequencial (serial) – escalar 
Processamento Não Sequencial (paralelo) 
 SEM PIPELINE COM PIPELINING 
 
Figura 1 – Exemplo de processamento com e sem pipelining- 2 estágios 
 
Observa-se na figura a execução de um conjunto de 6 instruções, sendo B-estágio busca e E-de execução 
No caso do processamento sem pipelining, gasta-se 6 x 2 = 12 unidades de tempo (ut), enquanto no processamento com 
pipelining consome-se apenas 7 unidades de tempo. 
Este tempo total (7 ut) pode ser calculado sem o gráfico sabendo-se que a 1 execução gasta o tempo total (2 ut), mas 
em seguida, as instruções vão se concluindo em 1 ut; como restam 5 (total das 6 menos a primeira) x 1 ut = 5 ut. Soma-
se 5 + 2 = 7 ut. 
 
Pode-se criar, então, uma fórmula para calcular o tempo total gasto para qualquer quantidade de instruções e de 
estágios. 
 T = (m x P) + ((n – 1) x P), sendo m = qtde estágios; P=período de cada estágio;n ; n = conj instruções 
 
A figura 2 mostra uma execução de 10 instruções, em um processador com pipeline de 6 estágios. 
 
 
 Figura 2 – Exemplo de pipelining com 10 instruções e cada uma com 6 estágios de execução 
 
Considerando, na fórmula acima os valores d em = 6, n = 10 e P = 1, tem-se um tempo total de execução das instruções 
de: 
 
T = ( 6 x 1)+ ( (10 -1) x 1) = 6 + 9 = 15 ut 
 
Processamento superescalar 
 
Arquitetura com mais de um pipeline, o qual pode ser parcial (apenas algumas unidades fazem pipelining) ou completo, 
incluindo todas as unidades de processamento. 
 
A figura 3 mostra um exemplo de arquitetura superescalar 
 
 
 
 
 
 
 
 
 
 
 
 
III – ARQUITETURAS CISC x RISC 
 
 
 
 
 
 
 
 
Multiprocessamento 
 
Arquiteturas Multinúcleo – multi threading 
Cada núcleo é um processador completo, inclusive com um ou outro nível de memória cache. Todos compartilham 
memória RAM. 
 
Exemplos 
AMD Phenon, Rysen 
Intel i3, i5, i7 
ARM – Samsung A6 
 
A figura 4 mostra exemplos de estruturas multinucleo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4a 
L2 
N
u
cleo
 2
 
N
u
cleo
 1
 
N
u
cleo
 2
 
N
u
cleo
 3
 
N
u
cleo
 4
 
Cache L2 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4b – exemplos de estruturas multinucleo 
 
 
 
III – Arquiteturas CISC x RISC 
 
 
Trata-se de padrões de arquiteturas que estiveram presentes no mercado por mais de 20 anos, tendo alguns fabricantes 
e instituições defensores de uma padrão e outro grupo defensores do outro. Um padrão de arquitetura constitui-se de 
um conjunto de especificações que fabricantes adotam em suas arquiteturas. 
Por exemplo, o padrão CISC tem uma característica (mais adiante serão mostradas outras características) de possuir 
poucos registradores e muitas instruções. Diversas arquiteturas, Intel X 86 e IBM/370 usavam este tipo de padrão. 
 
 
Características das arquiteturas do tipo CISC-Complex Instruction Set Computer (computador com um 
conjunto de instruções complexo) 
 
• Poucos Registradores de Dados 
 
• Muitas Instruções (alguns processadores chegaram a ter mais de 300 instruções) 
 
• O controle é implementado por microprogramação 
 
▪ Maior tempo de decodificação 
 
▪ Muitos modos de endereçamento, a maioria não sendo usados pelos compiladores. 
 
▪ Diversas instruções com acesso à memória (lento) 
 
POR QUE MUITAS INSTRUÇÕES? 
 
Para facilitar a tarefa dos compiladores (bem como seu projeto e implementação) 
Reduzindo o GAP entre o comando do código fonte e as instruções do código objeto. 
 
 
 
 
N
u
cleo
 2
 
N
u
cleo
 1
 
Cache 
L1 
L2 L2 L2 
N
u
cleo
 2
 
N
u
cleo
 3
 
N
u
cleo
 4
 
Cache L3 
L2 
Características das arquiteturas do tipo RISC-Reduced Instruction Set Computer (computador com um 
conjunto de instruções reduzido) 
 
As características das arquiteturas RISC tem por objetivo solucionar todas as críticas que se fazia das CISC 
Em conjunto, elas procuram permitir o desenvolvimento de máquinas simples e rápidas, com custo menor para o 
benefício que proporcionam. 
 
As principais são: 
 
o Devem completar cada instrução em 1 ciclo de relógio 
 
o Devem possuir grande quantidade de registradores, com o propósito de reduzir acesso à memória. Os dados 
permanecem nos registradores sendo reutilizados de lá e não da memória. 
 
o Acesso à memória apenas para buscar (inicialmente) o dado e retornar eventual resultado de operação) 
 Somente instruções LOAD e STORE. 
 
o Todas as operações usam instruções que manipulam dados nos registradores (são menores em largura e mais 
rápidas). 
 
o Deve utilizar um conjunto pequeno de instruções, sem repetir operações (com mais de uma instrução). Isso 
diminui tempo de decodificação) 
 
o Todas as instruções apresentam o mesmo tamanho. Diminui tempo de busca e incremento CI é mais simples 
 
o Devem empregar pipeline em larga escala 
 
 
EXEMPLOS DE PROCESSADORES 
 
 
❖ CISC – IBM/64; Intel Pentium 1, II, III e alguns modelos P4, bem como os correspondentes AMD (mesma 
arquitetura X86) 
 
❖ RISC - Berkeley RISC 1 – SPARC - MIPS – RS6000 – Power PC 
Intel i3, i5, i7 - ARM (celulares, palms, embutidos, etc) 
 
Características da arquitetura ARM , usada em praticamente todos os dispositivos móveis e embutidos no mundo 
 
- Desenvolvida (1983) pela empresa Acorn (atualmente licencia) 
- Baixo custo – baixo consumo de energia (poucos transistores) 
- Exemplos: celulares – tablets – console jogos 
 
 
- Características, típicas de arquitetura RISC: 
• Palavra de 32 bits 
• Bastante registradores (32 de emprego geral) 
• Apenas instruções LOAD/STORE para acesso memória 
• Instruções de tamanho fixo 
• Instruções aritméticas com 3 operandos 
• Coprocessador (extende uso do processador) 
 
 
 
Exemplos de Processadores que utilizam arquitetura ARM 
 
• EXYNOS, da Samsung (baseado em ARM Cortex) 
• A4, A6, etc, da Apple (baseado em ARM Cortex) 
• Tegra, da nVidia (baseado em ARM Cortex) 
Snapdragon, da Qualcomm (baseado em Cortex 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AS INFORMAÇÕES CONTIDAS NESTE MATERIAL DE APOIO AO ESTUDO FORAM EXTRAÍDAS DAS SEGUINTES PUBLICAÇÕES: 
MONTEIRO, M. Introdução à organização de computadores. 5. ed. Rio de Janeiro: LTC, 2007. 
STALLINGS, W. Arquitetura e organização de computadores. 8. ed. São Paulo: Pearson Prentice Hall, 2010. 
TANENBAUM, A. S. Organização estruturada de computadores. 5. ed. Rio de Janeiro: LTC, 2007. 
Null, Linda - Computer Organization and Architecture 
Textos na Internet

Continue navegando