Você está na página 1de 10

UNIVERSIDADE POLITECNICA

A POLITECNICA

Curso: Engenharia informática e telecomunicações

Cadeira: Arquitetura e sistema de computadores

TEMA: Conceito de arquitetura superescalares e paralelas

Discentes: Docente:

Mohammad Ossman Abdul Rauf Adulay Talaquichande


Muhamad A.S Amarchande
Sidney Branaquinho Lisboa
Abuchir Manuel Florentino
Ivanov de Sandra Nelson
Mauro Jorge Lahaia Mauricio
Ailton Raimundo

Nampula, novembro de 2021


Índice:

Resumo:.......................................................................................................................................................3
Introdução:..................................................................................................................................................4
Paralelismo..................................................................................................................................................5
Paralelismo por CHIP...............................................................................................................................6
Paralelismo a nível de Processador.........................................................................................................7
Paralelismo a nível de instrução (Pipeline)..............................................................................................7
Paralelismo por Software........................................................................................................................7
Pipeline........................................................................................................................................................7
Arquitetura Superescalar.............................................................................................................................8
Conclusão..................................................................................................................................................10

2
Resumo:

Neste presente trabalho faremos uma breve introdução sobre Arquiteturas Superescalares
e paralelas (Paralelismo), falaremos também sobre a Pipeline e como ela funciona e é executada,
o funcionamento e execução de instruções em uma pipeline e processadores superescalares.

3
Introdução:

Desde o início dos tempos o homem vem tentando evoluir, e ao longo dos anos o tempo
se tornou mais e mais valioso, na área de arquitetura de computadores, o tempo de
processamento era o factor mais importante para evolução,

A criação de linguagem de alto nível forneceram um guia para projetar um novo tipo de
arquitetura de processador: computador com conjunto reduzido de instruções (RISC — reduced
instructions set computer).

 A arquitetura RISC (Conjunto Reduzido de Instruções), suporta menos instruções, e com


isso executa com mais rapidez o conjunto de instruções que são combinadas.

Mas como dito no início o homem procura sempre mais rapidez menos tempo e com isso
maior processamento, com isso para enfrentar problemas cada vez maiores, os arquitetos de
computadores estão recorrendo cada vez mais a computadores paralelos. Apesar de talvez não
ser possível construir uma máquina com uma única CPU e um tempo de ciclo de 0,001 ns, pode
ser perfeitamente viável produzir uma com 1.000 CPUs com um tempo de ciclo de 1 ns cada.
Embora esse último use CPUs mais lentas do que o primeiro, sua capacidade total de
computação é teoricamente a mesma. E aí onde entra a arquitetura paralela ou mais
comummente cahmado Paralelismo.

4
Paralelismo

O Paralelismo pode ser introduzido em vários níveis. No nível mais baixo, ele pode ser
adicionado ao chip da CPU, por pipeline e projetos superescalares com várias unidades
funcionais. Também pode ser adicionado por meio de palavras de instrução muito longas com
paralelismo implícito. Características especiais podem ser adicionadas à CPU para permitir que
ela manipule múltiplos threads de controle ao mesmo tempo. Por fim, várias CPUs podem ser
reunidas no mesmo chip. Juntas, essas características podem equivaler, talvez, a um fator de 10
vezes em desempenho em relação a projetos puramente sequenciais.

No nível seguinte, placas extras de CPU com capacidade de processamento adicional


podem ser acrescentadas a um sistema. Em geral, essas CPUs de encaixe têm funções
especializadas, tais como processamento de pacotes de rede, processamento de multimídia ou
criptografia.

No caso de funções especializadas, o fator de ganho também pode ser de, talvez, 5 a 10.
Contudo, para conseguir um fator de cem, de mil, ou de milhão, é necessário replicar CPUs
inteiras e fazer que todas elas funcionem juntas com eficiência. Essa ideia leva a grandes
multiprocessadores e multicomputadores (computadores em cluster). Nem é preciso dizer que
interligar milhares de processadores em um grande sistema gera seus próprios problemas, que
precisam ser resolvidos.

Por fim, agora é possível envolver organizações inteiras pela Internet e formar grades de
computação fracamente acopladas. Esses sistemas estão apenas começando a surgir, mas têm um
potencial interessante para o futuro.

Esta abordagem consideradas o acoplamento das CPUS como importante, tendo portanto


as duas possibilidades de processamento com múltiplas CPUS:

 As CPUs Fortemente acopladas – devido a proximidade das CPUs. É o caso de sistemas


multicore os quais possuem mais de um núcleo, CPU que estão contudo no mesmo
hardware, portanto fortemente acoplados.

5
 As CPUs Fracamente acopladas – devido a distância entre CPUs. É o caso de
computação em grid onde temos vários computadores independentes que são interligados
por uma ou mais redes e que trabalham colaborativamente para atender a um
processamento específico.

Paralelismo por CHIP

Um modo de aumentar a produtividade de CHIP é conseguir que ele faça várias tarefas


ao mesmo tempo. Duas técnicas são utilizadas:

 Multithreading - É a capacidade de um programa ou de um processo de sistema


operacional para gerenciar o seu uso por mais de um usuário ao mesmo tempo e até
mesmo gerenciar vários pedidos pelo mesmo usuário sem ter que ter várias cópias da
programação em execução no computador.

 Multicore - Um processador multi-core é um componente de computação único com


duas ou mais unidades centrais de processamento que atuam de forma independente
(chamados "núcleos"), que são as unidades que ler e executar as instruções do programa.
Os múltiplos núcleos podem executar várias instruções ao mesmo tempo, aumentando a
velocidade geral para programas passíveis de computação paralela. 

Processadores foram originalmente desenvolvidos com apenas um núcleo. Os


processadores multi-core foram desenvolvidos no início de 2000 pela Intel, AMD e outros. 

6
Paralelismo a nível de Processador

Esse tipo de paralelismo é uma técnica que busca o ganho de desempenho associando
duas ou mais CPUs organizados para executar uma determinada tarefa. São usadas as seguintes
técnicas:

• Computadores matriciais (Matriz de processadores dedicados)


• Multiprocessadores (Conjunto de processadores independentes)
• Multicomputadores

Paralelismo a nível de instrução (Pipeline)

O paralelismo de instrução é baseado na execução simultânea de mais de uma instrução


pela CPU, sendo cada instrução em um estágio diferente do ciclo de instruções. Voltaremos a
falar mais afundo das Pipelines.

Paralelismo por Software

É possível executar um programa com capacidade de dividir uma tarefa em pequenas


partes e executá-las em paralelo. Como por exemplo diversos cálculos matemáticos ou até
mesmo atender a requisição de vários clientes, sem que seja necessário formar uma fila de
processamento.

Pipeline

A segmentação de instruções (pipeline) é uma técnica de hardware que permite que


a CPU realize a busca de uma ou mais instruções além da próxima a ser executada. Estas
instruções são colocadas em uma fila de memória dentro do processador (CPU) onde aguardam o
momento de serem executadas: assim que uma instrução termina o primeiro estágio e parte para
o segundo, a próxima instrução já ocupa o primeiro estágio.

7
Em resumo, é o processo pelo qual uma instrução de processamento é subdividida em
etapas, uma vez que cada uma destas etapas é executada por uma porção especializada da CPU,
podendo colocar mais de uma instrução em execução simultânea. Isto traz um uso mais racional
da capacidade computacional com ganho substancial de velocidade. Entre os problemas
enfrentados estão a dependência de instruções anteriores e desvios que dificultam o processo,
bem como a diferença de complexidade de instruções que fazem com que as mesmas possam
levar um tempo variável para execução.

Arquitetura Superescalar

Processador superescalares exploram paralelismo em nível de instruções de maneira a


capacitar a execução de mais de uma instrução por ciclo de clock. Este tipo de processador
decodifica múltiplas instruções de uma vez e o resultado de instruções de desvio condicional são
geralmente preditas antecipadamente, durante a fase de busca, para assegurar um fluxo
ininterrupto.

Na Arquitetura superescalar, várias instruções podem ser iniciadas simultaneamente e


executadas independentemente umas das outras. A arquitetura pipeline permite que diversas
instruções sejam executadas ao mesmo tempo, desde que estejam em estágios diferentes
do pipeline.

As arquiteturas superescalares incluem todos os aspectos do pipeline e ainda


acrescentam o fato de as instruções poderem estar executando no mesmo estágio
do pipelining (em linhas pipelining diferentes). Assim, elas têm a habilidade de iniciarem
múltiplas instruções no mesmo ciclo de clock. A forma como estão dispostos e utilizados as
estruturas e os componentes do processador define o modelo da arquitetura de um processador.
Há diversas classificações de arquiteturas de processadores baseadas nas suas políticas e nos
caminhos de execução dos dados.

8
Uma arquitetura superescalar deve possuir uma série de componentes especiais para
executar mais de uma instrução por ciclo:

 Unidade de Busca de Instruções: capaz de buscar mais de uma instrução por ciclo.
Possui também um preditor de desvios, que deve ter alta taxa de acerto, para poder
buscar as instruções sem ter que esperar pelos resultados dos desvios.
 Unidade de Decodificação: capaz de ler vários operandos do banco de registradores a
cada ciclo. Note que cada instrução sendo decodificada pode ler até dois operandos
do banco de registradores.
 Unidades Funcionais Inteiras e de Ponto Flutuante: em número suficiente para
executar as diversas instruções buscadas e decodificadas a cada ciclo.

9
Conclusão

Assim concluímos o nosso trabalho onde abordamos de algumas arquiteturas e como elas
encaram a execução de instruções, este trabalho e de caracter avaliativo e introdutório, como foi
abordado notamos que há muito mais temas que podemos abordar ou ate mesmo desenvolver os
mesmos já abordados aqui.

10

Você também pode gostar