Buscar

Unidade III Organizacao e Arquitetura de Computadores pdf

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 26 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 26 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 9, do total de 26 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

Prévia do material em texto

Fundamentos de 
Tecnologia da 
Informação
Organização e Arquitetura de Computadores
Material Teórico
Responsável pelo Conteúdo:
Prof. Ms. Artur Ubaldo Marques Junior
Revisão Textual:
 Profa. Esp. Vera Lídia de Sá Cicaroni
5
• Visão Geral
• Máquina de Turing
• Arquitetura Von Neumann
Nossa viagem pelos Fundamentos de Tecnologia da Informação levar-nos-á, nesta unidade, aos 
conceitos da arquitetura moderna de computadores.
Sobre este tema, temos material já consolidado e devemos voltar um pouco no tempo para recordar. 
Dessa maneira, teremos, previamente, uma visão geral sobre o assunto, faremos uma breve pausa 
para traçarmos um histórico das gerações de computadores e entraremos no estudo do modelo von 
Neumann, ao qual peço que você preste bastante atenção, pois trata-se da forma contemporânea 
como os computadores são arquitetados.
Seu arranjo nessa arquitetura levou a diversas possibilidades, inclusive à dos computadores pessoais 
e outras gerações de equipamentos.
Abordaremos também arquiteturas que envolvam outras formas “não von Neumann” para estruturar 
um computador, dentre as quais a arquitetura Harvard, o barramento, etc.
Falaremos também sobre Alan Turing e seu legado, depois, veremos a composição dos níveis das 
máquinas e demonstraremos um sistema de computador típico.
 · Nesta terceira unidade da disciplina de Fundamentos de 
Sistemas de Informação, exploraremos conceitos de arquitetura 
de computadores.
 · Falaremos dos componentes, da arquitetura von Neumann e de 
outros tipos de arquitetura, e entenderemos por que, até hoje, a 
primeira é paradigma para os computadores que conhecemos.
Organização e Arquitetura de 
Computadores
• Arquitetura Harvard
• Diferença entre a arquitetura Von 
Neumann e a de Harvard
• Computação Paralela
• Taxonomia de Flynn
• Diferença entre CISC e RISC
• Lei de Moore
6
Unidade: Organização e Arquitetura de Computadores
Contextualização
Uma série de limitações físicas impediu que, após anos de evolução, os processadores 
sequenciais pudessem continuar melhorando seu desempenho através do aumento da frequência. 
Essa prática passou, então, a dar lugar para a introdução do paralelismo nos chips, culminando 
com a criação dos CMPs (Chip Multi-Processor), também chamados de Processadores de 
Múltiplos Núcleos. 
O paralelismo é um paradigma que visa extrair o máximo desempenho possível durante a 
realização de uma tarefa, através da exploração das características de simultaneidade presentes 
na carga de trabalho e no ambiente em que se está trabalhando.
O paralelismo foi, durante muitos anos, uma aposta de poucos, que se manteve restrita a 
pequenos setores da indústria de computação de alto desempenho, além da própria academia. 
Porém, a competição entre os principais fabricantes de processadores de propósito geral levou 
à criação dos CMPs e, atualmente, processadores de múltiplos núcleos já são encontrados em 
computadores pessoais, notebooks e até mesmo em sistemas computacionais embarcados. 
Dessa forma, pode-se concluir que, atualmente e, muito provavelmente, num futuro de 
médio e longo prazo, o modelo de computação predominante será o paralelo.
Isso é um choque, porque o modelo mais em uso de arquitetura é o von Neumann. O 
modelo Paralelo, que é emergente, possui alto padrão de desempenho e pode, num primeiro 
momento, não ser tão competitivo, mas, a um olhar mais minucioso, pode significar um grande 
avanço para vencer as barreiras de velocidade, dissipação de energia e desempenho.
A predominância do paralelismo faz surgir novos problemas, e outros, antes de menor 
importância, tornam-se mais urgentes. Dentre esses problemas, pode-se destacar a falta de 
profissionais com conhecimento de paralelismo suficiente para desenvolver softwares executados 
com eficiência e bom desempenho nos 
processadores de múltiplos núcleos. Uma das possíveis causas para esse problema é a pouca 
atenção dada pelos cursos da área de tecnologia para o paralelismo.
Vamos conhecer neste módulo esses paradigmas, o vigente e os novos, como tudo isso 
acontece e qual sua importância no mundo globalizado em que vivemos.
7
Visão Geral
Podemos dizer que o termo arquitetura de computadores teve origem em um relatório que 
descrevia um supercomputador da IBM no final da década de 50. Seus autores foram Brooks, 
Khan e Johnson.
Arquitetura de computadores refere-se aos atributos de um sistema que tem um impacto 
direto sobre a execução lógica de um programa. Um exemplo é definir o número de bits usados 
para representar vários dados e tipos de mecanismos de entrada e saída.
Organização de computador refere-se às unidades operacionais e suas interconexões que 
realizam as especificações de arquitetura. Por exemplo, são as coisas que são transparentes para 
o programador: sinais de controle de interfaces entre computador e periféricos, a tecnologia de 
memória usada.
Assim, por exemplo, o fato de existir uma instrução de multiplicação e disponibilizá-la é uma 
questão de arquitetura de computador. O modo como a operação de multiplicar é implementada 
é uma questão de organização do computador. 
O computador, nesse caso, pode ser entendido como algo que possui a capacidade de 
receber uma entrada de dados, realizar processamento e entregar uma saída. Uma das formas 
de classificação, nos tempos atuais, é:
 Desktop: focado para o usuário cotidiano; é de baixo custo, porém com bom 
desempenho.
 Servidores: são equipamentos de propósito específico, com desempenho melhorado. 
Sua construção é mais elaborada, envolvendo barramentos diferenciados e maior 
numero de processadores e memória primária.
 Embeded Systems ou Sistemas Embarcados: trata-se de hardware e software de 
uso dedicado ou específico e são componentes de veículos, smartphone, geladeiras, ar 
condicionado e até de elevadores.
Computadores modernos contêm milhões de componentes eletrônicos. A chave para 
descrever tais sistemas é reconhecer, além de sua natureza hierárquica formada por um conjunto 
de camadas ou níveis dos subsistemas inter-relacionados, também que cada nível é composto 
por um conjunto de componentes e suas inter-relações.
Mas, antes de falarmos dos computadores modernos, vamos recordar seus conceitos através 
de um dos mais geniais personagens da ciência da computação, Alan Turing, criador de uma 
máquina conceito que levou seu nome.
8
Unidade: Organização e Arquitetura de Computadores
Uma máquina de Turing é a forma mais simples de um computador. O conceito foi 
inventado por Alan Turing em 1936. Este foi o primeiro computador inventado, embora 
tenha ficado só no papel. 
Na sua forma mais simples, uma máquina de Turing é composta por uma fita de papel 
de comprimento indefinido. Há uma “cabeça” que pode ler os símbolos na fita. Finalmente, 
o programa é uma lista de “transições”; a fita é usada para armazenar dados. Além disso, 
também pode armazenar uma série de transições (pequenos programas) e, assim, a cabeça 
pode rodar “subprogramas”. Por analogia com computadores modernos, a fita é a memória 
e a cabeça é o microprocessador. 
Vamos adiante, agora, voltando para a arquitetura dos computadores.
Arquitetura Von Neumann tem dois significados comuns: primeiramente ela remete para um 
tipo específico de organização de computador, na qual as instruções e os dados são armazenados 
em uma memória comum. Esse tipo de arquitetura é distinta da Harvard, em que memórias 
separadas são usadas para armazenar instruções e dados. O termo arquitetura Von Neumann, 
em segundo lugar, também é usado, coloquialmente, para se referir, em geral, a computadores 
que executam uma única sequência de instruções, que operam em um único fluxo de valores 
de dados. Ou seja, são os típicos computadores disponíveis hoje em dia.
Máquina de Turing
 
 Explore
Se você quisertestar como ela funciona, este endereço que segue vem com instruções para você fazer 
operações simples e entender melhor seu funcionamento: http://ironphoenix.org/tril/tm/
Arquitetura Von Neumann
Figura 1: Arquitetura Von Neumann 
Fonte: Computer Organization and Architecture, W. Stallings
9
O conceito de computador de Von Neumann foi desenvolvido na década de 1940, quando 
os primeiros computadores eletrônicos foram construídos. 
Quase todos os computadores modernos são baseados nesse regime de programa armazenado, 
em que dados de programa e de instruções de máquina são armazenados na memória do 
computador da mesma maneira. 
Após a década de 1940, a indústria de computador começou um rápido desenvolvimento 
com a velocidade e o custo dos sistemas de computador, melhorando a cada dois anos. 
Surpreendentemente, essa tendência continua, em princípio, até hoje. 
O coração da arquitetura de computador de Von Neumann é a Unidade Central de 
Processamento (CPU), a Unidade de Controle e a ULA (Unidade Lógica e Aritmética). A CPU 
interage com uma memória e um subsistema de (E/S) entrada/saída e executa um fluxo de 
instruções (programa de computador) que processam os dados armazenados na memória e 
executam operações E/S. O conceito-chave da arquitetura de Von Neumann é que os dados e 
instruções são armazenados no sistema de memória exatamente da mesma forma.
Assim, o conteúdo de memória é definido inteiramente pelo modo como ele é interpretado. 
Isso é essencial, por exemplo, para um programa compilador, que traduz uma linguagem de 
programação user friendly para o fluxo de instrução entendido pela máquina. 
Uma variedade de instruções pode ser executada para mover e modificar dados e para 
controlar as instruções que deverão ser executadas em seguida. O conjunto de instruções é 
chamado o conjunto de instruções, e, juntamente com os recursos necessários para sua execução, 
conjunto de instruções (ISA). 
A execução da instrução é impulsionada por um sinal periódico do clock. Embora várias 
subetapas devam ser realizadas para a execução de cada instrução, numa aplicação sofisticada 
de CPU existem tecnologias que podem se sobrepor a esses passos, de tal forma que, idealmente, 
uma instrução pode ser executada por ciclo de clock. 
Hoje, o esquema de Von Neumann é a arquitetura básica da maioria dos computadores que 
aparecem em muitas formas, incluindo supercomputadores, estações de trabalho, computadores 
pessoais e laptops.
Progressos na tecnologia eletrônica foram a mola propulsora para a revolução da máquina 
de Von Neumann. Esse progresso foi iniciado durante a II Guerra Mundial, quando houve 
enormes avanços no desenvolvimento de produtos eletrônicos. 
Figura 2: Componentes básicos da arquitetura Von Neumann 
Fonte: Computer Organization and Architecture, W. Stallings
10
Unidade: Organização e Arquitetura de Computadores
O coração de um sistema de computador com uma arquitetura de Von Neumann é a CPU. 
Esse componente busca (ou seja, faz leitura de) instruções e dados da memória principal e 
coordena a execução completa de cada instrução. Normalmente é organizado em duas 
subunidades distintas: a unidade lógica e aritmética (ULA) e a unidade de controle. 
A unidade lógica e aritmética (ULA) combina e transforma os dados, usando operações 
aritméticas, como adição, subtração, multiplicação e divisão e operações lógicas, como negação 
bit a bit, AND, E/OU.
A unidade de controle interpreta as instruções buscadas na memória e coordena a operação 
de todo o sistema. Ela determina a ordem na qual as instruções são executadas e fornece todos 
os sinais elétricos necessários para controlar a operação da ULA e as interfaces para os outros 
componentes do sistema.
A memória é um conjunto de células de armazenamento. Cada uma delas pode estar em 
um de dois estados diferentes. Um estado representa um valor “0”, e outro estado representa 
um valor “1”. Distinguindo-se esses dois estados lógicos, cada célula é capaz de armazenar um 
único dígito binário ou bit.
A CPU identifica a palavra que ela quer ler ou escrever, armazenando seu endereço exclusivo 
em uma memória especial de registro de endereços chamada MAR (um registo armazena 
temporariamente um valor dentro da CPU.). A memória responde a uma solicitação de leitura 
do valor armazenado no endereço solicitado e passa-o para a CPU através do barramento de 
dados de memória da CPU. O valor, em seguida, é armazenado temporariamente no registo 
de buffer de memória MBR (também chamado de registro de dados de memória) antes de ser 
usado pela unidade de controle ou pela ULA. Para uma operação de gravação, a CPU armazena 
o valor que deseja gravar para a MBR e o endereço correspondente no MAR. A memória, em 
seguida, copia o valor do MBR para o endereço apontado pelo MAR.
Finalmente, os dispositivos de entrada/saída (E/S), interface do sistema de computador com 
o mundo exterior permitem que programas e dados sejam inseridos no sistema e forneçam 
um meio para o sistema controlar algum tipo de dispositivo de saída. Cada porta de E/S tem 
um endereço exclusivo para que a CPU possa ler ou escrever um valor. Do ponto de vista 
da CPU, um dispositivo de E/S é acessado de forma muito semelhante à maneira como ele 
acessa a memória. Na verdade, em alguns sistemas de hardware, faz parecer para a CPU que 
os dispositivos de E/S são realmente os locais de memória. Nessa configuração, em que a CPU 
não vê nenhuma distinção entre memória e dispositivos de E/S, chama-se o dispositivo de E/S 
mapeado por memória.
11
Veja o esquema analítico, logo abaixo, que complementa a explicação.
Figura 3: Esquema expandido da arquitetura Von Neumann
Fonte: Sistemas da Informação Uniban/Anhanguera – John Von Neumann.
O termo arquitetura de Harvard refere-se, originalmente, às arquiteturas de computador 
que usam o armazenamento de dados separado do de suas instruções (em contraste com a 
arquitetura de Von Neumann). 
O Mark I foi desenvolvido por Howard Aiken e foi construído pela IBM entre 1939 e 1944. 
Foi também conhecido como a Calculadora de Controle de Sequência Automática IBM (ASCC). 
Ele foi construído a partir de relés eletromecânicos; tinha 55 metros de comprimento, 8 metros 
de altura, 2 metros de profundidade e pesava 5 toneladas, tornando-se relativamente lento 
e muito barulhento. Números de até 23 casas decimais podiam ser representados, utilizando 
3000 anéis eletromagnéticos de armazenamento decimais que estavam presentes na máquina. 
O Mark I Harvard foi usado pela Marinha dos EUA para artilharia e cálculos balísticos até 1959, 
mas estava desatualizado já no momento em que foi encomendado.
Arquitetura Harvard
12
Unidade: Organização e Arquitetura de Computadores
Aiken passou a desenvolver a Harvard Mark II, III e IV utilizando tecnologia de válvulas, e ele 
também desenvolveu o conceito de arquitetura de computadores de Harvard, que usa instrução 
fisicamente separada da memória de dados. Isso permite que a próxima instrução possa ser lida, 
enquanto os dados anteriores estejam sendo escritos na memória, e que a largura do bus de 
endereços e de dados possa ser diferente e otimizada para o tamanho apropriado. No entanto, 
dois módulos de memória são agora necessários para armazenar programas dentro da memória 
de instruções.
Hoje esse conceito é utilizado em sistemas modernos, nos quais é importante isolar o 
percurso entre o processador e a memória para maximizar o desempenho. Hoje em dia, é 
usado um ônibus de dupla independente (DIB). Este substitui o barramento do sistema com um 
barramento frontal (FSB), que liga a memória do sistema (através do controlador de memória) 
à CPU, e também aos outros ônibus. O ônibus parte traseira (BSB) é usado para fornecer um 
canal rápido e direto entre a CPU e o cache L2. 
O termo arquitetura de Harvard é usado, agora, em referência auma filosofia de projeto 
de arquitetura de computador específico em que os caminhos de dados e de instruções são 
separados e utilizam memórias diferentes.
Figura 4: Arquitetura Harvard
Fonte: http://lib.bioinfo.pl/courses/view/675
Na arquitetura de Von Neumann, o programa e os dados são armazenados na mesma 
memória e geridos pelo mesmo subsistema de tratamento da informação. Na arquitetura de 
Harvard, o programa e os dados são armazenados e manipulados por diferentes subsistemas. 
Diferença entre a arquitetura Von Neumann e a de Harvard
13
Essa é a diferença essencial entre as duas arquiteturas. 
Figura 5: Comparação entre arquitetura Von Neumann x Harvard
Arquitetura de Harvard tem bus de dados e de instrução separados, permitindo que as 
transferências sejam executadas simultaneamente em ambos os barramentos. Na arquitetura 
Von Neumann, existe apenas um bus, que é usado para transferências de dados e de instruções. 
Sendo assim, transferência de dados e buscas de instrução devem ser agendadas; elas não 
podem ser executadas ao mesmo tempo.
É possível ter dois sistemas de memória separados para uma arquitetura de Harvard. Como 
instruções e dados podem ser alimentados ao mesmo tempo, não importa se se trata de um 
cache ou de memória. Mas há problemas com isso. Compiladores geralmente incorporam dados 
(pools de literais) dentro do código. 
Portanto, sob certas condições, um computador Harvard pode ser muito mais rápido do 
que um computador de Von Neumann, pois os dados e o programa não disputam a mesma 
informação, o que resulta em vasta melhoria na confiabilidade da arquitetura.
 
 Explore
Para entender melhor o que está sendo explicado, sugiro que você confira o link, anexado a este 
documento, que demonstra de forma animada como ocorre o tratamento dos dados e instruções nessas 
duas arquiteturas, facilitando seu aprendizado. Ele está disponível em http://www.pictutorials.com/
Harvard_vs_Von_Nuemann_Architecture.htm 
Von Neumann
– Arquitetura mais simples;
– Mais lento pois não permite acesso simultâneo às memórias;
– Geralmete CISC
Exemplo:
4004
8080
8051
8085
Z80
– 46 instruções
– 78 instruções
– 111 instruções
– 150 instruções
– Mais de 500 instruções
Harvard
– Arquitetura mais complexa;
– Mais rápido, pois permite acesso simultâneo às memórias;
– Geralmente RISC
– Permite o Pipelining
Exemplo:
– Intel 8086, 8088
– Microchip PIC – 35 instruções
14
Unidade: Organização e Arquitetura de Computadores
Tradicionalmente, o software foi escrito para seguir a computação de eventos seriados, por 
rodar em um único computador e ter uma única unidade de processamento central (CPU). 
Dessa forma, um problema é dividido em uma série de instruções discretas que são executadas 
uma após a outra. Portanto, somente uma instrução pode ser executada em qualquer momento 
no tempo.
Então, em um sentido mais simples, computação paralela é a utilização simultânea de vários 
recursos de computação para resolver um problema computacional. Por exemplo:
• esses recursos podem ser executados utilizando múltiplas CPUs;
• um problema pode ser quebrado em partes discretas que podem ser resolvidas 
simultaneamente;
• cada parte pode ser, ainda, dividida em uma série de instruções;
• instruções de cada parte podem ser executadas simultaneamente em diferentes CPUs.
Dessa forma, os recursos de computação podem ser:
• um único computador com múltiplos processadores;
• um número arbitrário de computadores ligados por uma rede;
• uma combinação de ambos.
O problema computacional a ser resolvido deve ser capaz de:
• ser quebrado em pedaços discretos de trabalho, que podem ser resolvidos 
simultaneamente;
• executar instruções múltiplas de um programa em qualquer momento no tempo;
• ser resolvido em tempo menor com vários recursos de computação do que com um 
recurso de computação único.
Taxonomia de Flynn distingue arquiteturas de multiprocessador de computador, de acordo 
com a forma como eles podem ser classificados ao longo das duas dimensões independentes: 
de instrução e de dados. Cada uma dessas dimensões pode ter apenas um dos dois estados 
possíveis: simples ou múltiplo.
Computação Paralela
Taxonomia de Flynn
15
Ou seja, a sequência de instruções decodificadas e executadas pela CPU é chamada de um 
fluxo de instruções. Da mesma forma, um fluxo de dados é a sequência correspondente de 
operandos especificados por essas instruções. Usando essas definições, Flynn propõe a seguinte 
taxonomia de sistemas de computação paralela:
SISD: fluxo único de instruções, único fluxo de dados.
SIMD: único fluxo de instrução, transmissão de dados múltipla.
MISD: múltiplo fluxo de instruções, fluxo de dados único.
MIMD: múltiplo fluxo de instrução, transmissão de dados múltipla.
Figura 6: Representação gráfica da taxonomia de Flynn
Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.html
Arquitetura de Von Neumann é SISD, com pipeling e arquiteturas superescalares. Processadores 
modernos não se encaixam tão bem nessa classificação. 
SISD: Fluxo único de instruções, único fluxo de dados
• Computador serial (não paralelo);
• Instrução simples: apenas um fluxo de instruções está sendo manipulado pela CPU 
durante qualquer ciclo de um clock;
16
Unidade: Organização e Arquitetura de Computadores
• Dados individuais: apenas um fluxo de dados está sendo usado como entrada durante 
todo o ciclo de um clock;
• Execução determinística;
• Este é o mais antigo e, até hoje, o tipo mais comum de computador;
• Exemplos: mainframes de gerações mais antigas, minicomputadores e estações de 
trabalho; PCs dos dias de hoje.
Legenda: CU-unidade de controle, PU – unidade de processamento, MM – memória principal
Figura 7: Representação gráfica da taxonomia de Flynn
Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.html
SIMD: Único fluxo de instrução, transmissão de dados múltipla.
• Um tipo de computador paralelo;
• Instrução única: todas as unidades de processamento executam a mesma instrução em 
qualquer dado num ciclo de clock;
• Múltiplos dados: cada unidade de processamento pode funcionar em um elemento de 
dados diferente;
• Mais adequado para problemas especializados caracterizados por um alto grau de 
regularidade, como gráficos / processamento de imagens;
• Execução síncrona e determinística;
• Duas variedades: matriz de processador e Pipelining vetorizado
• Exemplos:
o Matrizes de processador: MasPar MP-1, ILLIAC IV
o Pipelining vetorial: Cray X-MP, Fujitsu VP, Hitachi S820
• A maioria dos computadores modernos, particularmente aqueles com unidades de 
processamento gráfico (GPUs), empregam instruções SIMD.
17
Legenda: CU-unidade de controle, PU – unidade de processamento, MM – memória principal.
Figura 8: Representação gráfica da taxonomia de Flynn
Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.html
MISD: Múltiplo fluxo de instruções, fluxo de dados único.
• Um tipo de computador paralelo;
• Instrução múltipla: cada unidade de processamento opera sobre os dados de forma 
independente por meio de fluxos de instrução separados;
• Dados individuais: um único fluxo de dados é alimentado em unidades de 
processamento múltiplo;
• Poucos exemplos reais dessa classe de computador paralelo já existiram. Um deles é o 
experimental Carnegie-Mellon de 71
o Um uso possível poderia ser em algoritmos de criptografia múltipla, tentando 
quebrar uma única mensagem codificada.
 
18
Unidade: Organização e Arquitetura de Computadores
Legenda: CU-unidade de controle, PU – unidade de processamento, MM – memória principal.
Figura 9: Representação gráfica da taxonomia de Flynn
Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.htmlMIMD: Múltiplo fluxo de instrução, transmissão de dados múltipla.
• Um tipo de computador paralelo;
• Instrução múltipla: cada processador pode executar um fluxo de instruções diferente;
• Dados múltiplos: cada processador pode estar trabalhando com um fluxo de dados 
diferente;
• A execução pode ser síncrona ou assíncrona, determinística ou não determinística.
• Atualmente, o tipo mais comum de computador paralelo - supercomputadores mais 
modernos enquadram- se nessa categoria.
• Exemplos: rede clusters de computadores paralelos, computadores com múltiplos 
processadores SMP, processadores multicore.
19
Definindo CISC e RISC
CISC - Complex Instruction Set Computer - são chips de fácil programação que fazem uso 
mais eficiente da memória. Projetos mais comuns de microprocessadores, como a série de 
Motorola 68000 e Intel 8086, seguem essa filosofia. Mas mudanças recentes na tecnologia de 
hardware e software forçaram uma reavaliação do CISC e muitos processadores mais modernos 
CISC são híbridos, implementando muitos princípios de RISC.
Foi desenvolvido para simplificar o desenvolvimento do compilador. Ele alterna a maior 
parte da carga de gerar instruções de máquina do processador. Por exemplo, em vez de ter que 
fazer um compilador escrever instruções em tempo de execução de máquina, para calcular uma 
raiz quadrada, um processador CISC teria uma capacidade nativa para fazer isso.
O principal objetivo da arquitetura CISC é concluir uma tarefa em tão poucas linhas de 
montagem quanto possível. Isso é conseguido através da construção do hardware do processador, 
que é capaz de entender e executar uma série de operações.
A maioria das arquiteturas de hardware CISC tem várias características em comum:
• Decodificação de instrução lógica complexa, impulsionada pela necessidade de uma 
única instrução oferecer suporte a múltiplos modos de endereçamento.
• Um pequeno número de registradores de propósito geral. Este é o resultado direto 
de ter instruções que podem operar diretamente a memória e a limitada quantidade 
de espaço de chip não dedicado para a decodificação de instruções, a execução e o 
armazenamento de microcódigo.
• Muitos registradores de propósitos específicos. Isso pode simplificar o design de 
hardware um pouco, à custa de tornar a instrução mais complexa. Um registro de 
condição de código é definido como um efeito colateral da maioria das instruções. Esse 
registo reflete se o resultado da última operação é menor, igual ou maior que zero e 
registra se ocorrerem certas condições de erro.
• Muitas instruções especializadas não são usadas com frequência suficiente para 
justificar a sua existência. Cerca de 20% das instruções disponíveis são usadas em 
um programa típico.
RISC - Reduced Instruction Set Computer - é um tipo de arquitetura de microprocessador 
que utiliza um conjunto pequeno e altamente otimizado de instruções, em vez de um conjunto 
mais especializado de instruções muitas vezes encontradas em outros tipos de arquiteturas.
Os primeiros projetos vieram da IBM, Berkley e Universidade de Stanford em meados 
dos anos 70 e foram projetados com uma filosofia que ficou conhecida como RISC. Certas 
características de design têm sido a característica da maioria dos processadores RISC até hoje, 
como, por exemplo:
20
Unidade: Organização e Arquitetura de Computadores
• um ciclo de tempo de execução: processadores RISC têm uma CPI (clock por instrução) 
de um ciclo. Isso é devido à otimização de cada instrução à CPU e a uma técnica 
chamada PIPELINING.
• PIPELINING: uma técnica que permite a execução simultânea de partes ou estágios de 
instruções mais eficientemente no processador de instruções;
• grande número de registradores: a filosofia de projeto RISC geralmente incorpora um 
número maior de registradores para evitar grandes quantidades de interações com 
memória.
Há, ainda, grande controvérsia entre os especialistas sobre o valor final da arquitetura RISC. 
Seus defensores argumentam que máquinas RISC são mais baratas e mais rápidas e são, 
portanto, as máquinas do futuro. Todavia, tornando o hardware mais simples, arquiteturas RISC 
colocam uma carga maior sobre o software e talvez não valha a pena, neste momento, porque 
os microprocessadores convencionais estão se tornando cada vez mais rápidos e mais baratos.
As principais características de microprocessadores CISC são:
• instruções extensivas; 
• instruções de máquina complexas e eficientes; 
• microcodificação de instruções de máquina; 
• amplos recursos de endereçamento para operações de memória; 
• relativamente poucos registros. 
Em comparação, processadores RISC são mais ou menos o oposto do acima. Suas 
características são: 
• reduzido conjunto de instruções; 
• instruções menos complexas e mais simples; 
• alguns esquemas de endereçamento para operandos de memória com apenas duas 
instruções básicas: carregar e armazenar muitos registradores simétricos que são 
organizados em um arquivo de registro.
Tecnologias de processadores de última geração mudaram significativamente desde que 
chips RISC foram introduzidos no início dos anos 80. Um grande número de avanços foi usado 
pelos processadores RISC e CISC e as linhas entre as duas arquiteturas começaram a convergir.
Diferença entre CISC e RISC
21
Na verdade, parece que as duas arquiteturas adotaram uma a estratégia da outra, porque 
aumentaram velocidades de processador, chips CISC, agora, são capazes de executar mais de 
uma instrução dentro de um único ciclo do CLOCK. Isso também permite que os chips CISC 
façam uso de PIPELINING. Com outras melhorias tecnológicas, agora é possível colocar mais 
transistores em um único chip.
Isso dá a processadores RISC espaço suficiente para incorporar comandos mais complicados 
como no CISC. Chips RISC também fazem uso de hardware mais complicado, utilizando 
unidades de função extras para execução superescalar.
Todos esses fatores têm levado alguns grupos a argumentar que, agora, estamos em 
uma era pós-RISC, em que os dois estilos tornaram-se tão semelhantes que distingui-los 
não é mais relevante.
A Lei de Moore originou-se por volta de 1970 e estabelecia que a velocidade do processador 
ou poder de processamento geral dos computadores dobraria a cada dois anos. Uma verificação 
rápida entre os técnicos em diferentes empresas de computador mostra que o termo não é muito 
popular, mas a regra ainda é aceita. Ela diz que o número de transistores em um processador 
acessível dobraria a cada dois anos.
Em termos de tamanho do transistor, pode-se ver que estamos nos aproximando do 
tamanho de átomos, que é uma barreira fundamental. Deverão acontecer, ainda, mais algumas 
transformações antes de atingirmos essa barreira, ou seja, temos mais 10 ou 20 anos antes de 
chegarmos a um limite fundamental. 
Lei de Moore
22
Unidade: Organização e Arquitetura de Computadores
Material Complementar
Quer se aprofundar um pouco mais no tema? Veja esta relação de vídeos e artigos que 
indicamos para sua leitura sobre o tema de nossa unidade III.
 
 Explore
Para você que se interessou ou curte a parte mais fundamental do computador e quer, realmente, 
entender como as coisas são feitas na caixa preta, indico esta excelente apostila sobre o tema. 
Nela você vai poder mergulhar no assunto: Arquitetura de Computadores - Apostila Completa - 
http://pt.scribd.com/doc/16148458/Arquitetura-de-Computadores-Apostila-Completa
 
 Explore
Para os que querem um resumo rápido, esta vídeo-aula ajudará bastante; é curta e eficaz: 
http://www.youtube.com/watch?v=mp3gU_wIA6I 
23
Referências
Harvard vs Von Neumann Architecture - Disponível em: 
http://www.pictutorials.com/Harvard_vs_Von_Nuemann_Architecture.htm .Acessado em 15/09/2012
Turing Machine Simulator – Instructions - Disponívelem: 
http://ironphoenix.org/tril/tm/. Acessado em 15/09/2012
24
Unidade: Organização e Arquitetura de Computadores
Anotações
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil 
Tel: (55 11) 3385-3000

Outros materiais