SóProvas



Questões de Processamento Paralelo


ID
11944
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2004
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Ao se escolher uma configuração de computador do tipo PC,
diversos aspectos devem ser considerados, como custo,
desempenho, tipo de aplicação etc. Com relação às características
de configuração desse tipo de computador, julgue os itens a seguir.

Atenção especial deve ser dada ao processador, o principal
elemento do computador. Uma indicação de alta capacidade
de processamento é a utilização de superpipeline na sua
arquitetura, que é a capacidade de o processador gerenciar
simultaneamente diversos pipelines paralelos.

Alternativas
Comentários
  • A arquitetura superpipeline subdivide cada
    estágio do pipeline em subestágios e
    múltiplica o clock internamente

    Cada subestágio continua executando uma
    instrução por clock, mas como o clock
    interno é multiplicado, o pipeline pode
    aceitar duas ou mais instruções para cada
    clock externo.
  • Processadores SuperpipelineOs processadores Superpipeline tomam vantagemdo paralelismo de instruções para reduzir o tempo do ciclo.Num Processador Superpipeline, os estágios doprocessador pipeline são divididos emsubestágios. O grau de superpipeline é medido pelo númerode subestágios em que é dividido um estágio.Para obter a subdivisão dos estágios, é necessário ter um relógio funcionando numa freqüência múltipla da freqüência do estágio de forma a poder lançar a execução de uma instrução a cadasubestágio.Superpipelines podem obter resultados mais rapidamente que Superescalares em operações simples graças ao fato de obter resultados nos meios-estágios.Pontos negativos:• Existe a necessidade de usar, entre ossubestágios, registradores que ajudam a aumentar o ciclo total da instrução. • Existe uma necessidade maior de controle que leva a existir um skew do relógio (atraso devido ao tempo de comunicação).Origem: http://www.inf.ufrgs.br/gppd/disc/cmp134/prog/SScalar5_4.pdf
  • Eu não entendi o erro da questão!

  • Há dois conceitos misturados na questão: arquitetura superpipeline e arquitetura superescalar.

    Arquitetura Superpipeline: cada instrução não requer um ciclo de relógio completo para ser executado. Um ciclo de instrução pode ser resumido como sendo busca da instrução, decodificação, busca do operando, execução. Numa pipeline comum, cada um leva um ciclo de relógio. Numa superpipeline, cada instrução leva menos que metade de um ciclo de relógio. Então, considere, p. ex:
    Considere que x, de "Instrução x", seja cada uma das instruções do ciclo de instrução (busca, dec, op, exec).


    Pipeline normal:

    Instrução 1 Instrução 2 Instrução 3 Instrução 4
                       Instrução 1 Instrução 2 Instrução 3 Instrução 4
                                          Instrução 1 Instrução 2 Instrução 3 Instrução 4
                                                             Instrução 1 Instrução 2 Instrução 3 Instrução 4

    SuperPipeline:

    Instrução 1 Instrução 2 Instrução 3 Instrução 4
           Instrução 1 Instrução 2 Instrução 3 Instrução 4
                  Instrução 1 Instrução 2 Instrução 3 Instrução 4
                         Instrução 1 Instrução 2 Instrução 3 Instrução 4



    Percebe-se que na superpipeline as instruções levam menos de 1 ciclo de relógio para serem executadas.

    Em uma arquitetura Superescalar:

    Instrução 1 Instrução 2 Instrução 3 Instrução 4
    Instrução 1 Instrução 2 Instrução 3 Instrução 4
                       Instrução 1 Instrução 2 Instrução 3 Instrução 4
                       Instrução 1 Instrução 2 Instrução 3 Instrução 4


    Percebe-se que na superescalar há um paralelismo, que é a definição da questão. No exemplo acima, há duas pipelines em paralelo.
















  • Gostei do esclarecimento do Wilson mas gostaria de ser mais objetivo quanto a resposta mesmo discordando da formulação da pergunta.

    Gerenciar simultaneamente diversos pipelines paralelos é sim uma vantagem do superpipeline porém a técnica superescalar faz uso do paralelismo real com duas ou mais instruções sendo processadas em paralelo, com melhora significativa da performace.

    Conclusão: É uma pergunta difícil pois apesar de usar a vantagem do paralelismo ele não se baseia no paralelismo real usado pela técnica superescalar, gerando dúvida quanto a resposta correta. Eu mesmo errei a resposta devido ao superpipeline fazer uso desta vantagem. Não achei a pergunta muito bem formulada.
  • Pipeline: permite que todos os elementos da CPU funcionem ao mesmo tempo(ex: um componente busca, outro decodifica, outro executa etc), minimizando, assim, a ocorrência de circuitos ociosos. 

    Superpipeline:

    Alguns pesquisadores, entretanto, perceberam que, quando se subdividia a pipeline em um maior número de níveis, alguns destes estágios precisavam de muito menos tempo de execução que um ciclo de clock. Assim, propôs-se o uso de um duplicador de clock interno na CPU, de maneira que muitos destes estágios do pipeline pudessem ser finalizados na metade do tempo, acelerando ainda mais o processamento final.

    Ressaltando que o aumento de desempenho é oriundo de um menor tempo de processamento de cada instrução(elas ainda estão sendo executadas uma a uma).

  • A definição da questão seria correta se alterado superpipeline por SUPERESCALAR.

     

    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).

  • Gabarito Errado

    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.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

     

     


ID
17902
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Seja A uma máquina hipotética com tempo de ciclo de 5 ns e sem paralelismo no nível de instrução. Assumindo-se que cada estágio demora um ciclo de relógio, qual opção indica uma latência e um número de estágios no pipeline de uma máquina hipotética B suficientes para que B tenha uma largura de banda de processador superior ao da máquina A?

Alternativas
Comentários
  • O pipeline possibilita que em cada estágio esteja sendo processada uma instrução. Logo, para efeito de comparação, podemos ter o número de instruções sendo processadas simultâneamente igual ao número de estágios.

    Vamos comparar as latências. Quanto menor a latência, maior será a largura de banda, já que são grandezas inversamente proporcionais. Considerando, claro, que os processadores possuem mesma frequencia de processamento.
    Como não sabemos quantos estágios tem cada processador, até porque, o número de estágios varia de acordo com o processador, vamos supor um número fixo, por exemplo, 4, para facilitar as contas, já que a maior parte das alternativas possui 2 estágios que é um divisor de 4 e exatamente 4 na letra “e)”.

    Para 4 estágios (ou 4 instruções), temos:
    Máquina A (a máquina do enunciado) -> 4 x 5ns => 20ns (x 5ns, pois cada estágio gasta 5ns)
    a) 2 instruções em 12ns, x(2) -> 4 instruções em 24ns (mais lento)
    b) 2 instruções em 14ns, x(2) -> 4 instruções em 28ns (mais lento)
    c) Para compararmos as informações desta alternativa com a máquina A, vamos fazer o MMC(5,4) que é igual a 20.
    Máquina do enunciado: 4 instruções em 20ns, ou multiplicando por 5: 20 instruções em 100ns
    Máquina desta alternativa: 5 instruções em 20ns, ou multiplicando por 4: 20 instruções em 80ns (mais rápido que nossa máquina A)
    d) Para compararmos as informações desta alternativa com a máquina A, vamos fazer o MMC(3,4) que é igual a 12.
    Máquina do enunciado: 4 instruções em 20ns, ou multiplicando por 3: 12 instruções em 60 ns
    Máquina desta alternativa: 3 instruções em 24ns, ou multiplicando por 4: 12 instruções em 72ns (mais lento)
    e) 28 ns de latência e 4 estágios, ou seja, 4 instruções em 28 ns (mais lento)

    Logo, mostramos que a máquina que consegue processar mais informações em menos tempo, ou seja, possui maior largura de banda do barramento do que a máquina A, é a máquina da letra C.

    Um abraço a todos os concursandos.
    Eric Hanzelmann - UFRJ
  • Temos uma instrução a cada 5 ns.Na máquina hipotética:Sabendo que cada estágio você paraleliza a instrução, em cada ciclo:a) 12/2 = 6, >5b) 14/2 = 7, >5c) 20/5 = 4, <5 <- Uma instrução a cada 4 segundos.d) 24/3 = 8, >5e) 28/4 = 7, >5Throughput relativo = Latência / N º EstágiosPortanto a máquina com 20 ns de latência porém com 5 estágios tem mais throughput.
  • largura de banda de processador é a quantidade de instruções executadas em um intervalo de tempo. Este conceito também é chamado de throughput (vazão) de processamento.

    Para máquina A o enunciado especifica que não há paralelismo no nível de instrução, ou seja, somente uma instrução é executada por vez, o throughput de um processador pode ser calculado com a seguinte equação:

    throughput = (número de estágios no pipeline) / latência , onde a latência é o tempo de execução de um estágio.

    Então, o throughput da máquina A é:  throughput A = 1/5ns = 200 milhões de instruções/ s.

    O enunciado pergunta qual opção indica uma latência e um número de estágios no pipeline de uma máquina hipotética B suficientes para que B tenha uma largura de banda de processador superior ao da máquina A.

    Calcula-se o throughput de cada uma das alternativas:
    a) 2/12ns = 166,67 milhões de instruções por segundo
    b) 2/14ns = 142,86 milhões de instruções por segundo
    c) 5/20ns = 250,00 milhões de instruções por segundo
    d) 3/24ns = 125,00 milhões de instruções por segundo
    e) 4/28ns = 142,86 milhões de instruções por segundo

    A única alternativa que traz um throughput maior que o throughput da máquina A é a letra C.

ID
32731
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Sobre o processamento paralelo e distribuído, assinale a afirmação correta.

Alternativas
Comentários
  • A diferença entre um sistema distribuído e um computador paralelo está no objetivo que se tem quando se usa o sistema. Em que o computador paralelo é definido como uma coleção de elementos de processamento que cooperam e comunicam para resolver problemas de uma maneira bem mais rápida. Poderíamos dizer então que os sistemas paralelos são um tipo específico de sistema distribuído.

    http://under-linux.org/f72896-paralelo-x-distribuido
  • Um sistema distribuído com o acoplamento fraco não usa memória compartilhada por processos, isso ocorre no acoplamento forte, pois a arquitetura é única e interligada fisicamente.
  • Um Sistema Distribuído pode ser classificado como um conjunto de computadores com seu próprio clock e que não possuem memória compartilhada, e é visto pelos seus usuários como um sistema de recurso único, também chamado de imagem única do sistema (SSI - Single System Image), que se comunicam entre si através de uma barramento por troca de mensagens. Estes sistemas são considerados por meio destas características como fracamente acoplados, ou seja, um cluster ou agregado de máquinas.A diferença entre um sistema de multiprocessamento paralelo (SMP) de um sistema distribuído é que em um sistema de processamento distribuído, uma ou várias unidades de processamento (CPU) estarão separadas fisicamente da(s) outra(s), enquanto que num sistema SMP todas as unidades de processamento se encontram na mesma máquina. Ambos os sistemas são capazes de processamento paralelo, e qualquer um deles pode ser visto como elemento de um sistema distribuído!http://pt.wikipedia.org/wiki/Sistema_de_processamento_distribu%C3%ADdo
  • Arquiteturas de Sistemas Distribuídos
    • Sistema distribuído
    – O processamento de informações é distribuído em
    vários computadores ao invés de confinado em
    uma única máquina.
    – Bastante comum em qualquer organização
    • Estilos de arquitetura comuns
    – Arquiteturas de múltiplos processadores
    – Arquiteturas cliente-servidor
    – Arquiteturas de objetos distribuídos
    – Computação interorganizacional

  • Características do sistema distribuído
    • Compartilhamento de recursos
    – Compartilhamento de recursos de hardware e software.
    • Interoperabilidade
    – Uso de equipamento e software de fabricantes diferentes.
    • Concorrência
    – Processamento concorrente para aumentar o desempenho.
    • Escalabilidade
    – Capacidade ampliada pela adição de novos recursos.
    • Tolerância a falhas
    – A capacidade de continuar em operação após a ocorrência de uma falha.
    • Complexidade
    – Tipicamente, sistemas distribuídos são mais complexos que sistemas
    centralizados.
    • Segurança
    – Mais suscetível a ataques externos.
    • Gerenciamento
    – Mais esforço é necessário para o gerenciamento do sistema.
    • Imprevisibilidade
    – Respostas imprevisíveis dependendo da organização do sistema e da
    carga de rede.

  • Um sistema de processamento distribuído ou paralelo é um sistema que interliga vários nós de processamento (computadores individuais, não necessariamente homogéneos) de maneira que um processo de grande consumo seja executado no nó "mais disponível", ou mesmo subdividido por vários nós. Conseguindo-se, portanto, ganhos óbvios nestas soluções: uma tarefa qualquer, se divisível em várias subtarefas pode ser realizada em paralelo.

    A nomenclatura geralmente utilizada neste contexto é HPC (High Performance Computing) e/ou DPC (Distributed/Parallel Computing).

  • a) CERTA

    b) ERRADA

    O acoplamento fraco significa que dois ou mais computadores são interligados, compartilhando alguns recursos (impressora, etc), mas são autônomos, ou seja, possuem processadores e memória próprios.

    c) ERRADA

    Por utilizar-se de vários processadores para execução de uma mesma tarefa, é necessário que se conheça a arquitetura, para seu gerenciamento (distribuir os cálculos entre processadores, etc).

    d) ERRADA

    O grid computacional é um exemplo de processamento fracamente acoplado, pois o grid é como uma malha de computadores que fornecem n serviços. Um exemplo é o home banking, onde por trás da requisição do cliente, vários computadores (servidores, mainframe, servidores web, de aplicação, etc) se interagem para fornecer o serviço. A internet atende aos requisitos de grid computacional. Sendo assim, obviamente que há a possibilidade de haver segurança, através de diversos protocolos, como SSL, HTTPS, etc.

    e) ERRADA

    Como o nome diz, o acoplamento forte induz a um alto grau de dependência entre os componentes do processo, ou seja, dos processadores e memória.


ID
126775
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2010
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Supondo operação em dois modos: paralelo - com todos os processadores totalmente utilizados, serial - com apenas um processador em uso, que fração da computação original pode ser sequencial para obter uma aceleração igual a 90 com 120 processadores?

Alternativas
Comentários
  • Esta questão já dá a dica de como resolver. Ela fala dos modos paralelos e sequenciais. E busca a parcela que é sequencial, não paralelizável, da computação.Logo, a fórmula a ser usada é a de Amdahl:S: Speed-Up (Aceleração)p: processadoresb: fração sequencial do programaS = 1 /{b+[(1-b)/p]}
  • Usando a fórmula de aumento de velocidade você chega a resposta da questão.
    A.V. = n / 1 + (n -1)f

    Onde:
    A.V. = Aumento de velocidade (aceleração)
    n = número de processadores
    f = fração sequencial

    Substituindo na fórmula, temos: 90 = 120 / 1 + (120 - 1)f
    Resolvendo, você chegará a: f = 30 / 10710 que terá como resultado 0,00280112. Como a questão deseja saber a fração em %, basta multiplicar o resultado por 100, e você chegará ao valor da resposta: 0,28%.

    A explicação em detalhes você encontra no livro "Organização Estruturada de Computadores" de Andrew Tanenbaum. Tópico 8.4.7 - Desempenho.
  • Pessoal, como chego nesse resultado por essa fórmula?
    A.V. = n / 1 + (n -1)f
    Substituindo na fórmula, temos: 90 = 120 / 1 + (120 - 1)f
    ***Resolvendo, você chegará a: f = 30 / 10710 que terá como resultado 0,00280112.

    Até consegui achar o 90*119 que deu o 10710, mas confesso que não consegui chegar até a expressão f = 30 / 10710.

    Alguém pode me ajudar?

ID
155413
Banca
FCC
Órgão
MPE-RN
Ano
2010
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma das formas de alcançar maiores velocidades dos computadores é o uso do paralelismo que pode ser introduzido em muitos níveis diferentes. Nesse contexto é correto afirmar:

Alternativas
Comentários
  • Tipos de paralelismo
    [editar] No bit
    A partir do advento da tecnologia de fabricação de chip VLSI na década de 1970 até cerca de 1986, o aumento da velocidade na arquitetura de computador era obtido dobrando-se o tamanho da palavra, a quantidade de informação que o processador pode executar por ciclo.[17] Aumentar o tamanho da palavra reduz a quantidade de instruções que um processador deve executar para realizar uma operação em variáveis cujo tamanho é maior do que o da palavra.
    Historicamente, microprocessadores de quatro bits foram substituídos por oito, então para dezesseis e então para trinta e dois. A partir de então, o padrão 32-bit se manteve na computação de uso geral por duas décadas. Cerca de 2003, a arquitetura 64-bit começou a ganhar mais espaço.
    [editar] Na instrução
    Um pipeline canônico de cinco estágios em uma máquina RISC (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back)
    Em sua essência, um programa de computador é um fluxo de instruções executadas por um processador. Tais instruções podem ser reordenadas e combinadas em grupos que então são executados em paralelo sem mudar o resultado do programa. Isso é conhecido por paralelismo em instrução. Avanços nessa técnica dominaram a arquitetura de computador de meados da década de 1980 até meados da década de 1990.[18]
    Processadores modernos possuem pipeline com múltiplos estágios. Cada estágio corresponde a uma ação diferente que o processador executa em determinada instrução; um processador com um pipeline de N estágios pode ter até N diferentes instruções em diferentes estágios de execução. O exemplo canônico é o processador RISC, com cinco estágios: instruction fetch, decode, execute, memory access e write back. O processador Pentium 4 possui um pipeline de 35 estágios.

  • Divisão da Execução da Instrução em 5
    estágios:
    – Busca da Instrução na Memória (B)
    – Leitura dos Registradores e Decodificação
    da Instrução (D)
    – Execução da Instrução / Cálculo do
    Endereço de Desvio (E)
    – Acesso a um Operando na Memória (M)
    – Escrita de um Resultado em um
    Registrador (W)

  • Dois conceitos importantes para a questão:

    Sistemas fortemente acoplados possuem apenas uma memória principal que é compartilhada entre vários processadores. Dividem-se nas arquiteturas SMP(multiprocessador simétrico) e NUMA(memória de acesso nao uniforme).

    Em sistemas fracamente acoplados cada processador tem a sua memória individual. São os clusters.

  • Porque não poderia ser a letra D, já que a resposta diz "normalmente" e não "sempre" ou "obrigatoriamente".
    Um sistema fortemente acoplado (sua máquina por exemplo) possui seu próprio sistema operacional e gerencia seus próprios recursos...
  • Talvez uma possível explicação para a sua pergunta Anderson, seja que a questão fala níveis de paralelismo.  Na sua máquina a menos que ela tenha mais de um processador não haverá paralelismo. Se ele tiver mais de um processador, haverá paralelismo, porém não terá um SO para cada processador tendo ele gerenciando seus próprios recursos? Não sei se consegui ser claro.
  • Comentando e respondendo a dúvida do colega Anderson, mesmo após longos 7 anos..

     

    O colega cometeu um pequeno engano na sua citação:

    "Um sistema fortemente acoplado (sua máquina por exemplo) possui seu próprio sistema operacional e gerencia seus próprios recursos..."

     

    O que possuímos nas nossas máquinas, nas nossas casas, SÃO MULTIPROCESSADORES, pois 1 ou mais CPUS compartilham acesso total a uma RAM comum.

    Um sistema fortemente acoplado, possui uma grande diferença de um multiprocessador que é CADA PROCESSADOR TEM UMA MEMÓRIA LOCAL interligado por uma INTERFACE DE REDE dedicada, com multiplos sistemas operacionais e um sistema de arquivo.

     

    Espero ter sanado sua dúvida.!

     

    Obs.: reforçando o gabarito, ALTERNATIVA C


ID
172114
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Os computadores mais avançados implementam o conceito de paralelismo, ou seja, processamento simultâneo, que pode ocorrer de formas distintas. A forma de paralelismo em que cada instrução é subdividida em diversas partes e cada uma é executada em diferentes estágios da UCP é conhecida como:

Alternativas
Comentários
  • Pipeline é a execução de uma instrução em esquema de" linha de montagem". A CPU é dividia em unidades funcionais distintas sequenciais.

    Overlay é quando um processo se substitui com o código de outro programa.

    Array Processor ou vector processor ou Processador matricial é um processador composto de um grande número de processadores idênticos, que executam a mesma sequencia de instruções sobre diferentes conjuntos de dados.

    Connection Machine -> http://en.wikipedia.org/wiki/Connection_Machine

  • Paralelismo de instrução é conhecido também como pipeline , o objetivo dele é otimizar as atividades da CPU


ID
314572
Banca
FCC
Órgão
TRT - 1ª REGIÃO (RJ)
Ano
2011
Provas
Disciplina
Arquitetura de Computadores
Assuntos

No contexto de processamento paralelo, o paralelismo pode ser introduzido em vários níveis. No nível mais baixo, ele pode ser adicionado

Alternativas
Comentários
  • Esta questão foi anulada. A alternativa dada como correta é, na verdade, a única incorreta.
  • Olá, pessoal!

    Essa questão foi anulada pela organizadora.


    Bons estudos!

ID
370654
Banca
FCC
Órgão
TCE-GO
Ano
2009
Provas
Disciplina
Arquitetura de Computadores
Assuntos

É o tipo de processamento paralelo em que computadores com mais de um processador com as mesmas características compartilham o mesmo barramento e a mesma memória:

Alternativas
Comentários
  • O multiprocessamento simétrico (também conhecido como SMP, Symmetric Multiprocessing) possibilita que um sistema de computador tenha mais de uma CPU compartilhando todos os recursos do sistema. Isto significa que, ao contrário do sistema com um processador, um sistema SMP pode ter mais de um processo rodando ao mesmo tempo.


    Fonte: http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-pt_br-4/s1-bandwidth-processing.html


ID
648016
Banca
FCC
Órgão
TCE-AP
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

No contexto da organização de sistemas de computadores,

I. o ciclo busca-decodificação-execução pode ser executado, também, por um interpretador de software que roda em um nível mais baixo.

II. computadores paralelos incluem processadores matriciais, nos quais a mesma operação é efetuada sobre múltiplos conjuntos de dados ao mesmo tempo.

III. computadores paralelos incluem multiprocessadores, nos quais várias CPUs compartilham uma memória em comum.

IV. computadores paralelos podem ser formados por multicomputadores, cada um com sua própria memória, mas se comunicando por transmissão de mensagens.

Está correto o que afirma em

Alternativas
Comentários
  • I. o ciclo busca-decodificação-execução pode ser executado, também, por um interpretador de software que roda em um nível mais baixo. (Correto, São os chamados microprogramas da CPU)

    II. computadores paralelos incluem processadores matriciais, nos quais a mesma operação é efetuada sobre múltiplos conjuntos de dados ao mesmo tempo. (Um exemplo de processador matricial moderno são as GPUs. Algumas como as da NVidea possuem linguamgens próprias (CUDA) para transformar a GPU em uma GPGPU - General Pourpose Grapycal Processing Unit)

    III. computadores paralelos incluem multiprocessadores, nos quais várias CPUs compartilham uma memória em comum. (Basta lembrar dos SMPs - Symmetric multiprocessors)

    IV. computadores paralelos podem ser formados por multicomputadores, cada um com sua própria memória, mas se comunicando por transmissão de mensagens.(Um exemplo são os Cluster)
  • A afirmação I está ambígua e cabe anulação.

    o ciclo busca-decodificação-execução pode ser executado, também, por um interpretador de software que roda em um nível mais baixo

    Mais baixo em relação a que?
    • Se for em relação à execução "tradicional" do ciclo busca-decodificação-execução, está errada. Microprogramação é um nível mais alto.
    • Se for em relação aos interpretadores de software "tradicionais", está certa.
  • Justificando as 2 ultimas alternativas: Na área de processamento paralelo existem dois paradigmas principais de programação, Memória Compartilhada(fortemente acoplados) e Troca de Mensagens(fracamente acomplados).

    E existem 4 arquiteturas: SISD, MISD, SIMD e MIMD, sendo esta última mais usada e dividida em:

    - Multiprocessadores, com memória compartilhada;

    - Multicomputadores, com memória distribuida.

    O modelo de programação em memória compartilhada é direcionado para arquiteturas nas quais múltiplos processadores compartilham um único espaço de memória. A comunicação entre os processadores ocorre através da leitura(STORE) e escrita(LOAD) nesses dados compartilhados.

    Um outro modelo de processamento paralelo é direcionado para arquiteturas de troca de mensagens. Nesse modelo, processadores não compartilham memória. Ao invés disso, eles enviam(SEND) e recebem(RECEAVE) mensagens através da rede de interconexão. Todos os dados são privados e a única forma de um processador obter uma informação que não está na sua memória local é requisitando-a ao processador que a possui.

    Existe ainda a possibilidade de usar um modelo híbrido de comunicação com troca de informações por memória compartilhada dentro do nó SMP e troca de informações por mensagens entre os nós.


ID
697366
Banca
FCC
Órgão
TRE-SP
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

O paralelismo tem sido uma das formas mais utilizadas na busca de maior velocidade nos computadores e pode ser introduzido em diferentes níveis, do mais baixo até o mais alto. O paralelismo, no qual uma instrução ou uma sequência de instruções emite múltiplas operações que podem ser executadas em paralelo por diferentes unidades funcionais, pode ser definido como de nível

Alternativas
Comentários
  • alguém poderia me explicar essa questão? achei q seria a letra E, alto paralelismo e fraco acolplamento.
    desde já obrigada!
  • Entendi que a questão refere-se ao paralelismo de mais baixo nível, ou seja, pipelining. Uma ou mais instruções (baixo nível) emitem múltiplas operações. Essas operações são executadas em diferentes unidades funcionais (unidades básicas: busca, decodificação, execução etc.). Trata-se de um paralelismo de baixo nível e fortemente acoplado.
    Um exemplo de paralelismo de alto nível e fracamente acoplado sería um sistema distribuído, mas nesse caso, penso que o paralelismo não seria realizado a nível de instruções.
    Gente, esse foi o meu entendimento da questão.
  • Sistemas fracamente acoplados

    O sistema é fracamente acoplado quando depende da rede para distribuir a tarefa de processamento. Ou seja, as CPUs estão em computadores diferentes. E cada computador tem seu próprio sistema operacional e independentemente gerencia os seus próprios recursos. Ex: Sistemas operacionais distribuídos.

    Sistemas fortemente acoplados

    Sistemas fortemente acoplados são os que têm mais de um processador ligado no mesmo barramento. Nesse caso, existe processamento paralelo, aumento da capacidade de processamento, compartilhamento da memória e de periféricos e também tolerância a falhas [se um processador parar, o outro continua funcionando]. Os sistemas fortemente acoplados se dividem em 2 partes: simétricos (um grupo de processadores trabalha em conjunto compartilhando uma única memória através de um único barramento), assimétricos (processadores não são tratados igualmente e existe um processador que é o mestre e controla o sistema)

    É de baixo nível porque ocorre em nível de instruções (baixo nível), caso fosse em alto nível seria algo mais perceptível aos humanos (ex: linguagem java).

  • Pipeline e um conceito de sistemas fortemente acoplado. Como eh a nivel de instrucao podemos deduzir que e baixo nivel.

  • • As CPUs Fortemente aclopadas – 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.

    • As CPUs Fracamente aclopadas – 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.

     

    fonte muito boa para arquitetura: https://sites.google.com/site/unipliarquitetdecomputadores/aulas/aula-15---arquitetura-de-computadores-com-paralelismo-cluster-cloud

     

  • Pessoal, atenção aqui!!!

    Existe uma diferença entre "Paralelismo em nível de Instruções" e "Paralelismo em nível de Processador".

    A primeira é o que denominamos de "Pipeline" e a segunda de "Multiprocessamento".

    Em nível de instrução, esta é dividida em várias fases/etapas permitindo que elas sejam executadas de forma paralela.

    Em nível de processador, permitem-se que várias tarefas/processos sejam executados em paralelo.

    De fato, essa questão está abordando o "Paralelismo em nível de Instruções".

     

    ** A propósito, qdo a questão menciona " diferentes unidades funcionais", pense em nas unidades básicas de busca, decodificação, execução.


ID
697369
Banca
FCC
Órgão
TRE-SP
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Assinale a alternativa INCORRETA:

Alternativas
Comentários
  • Se as threads vao executarem de maneira concorrente, vai fazer com que o processo termine em menos termpo! Não entendi a resposta!
  • Rogério, a decomposição de um processo em várias threads não significa, necessariamente, que este será executado em menos tempo. Nesses casos deve ser considerada a possibilidade de execução paralela.
  • Um sistema peer ro peer (par-a-par), como o nome indica, se refere a uma interação entre 2 (dois) pares, não caracterizando, portanto, um sistema onde interagem vários computadores.
    Por outro lado, o uso de multi-threading tem o objetivo de paralelizar as operações e obter melhor performance, embora isto somente seja alcançavel se o hardware tiver recursos para esta paralelização.
  • a) O fato de transferir complexidade do software para o hardware confere à arquitetura CISC a capacidade de facilitar o trabalho do programador. Sim, a arquitetura CISC possui centenas de instruçoes já prontas, tendo o programador apenas a tarefa de conheçe-las para programar a arquitetura do processador. b) Peer-to-peer pode ser entendida como uma arquitetura tipicamente distribuída, tendo em vista seu objetivo de explorar recursos, tanto de hardware quanto de software, de um grande número de computadores para cumprimento de uma tarefa ou atividade. Sim, na arquitetura P2P, há vários dispositivos de hardwares(computadores), q interagem via software(Kazaa, emule etc) para realizar uma tarefa, por exemplo, baixar um filme. c) O suporte a threads num sistema operacional tem como propósito permitir que um processo decomposto em vários threads seja executado em menos tempo. Errado! Nunca confunda threads com processos. São coisas distintas. A paralelização tanto de um como de outro não é possivel, porem, no caso das threads, a alternancia entre elas num mesmo processo é bem mais rápida, pela ausencia de troca de contexto. Sistemas multithreading não são usados para q o processo seja executado mais rapidamente, mas para q mais tarefas(processos) sejam executadas ao mesmo tempo. Ou seja, ela permite apenas q muitas atividades sejam executadas ao mesmo tempo, mas isso não significa q um processo termine mais rapido. Como exemplo ilustrativo, imagine q um usuario q usa sistemas mutlthread precise executar tres procesos, como o word, o media player e o IE8. Ele conseguirá executa-los os 3 ao mesmo tempo com bom desempenho; porem, o processo word, individualmente, levara o mesmo tempo para ser executado no caso se fosse monothread. Sendo monothread, os tres apliccativos citados levariam mais tempo. Ou seja, a vatangem multithread está no conjunto dos processos a executar. Individualmente, a execução continua a mesma. d) O desempenho de um sistema de arquivos pode ser melhorado de várias maneiras, dentre as quais, a leitura antecipada e a colocação cuidadosa dos blocos de um arquivo próximos uns dos outros. Sim, a leitura antecipada deixa o arquivo disponivel antes mesmo de ele ser requisitado, o q evita ter q buscar o arquivo depois; já deixar os blocos de arquivos proximos, faz com q a varredura do cabeçote de leitura do HD leia varios blocos em sequencia, ao inves de ter q procurar blocos em diferentes posicoes(para isso se usa o desfragmentador de discos). e) Determinar como um recurso é compartilhado é tarefa do sistema operacional, por meio do gerenciamento do tempo e do espaço. Como tô respondendo as questoes de cabeça, vou pesquisar ainda sobre essa.
  • Vou citar um exemplo de uso de thread que foi necessário na empresa onde trabalhava e que não tem nada a ver com ganho de performance e velocidade:

    Era um sistema web, que tinha um relatório pesadíssio pra rodar. Acontece que esse relatório, além de trazer as informações, ele alterava registros no banco (pra marcar que aquela informação já foi mostrada no relatório, e não teria que ser exibida em um novo relatório). Como era grande e lento, as vezes o usuário cancelava o processo no meio, e aí já viu. Estragava tudo.

    A solução foi criar uma thread para o relatório. O cara clicava pra gerar, e aí a thread era iniciada. Quando o relatório estivesse pronto, ele ia ver na tela. Não precisava mais ficar esperando terminar.

    Não sei se fui claro, mas nesse caso, não tem a ver com tempo. O tempo de geração do relatório é basicamente o mesmo.

  • Uma parábola para a trhead:
    Temos dois carros, x e y, que andam a 100km/h. Ambos precisam chegar numa cidade que está a 100 km de distância e dentro de 1 hora.

    Sem  thread: o carro x irá sozinho até a cidade. Após chegar o carro y poderá iniciar a viagem. Resumo: tempo gasto por x = 1h; tempo gasto por y = 1h; x + y = 2h.

    Com thread: o carro x irá sozinho até a metade do caminho e parará, então o carro y poderá iniciar viagem indo também até a metade do caminho e parando. O carro x retomará viagem até concluir. Após x chegar no final, y retomará até concluir.
    Resumo: 
     x = 0,5h (andou 50 km e parou);  
     y = 0,5h  (andou 50 km e parou);  
     x = x + 0,5h  (andou + 50 km);  
     y = y + 0,5h  (andou + 50 km); 

      x + y = 2h

      Conclusão: mesmo tempo total para conclusão!
     
     Fonte: massa cefálica de 1.500 ml   :P
  • A alternativa "a" também não estaria incorreta? Veja, ela afirma que CISC transfere a complexidade do software para o hardware... Não seria o contrário?

  • Airton Junior,

     

    Marquei a A justamente por isso. Também acredito que esteja incorreta.

  • CISC facilita a vida do programador (de baixo nível) pois fornece muitas instruções em variados formatos de forma que é provável que sempre exista uma que irá facilitar a vida do programador. Já o RISC por ter menos instruções, tem de confiar muito na tecnologia de compiladores para ser capaz de traduzir uma instrução (em linguagem de alto nível) para a um conjunto de intruções (software) de baixo nível capaz de executá-la.

     

    Só acredito que o item A se equivoca ao não restringir e dizer facilitar o trabalho do programador de baixo nível. Afinal isso só faz sentido quando falamos em linguagem de montagem. Pra quem programa Java, ou mesmo C por exemplo, não faz diferença se o processador é x86 ou ARM.

     

  • Alguém explica a E?

  • Explicando a letra E:

    Gerenciamento do tempo está normalmente associado ao uso do processador. Por exemplo, pode-se citar o "time-slice", em que cada processo terá uma fatia de tempo para o uso do processador. O "tempo real" tbém é uma forma de Gerenciamento do tempo, onde um processo de maior prioridade tomará o uso do processador.

     

    Gerenciamento do espaço está normalmente associado ao uso da memória. Ex.: Quando um processo é criado, o sistema operacional cria um espaço de endereçamento alocado exclusivamente ao processo. Quando uma thread é criada, o SO compartilha o espaço de endereçamento do processo ao qual ele está vinculado e esse compartilhamento está associado ao gerenciamento no mesmo espaço de memória.

  • FCC é bisonha nas questões de TI, tem a mania de a assertiva sempre ser a mais certa ou a mais errada pra se gabaritar

    sobre threads, não é garantido que seu processo execute em menos tempo

    Multiprocessadores: Sim

    monoprocessador: nao

  • a A está completamente correta, você pode usar até para estudar, CISC é isso aí, e ele tem instruções complexas e é mais lento que os RISC que têm instruções simples, mas é bem mais difícil programar para RISC, quem já usou Assembly sabe bem.

  • Na internet encontrei a seguinte resposta para letra C:

    O suporte a threads num sistema operacional justifica-se porque:

    Correct Answer:

    Simplifica a programação de aplicações com muitas atividades simultâneas.


ID
713245
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2011
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma das mais famosas taxonomias utilizadas para a classificação de computadores paralelos é proposta por Flynn, que se baseia em dois conceitos: sequência de instruções e sequência de dados.
Nessa categorização, um sistema computacional é classificado como

Alternativas
Comentários
  • Letra E.

    Para enriquecer os estudos...

    .

    Máquinas MIMD (Multiple Instruction Multiple Data) são arquiteturas caracterizadas pela execução simultânea de múltiplos fluxos de instruções. Essa capacidade deve-se ao fato de que são construídas a partir de vários processadores operando de forma cooperativa ou concorrente, na execução de um ou vários aplicativos. Essa definição deixa margem para que várias topologias de máquinas paralelas e de redes de computadores sejam enquadradas como MIMD. A diferenciação entre as diversas topologias MIMD é feita pelo tipo de organização da memória principal, memória cache e rede de interconexão.

  • A taxonomia introduzida por Flynn (Flynn, 1972) é ainda a forma mais comum de classificar sistemas de processamento paralelo. Flynn propôs as seguintes categorias de sistemas de computação:

    Única instrução, único dado (SISO - single instruction, single data): um único processador executa uma única seqüência de instruções, usando dados armazenados em uma única memória. Um sistema uniprocessador pertence a essa categoria.

    Única instrução, múltiplos dados (SIMD - single instruction, multiple data): uma única instrução de máquina controla a execução simultânea de um certo número de ele- 652 ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Cap. 16 mentos de processamento, em passos de execução. Cada elemento de processamento tem uma memória de dados a ele associada, de modo que cada instrução é executada sobre um conjunto de dados diferente em cada processador. Os processadores vetoriais e matriciais pertencem a essa categoria.

    Múltiplas instruções, único dado (MISO - multiple instruction, single data): uma seqüência de dados é transmitida para um conjunto de processadores, cada um dos quais executa uma seqüência de instruções diferente. Essa estrutura nunca foi implementada.

    Múltiplas instruções, múltiplos dados (MIMO): um conjunto de processadores executa simultaneamente seqüências diferentes de instruções, sobre conjuntos de dados distintos. Os SMPs, clusters e sistemas NUMA pertencem a essa categoria.

  • MIMD - Atua nos processadores atuais, implementando memória compartilhada(Forte) e distribuída(Fraca).


ID
717274
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Arquitetura de Computadores
Assuntos

É o tipo de arquitetura paralela que consiste em máquinas formadas por milhares de CPUs padronizadas que apresentam bom desempenho pela quantidade de processadores e que, geralmente, utilizam uma rede de interconexão proprietária de desempenho muito alto. Trata-se de

Alternativas
Comentários
  • Gabarito letra B

    MPP (Massively Parallel Processor).

  • FCC, nos dias atuais, não é mais a Fundação Copia e Cola, mas em 2010... Fala sério!

    O examinador ao mencionar máquinas formadas por milhares de CPU e utilizando uma rede como interconexão nos deixa somente duas opções:

    B) MPP

    ou

    E) COW

    Pois são multicomputadores.

    Até aqui podemos resolver sem copiar e cola.

    Porém a FCC foi escavar na internet e encontrou o conceito:

    "As multicomputadores podem ser divididos em máquinas MPPs (Massive Parallel Processor) e COWs (Cluster of Workstations). Os MPPs são os supercomputadores que utilizam processadores padrão como o IBM RS/6000, a família Dec Alpha ou a linha Sun UltraSPARC. Uma outra característica dos MPPs é o uso de redes de interconexão proprietárias, de alta performance, baixa latência e banda passante alta."

    GABARITO ALTERNATIVA B


ID
717280
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em relação às arquiteturas paralelas, considere:

I. vários processos podem se comunicar apenas lendo e escrevendo na memória;

II. todas as CPUs veem a mesma imagem de memória e apenas um mapa de páginas e uma tabela de processos;

III. primitivas de software send e receive costumam ser utilizadas na comunicação entre processos;

IV. subdividir os dados corretamente e posicioná-los em localizações ótimas não é tão importante, visto que o posicionamento não afeta a correção ou a programabilidade.

Os itens I a IV referem-se a

Alternativas
Comentários
  • • Sistemas de memória compartilhada: espaço de endereço comum compartilhado no sistema.

           • Comunicação se dá através de variáveis compartilhadas

           • Variáveis de controle para sincronização entre processadores (semáforos, monitores).

     

    • Sistemas de multicomputadores (NUMA ou troca de mensagens) que não têm espaço de endereçamento comum fornecido pela arquitetura/hardware necessariamente comunicam-se por troca de mensagens.

     

    Primitivas de troca de mensagens: send() e receive()

     

    Fonte: http://www.ic.unicamp.br/~bit/ensino/mc714_2s13/aulas/aula05.pdf


ID
754453
Banca
Marinha
Órgão
Quadro Complementar
Ano
2011
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em relação aos sistemas computacionais multiprocessados, assinale a opção correta.

Alternativas
Comentários
  • O gabarito é a letra E.

     

    Programas paralelos necessitam de certos paradigmas para a sua estruturação. O primeiro paradigma refere-se à operação de uma thread de controle sobre um conjunto grande de dados. É chamado de SPMD (Single Program Multiple Data).

     

    Um segundo paradigma é o Pipeline, no qual os dados são operados por um 1° processo que os envia para um 2° processo e assim por diante. Pipelines UNIX funcionam desta maneira e podem ser executados como processos separados operando simultaneamente.

     

    Outro paradigma estabelece uma computação em fases. Em cada fase, múltiplos processos operam em paralelo e é preciso esperar até que todos tenham terminado a operação para o início de uma nova fase. Tal paradigma é chamado de computação por fases.

     

    O quarto paradigma, denominado dividir para conquistar, estabelece que um processo pode subdividir-se em outros processos para a divisão da carga de trabalho. Os processos assim gerados podem dividir-se subseqüentemente.

     

    O último paradigma é conhecido como replicated worker ou também task farm, no qual uma fila de tarefas centralizada despacha as tarefas para os trabalhadores (processos). Assim que um processo termina a sua computação ele busca uma nova tarefa na fila. Se durante a execução de um processo novas tarefas são geradas, estas são enviadas para a fila centralizada.

  • A) Ainda que não haja software que execute em paralelo, os sistemas computacionais multiprocessados são muito úteis na execução de tarefas. (Acredito que o erro esteja nessa primeira parte)

    B) O controle do paralelismo pode ser introduzido no Nível das Instruções, onde são executadas mais instruções pelo fator tempo. (Instruções e Processadores)

    C) Um processador matricial é composto de um grande número de processadores similares, que executam sequências diferentes de instruções, sobre o mesmo conjunto de dados.

    D) Sistemas multicomputadores possuem memória comum compartilhada a todos os processadores, e a comunicação entre os processos é feita uma unidade de controle externa. (Sistemas multicomputadores possuem memórias separadas, não ocorre o compartilhamento de memória. Cada CPU tem a sua memória privada.)

    E) Além dos processadores permitirem a execução em paralelo, é necessário um paradigma que defina como estruturar os programas de modo a tirar proveito do paralelismo.

    #PegaOBizu


ID
776509
Banca
CESGRANRIO
Órgão
Chesf
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Um sistema, rodando em um computador com processamento paralelo do tipo single-instruction multiple data (SIMD), não pode ser considerado como um sistema distribuído.

PORQUE


Sistemas distribuídos consistem em uma coleção interconectada de processadores e/ou computadores autônomos, conhecidos como nós, com o propósito de executar uma ou mais aplicações.

Analisando-se as afirmações acima, conclui-se que

Alternativas
Comentários
  • Segundo a classificação de Flynn temos:
    SISD (Single Instruction Single Data) -> um único processador executa uma única sequência de instruções sobre um único fluxo de dados. Ex: computadores comuns monoprocessados;
    SIMD (Single Instruction Multiple Data) -> vários elementos processadores, cada um com uma memória de dados, executam um mesmo conjunto de instruções sobre dados diferentes. Ex: processadores vetoriais ou matriciais. Este é o caso citado pela afirmação I;
    MISD (Multiple Instruction Single Data) -> os dados são enviados a um conjunto de processadores. Cada um desses processadores executa um conjunto de instruções diferente sobre os dados. É como se fosse um pipeline de processadores. Nunca foi implementado.
    MIMD (Multiple Instruction Multiple Data) -> vários processadores executam conjuntos de instruções diferentes. ao mesmo tempo, em conjuntos de dados diferentes. Ex: SMP (multiprocessadores simétricos), clusters, sistemas NUMA (Non- Uniform Memory Access).
    Considerando que a segunda afirmativa é uma definição de sistemas distribuídos, temos que a alternativa "a" é a opção correta.

ID
902371
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

De acordo com a taxonomia de Flynn, utilizada para classificar sistemas de processamento paralelo, os sistemas multiprocessados e os aglomerados pertencem à categoria

Alternativas
Comentários
  • Resposta: Letra "A"

    MIMD
    é um acronimo de Multiple Instruction Multiple Data. É um tipo de arquitectura de computação conjugada. Consiste em CPUs diferentes que executam programas iguais compartilhando memória comum e cálculos coincidentes, cada processador tem acesso a memória compartilhada através do barramento lógico.
  • taxonomia de Flynn abrange quatro classes de arquiteturas de computadores:

    SISD (Single Instruction Single Data): Fluxo único de instruções sobre um único conjunto de dados. SIMD (Single Instruction Multiple Data): Fluxo único de instruções em múltiplos conjuntos de dados. MISD (Multiple Instruction Single Data): Fluxo múltiplo de instruções em um único conjunto de dados. MIMD (Multiple Instruction Multiple Data): Fluxo múltiplo de instruções sobre múltiplos conjuntos de dados.
  • Taxonomia de Flynn:
    SISD ->
    uma CPU/processador executa instruções diferentes em dados também diferentes. É a arquitetura mais simples e mais comum nos computadores pessoais que utilizamos.
    SIMD -> cada instrução é executada em um vetor de dados. Esta arquitetura é utilizada em processadores vetoriais ou matriciais. Estes processadores são úteis para processar uma grande quantidade de cálculos científicos, por exemplo.
    MISD -> múltiplas unidades funcionais executam operações diferentes em um mesmo dado. Não há exatamente uma máquina conhecida que utilize esta arquitetura, porém, algumas literaturas consideram o pipeline como exemplo dessa arquitetura (há controvérsias).
    MIMD -> várias CPUs/processadores executando simultaneamente sequências de instruções diferentes sobre fluxos de dados também diferentes. Exemplo: Clusters, Sistemas de Multiprocessamento Simétrico, sistemas NUMA.

ID
1078393
Banca
IDECAN
Órgão
CREFITO-8ª Região(PR)
Ano
2013
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma das maneiras de se melhorar o desempenho do sistema é utilizar múltiplos processadores que possam executar em paralelo para suportar uma certa carga de trabalho. Relacione as colunas acerca dos tipos de processadores paralelos.

1. Instrução única, único dado.
2. Instrução única, múltiplos dados.
3. Múltiplas instruções, único dado.
4. Múltiplas instruções, múltiplos dados.

( )Sequência de dados transmitida para um conjunto de processadores, onde cada um executa uma sequência de instruções diferentes.
( )Conjunto de processadores que executam sequências de instruções diferentes simultaneamente em diferentes conjuntos de dados.
( )Processador único que executa uma única sequência de instruções para operar nos dados armazenados em uma única memória.
( ) Instrução única de máquina controla a execução simultânea de uma série de elementos de processamento em operações básicas.

A sequência está correta em

Alternativas
Comentários
  • Gabarito: A


ID
1122028
Banca
FCC
Órgão
SABESP
Ano
2014
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em qualquer sistema ......, a CPU chaveia de programa para programa, executando cada um deles por dezenas ou centenas de milissegundos. Estritamente falando, enquanto a cada instante a CPU executa somente um programa, no decorrer de um segundo ela pode trabalhar sobre vários programas, dando aos usuários a ilusão de paralelismo.

A lacuna é preenchida corretamente por:

Alternativas
Comentários
  • Letra E.

     

    Multiprogramação

    2.1 - Mecanismo básico

    Vários programas são mantidos na memória principal (RAM) ao mesmo tempo.

     

    Quando o programa (ou processo) em execução faz uma chamada de sistema (isto ocorre a todo instante), o sistema operacional é acionado para atender a solicitação. Muitas vezes o sistema operacional aciona algum periférico para atender a solicitação feita pela chamada de sistema do processo. Esta solicitação é atendida muito rapidamente (para nós humanos). Para a escala de tempo da CPU (que funciona a alguns gigahertz de freqüência) o serviço prestado pelo periférico (um acesso ao disco rígido por exemplo) "demora muito". Este tempo pode ser precioso para executar outras tarefas, outros programas ou rotinas do próprio sistema operacional. Deste modo, o programa que fez a chamada de sistema é colocado no estado que se chama bloqueado, até que a solicitação que fez seja atendida. Durante este período de bloqueio, outros programas são executados. Isto é a multiprogramação.

     

    Objetivo da multiprogramação: Aproveitar momentos ociosos de CPU (tipicamente existentes durante operações de entrada e saída (E/S , ou input/output - I/O) para processar outros programas (mais corretamente chamados de processos).

     

    Existe também a situação em que o programa é retirado da CPU sem ter feito uma chamada de sistema, para que outro programa seja executado. Isto é compartilhamento de tempo (time sharing) e também é multiprogramação.

     

    Todos os computadores modernos podem fazer várias coisas "ao mesmo tempo". Enquanto executa um programa do usuário, um computador também pode estar lendo a partir do disco e dando saída a texto para uma tela ou impressora. Em um sistema de multiprogramação, a CPU também alterna de um programa para outro, executando cada um por dezenas ou centenas de milissegundos. Enquanto, estritamente falando, em qualquer instante de tempo, a CPU está executando só um programa, no curso de 1 segundo, ela pode funcionar para vários programas, dando aos usuários a ilusão de paralelismo.

     

    Às vezes, as pessoas falam de pseudoparalelismo querendo referir-se a essa rápida alternância da CPU entre programas, em contraste com o paralelismo verdadeiro em hardware dos sistemas multiprocessadores (que têm duas ou mais CPUs compartilhando a mesma memória física). Monitorar múltiplas atividades paralelas é um problema complicado. Assim, com os anos, os projetistas de sistemas operacionais (S.O.) desenvolveram um modelo (processos seqüenciais) que torna o paralelismo mais fácil de tratar.

     

    Fonte: http://www.jabour.com.br/uss/so/so_b.html

     


ID
1272454
Banca
MPE-RS
Órgão
MPE-RS
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Para oferecer suporte à multiprogramação, os processadores modernos têm pelo menos dois modos de operação: núcleo e usuário. Sobre esses modos de operação, é correto afirmar que

Alternativas
Comentários
  • Gabarito: C


ID
1419370
Banca
FCC
Órgão
TCE-GO
Ano
2014
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma forma de melhorar o desempenho do sistema é usar múltiplos processadores que possam executar em paralelo para suportar certa carga de trabalho. Duas organizações mais comuns de múltiplos processadores são descritas a seguir:

I. Consiste de vários processadores semelhantes dentro de um mesmo computador, interconectados por um barramento ou algum tipo de arranjo de comutação.
II. Consiste em um grupo de computadores completos e interconectados trabalhando juntos, como um recurso computacional unificado que pode criar a ilusão de ser apenas uma máquina.

I e II são, respectivamente,

Alternativas
Comentários
  • Eu sabia com certeza a definição da II, que é um cluster pois são múltiplas máquinas

  • multiprocessamento simétrico ou SMP (Symmetric Multi-Processing) ocorre em um sistema computacional com vários processadores com memória compartilhada sob controle de um único sistema operacional. Este método também é chamado de "processamento paralelo". 

    http://pt.wikipedia.org/wiki/Multiprocessamento_sim%C3%A9trico

  • Matei pela Definição de II

  • Multiprocessadores simetricos smp

    Copia do SO na memoria
    Qualquer cpu pode executar e fazer uso dessa memoria
    Elimina o gargalo do modelo mestre-escravo

  • A definição de Cluster facilitou. Um cluster são vários computadores ligados, no mesmo hack, que compartilham recursos entre si, podendo até realizar tarefas complexas em questão segundos/minutos


ID
1588630
Banca
COSEAC
Órgão
UFF
Ano
2015
Provas
Disciplina
Arquitetura de Computadores
Assuntos

A técnica que consiste em acelerar o desempenho dos processadores, reduzindo o tempo de execução das instruções para poucos ciclos e executando várias instruções quase que totalmente em paralelo, é:

Alternativas
Comentários
  • 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.


    Fonte: https://pt.wikipedia.org/wiki/Pipeline_(hardware)

  • Memória Virtual:Recurso desenvolvido pela Intel que permite usar o disco rígido para gravar dados caso a memória RAM se esgote;

    USB: Universal Serial Bus (USB) é um tipo de conexão "ligar e usar" que permite a fácil conexão de periféricos sem a necessidade de desligar o computador.

    A multiprogramação consiste na execução em paralelo (ou de forma concorrente) de vários programas ao mesmo tempo.


ID
1942822
Banca
CESPE / CEBRASPE
Órgão
Telebras
Ano
2015
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Acerca da organização e da arquitetura de hardware de computadores, julgue o item subsequente.

No método de processamento paralelo secundário passivo, nem sempre o servidor secundário precisa ter acesso aos bancos de dados utilizados pelo servidor primário.

Alternativas

ID
2132728
Banca
FUNCAB
Órgão
IF-AM
Ano
2014
Provas
Disciplina
Arquitetura de Computadores
Assuntos

São estruturas utilizadas para implementação do processamento paralelo de dados em um computador ou em um agrupamento de computadores: 

Alternativas
Comentários
  • Letra B

     

    Uma fonte ótima para consultas: https://www.redhat.com/archives/fedora-users-br/2006-December/pdfXbBDApNiw1.pdf

  • b-

    ou agrupamento de computadores.

    agrupamento == cluster

    SIMD within a register (SWAR), also known by the name "Packed SIMD"[1] is a technique for performing parallel operations on data contained in a processor register. SIMD stands for single instruction, multiple data. Many modern general-purpose computer processors have some provisions for SIMD, in the form of a group of registers and instructions to make use of them.

    https://en.wikipedia.org/wiki/SWAR


ID
2279842
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2016
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Com relação a placas de vídeo modernas, julgue o próximo item, acerca de GPU (graphics processing unit).

Uma GPU reduz o uso do processador principal do computador relacionado às tarefas de geração e processamento de imagens.

Alternativas
Comentários
  •  GPU é capaz de lidar com um grande volume de cálculos matemáticos e geométricos, condição trivial para o processamento de imagens 3D (utilizadas em jogos, exames médicos computadorizados, entre outros).

    Para que as imagens possam ser geradas, a GPU trabalha executando uma sequência de etapas, que envolvem elaboração de elementos geométricos, aplicação de cores, inserção de efeitos e assim por diante.

    Fonte: WWW.INFOWESTER

  • Certo.

    Para complementar:

    GPU (Graphics Processing Unit, ou Unidade de Processamento Gráfico), conhecido também como VPU ou unidade de processamento visual, é o nome dado a um tipo de microprocessador especializado em processar gráficos em computadores pessoais, estações de trabalho ou videogames. GPUs modernas manipulam gráficos computadorizados com eficiência e sua estrutura de processamento paralelo os tornam mais capazes neste tipo de trabalho que CPUs normais. Uma GPU normalmente é utilizada em placas de vídeo (este é chamado de Placa de Vídeo Offboard ou Placa de Vídeo Dedicada), mas versões simplificadas são integradas diretamente na placas-mãe o que é chamado de Acelerador Gráfico Integrado ou Placa de Vídeo Onboard.[1]

     

    https://pt.wikipedia.org/wiki/Unidade_de_processamento_gr%C3%A1fico

  • Antigamente as placas de vídeo possuíam somente memória.

    Nos dias atuais, como a demanda por capacidade gráfica é grande, as placas de vídeo possuem GPUs, que são processadores dentro da própria placa de vídeo.

    Com as GPUs, de fato a geração e processamento de imagens fica a cargo da própria placa, desonerando o processador desta tarefa.

    Item correto.

  • CERTO

    É A FAMOSA PLACA DE VÍDEO.

  • Gabarito: Certo

    GPU - Executa uma sequência de etapas relacionadas, entre outras, com a elaboração de elementos geométricos, aplicação de cores e inserção de efeitos.

  • Os GAMERS não erram essa =D

ID
2324896
Banca
IFB
Órgão
IFB
Ano
2017
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Considerando-se a taxonomia de sistemas de computação com capacidade de processamento paralelo, associe as arquiteturas de máquinas presentes na primeira coluna (sistemas de computadores) com as descrições sucintas da segunda coluna.
I) SISD
II) SIMD
III) MISD
IV) MIMD
( ) Um conjunto de elementos processadores executa simultaneamente sequências de instruções diferentes em diferentes conjuntos de dados.
( ) Um grupo de elementos processadores executam diferentes sequências de instruções sobre um mesmo conjunto de dados.
( ) Um único processador executa uma única sequência de instruções para operar em dados armazenados em um único sistema de memória principal.
( ) Uma única instrução controla diversos elementos processadores paralelos, cada um atuando sobre o seu próprio conjunto de dados (memória).
Assinale a alternativa que contém a sequência CORRETA, de cima para baixo na segunda coluna.

Alternativas
Comentários
  • Bastava saber o significado das siglas:

    SISD (Single Instruction, Single Data stream)

    SIMD (Single Instruction, Multiple Data streams)

    MISD (Multiple Instruction, Single Data stream)

    MIMD(Multiple Instruction, Multiple Data streams)

     

    Leitura complementar:

    http://thedestination-vaibhav.blogspot.com.br/2010/05/parallel-processing-sisdsimdmimdmisd.html

  • Gabarito: C

  • Provavelmente vc vá ficar entre C e D

    Só lembrar que SISD = Uniprocessador.

    - SISD = SIMPLES INSTRUÇÕES e SIMPLES DADOS, Von Neumann, UNIPROCESSADOR.

    - SIMD = SIMPLES INSTRUÇÕES e MÚLTIPLOS DADOS, Super PC Vetorial, Processador Array, Vetor Pipeline.

    - MISD = MÚLTIPLAS INSTRUÇÕES e SIMPLES DADOS, Nenhum.

    - MIMD = MÚLTIPLAS INSTRUÇÕES e MÚLTIPLOS DADOS, Multiprocessador, Multicomputador.

    GAB C

  • Letra C

    SISD (Single Instruction Single Data)

    • suportam apenas uma sequência de intruções e apenas uma sequência de dados.
    • maior dos computadores com um processador se enquadram nesta categoria.
    • trabalham com dados escalares e, portanto processam vetores sequencialmente (um componente de cada vez)

    SIMD (Single Instruction Multiple Data)

    • suportam apenas uma sequência de instruções, mas múltiplas sequências de dados.
    • permitem a manipulação de vetores inteiros simultaneamente, permitindo a execução de uma mesma instruçao sobre diferentes elementos de um ou mais vetores.

    MISD (Multiple Instruction Single Data)

    • permite múltiplas sequências de instruções e uma única sequência de dados.
    • até o momento, não existe nenhum computador desenvolvido com esta arquitetura.

    MIMD (Multiple Instruction Multiple Data)

    • suporta múltipas sequências de instruções e múltipas sequências de dados.
    • computadores com múltiplos processadores se enquadram nesta categoria.

    Fonte: MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de sistemas operacionais . 5 ed. Rio De Janeiro: Livros Técnicos e Científicos Editora S.A.-LTC, 2017.


ID
2475106
Banca
Quadrix
Órgão
CRQ 4ª Região-SP
Ano
2013
Provas
Disciplina
Arquitetura de Computadores
Assuntos

A Arquitetura de Alto Desempenho para computadores faz uso do Paralelismo. Essa forma de executar instruções em um computador garante o desenvolvimento de utilização de computadores em áreas especiais como: Climatologia, análise estrutural, Diagnóstico por imagem etc. A seguir, algumas afirmações referentes a técnicas ou tipos de tecnologia para o processamento paralelo.

I. Pipeline realiza computações superpostas a fim de explorar paralelismo temporal.

II. Arranjo de processadores utiliza múltiplas unidades lógicas e aritméticas síncronas para obter paralelismo espacial.

III. Multiprocessadores implementam paralelismo assíncrono por meio de um conjunto de processadores interativos com compartilhamento de recursos.

Está correto somente o que se afirma em:

Alternativas
Comentários
  • Letra D.

     

    I - Sugere-se o Paralelismo em nível de Instrução;

    II - Sugere-se o Paralelismo em nível de Processamento - Acesso Uniforme à Memória (Uniform Memory Access – UMA) ou Multiprocessadores Simétricos (Symmetric Multi-Processor – SMP

    III - Sugere-se o Paralelismo em nível de Processamento - Acesso Não-Uniforme à Memória (Non-Uniform Memory Access – NUMA) ou Assimétrico.

  • Conteúdo retirado do seguinte link:

    http://www.eng.uerj.br/~ldmm/Arquiteturas_de_Alto_Desempenho/Paralelismo.pdf

    Página 9.

  • A Técnica de Pipeline realiza um paralelismo do processamento, atenção, caso o processador não conter mais de um núcleo o paralelismo não é real, apenas virtual.


ID
2476678
Banca
COPEVE-UFAL
Órgão
MPE-AL
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

De acordo com a definição de sistemas paralelos, afirmativas seguintes,

I. É possível organizar o hardware em sistemas com várias UCPs através de vários processadores tipicamente homogêneos e localizados em um mesmo computador.

II. Sistemas paralelos multicomputadores dependem de uma arquitetura onde cada processador possui sua própria memória local.

III. Sistemas paralelos multiprocessadores podem compartilhar memória de forma homogênea ou heterogênea.

IV. Não é possível obter uma arquitetura que apresente multiprocessadores em barramento.

verifica-se que está(ão) correta(s)

Alternativas
Comentários
  • IV. Não é possível obter uma arquitetura que apresente multiprocessadores em barramento.

    Errada.

     

    Multiprocessamento simétrico

    Os acessos dos processadores aos dispositivos de entrada e saída e a memória são feitos por um mecanismo de intercomunicação constituído por um barramento único.

    https://pt.wikipedia.org/wiki/Multiprocessamento_sim%C3%A9trico

     

     

    Letra E


ID
2510935
Banca
FCC
Órgão
ARCE
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em um sistema com multiprogramação, em qualquer instante de tempo, a CPU

Alternativas
Comentários
  • Letra A.

    Na Multiprogramação temos a presença de processos CONCORRENTES, mas apenas UM estará no estado de "Em execução".

    Qdo trabalha-se com fatia de tempo, o processo é preemptado da CPU após o término do seu tempo e vai para o final da fila de pronto. Se for um funcionamento baseado em prioridade, ele pode voltar o início da fila de pronto caso tenha mais prioridade que os demais na fila, mas menor prioridade do que aquele que tomou o seu lugar no estado de execução.

     

    No Multiprocessamento temos a presença de processos CONCORRENTES e SIMULTÂNEOS. Com a presença de dois um mais processadores, o SO será capaz de gerenciar mais de dois processos no estado de "Em execução".


ID
2522845
Banca
FCC
Órgão
DPE-RS
Ano
2017
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Há índices que indicam o desempenho de diferentes aspectos de um programa paralelo como: 1. desempenho da aplicação, que envolve os índices Speed Up − SU (fator de aceleração) e eficiência; e 2. desempenho da rede de interconexão, que envolve os índices latência e vazão. O índice

Alternativas
Comentários
  • O speedup é uma medida do grau de desempenho. O speedup mede o rácio entre o
    tempo de execução sequencial e o tempo de execução em paralelo

  • No link abaixo, tem uma explicação bem simple sobre speed up: 

    http://www.inf.unioeste.br/~guilherme/tsc/aula9.pdf

     

  • O speedup é uma medida do grau de desempenho. O speedup mede o rácio entre o tempo de execução sequencial e o tempo de execução em paralelo;

    A eficiência de uma aplicação é tipicamente uma função crescente do tamanho do problema porque a complexidade de comunicação é habitualmente inferior à complexidade da computação, ou seja, a forma de manter o mesmo nível de eficiência quando aumentamos o número de processadores é aumentar o tamanho do problema;

    Latência: quantidade de tempo necessário para transitar um caminho de um ponto A para outro ponto B. O tempo de latência não depende da largura de banda.

    Largura de Banda: Quanto dados podem ser transmitidos em paralelo ao longo de um caminho.

  • Gabarito: C


ID
2569987
Banca
FCC
Órgão
TRF - 5ª REGIÃO
Ano
2017
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Considerando os diferentes tipos de organização utilizadas para implementar processamento paralelo, um Analista afirma corretamente:

Alternativas
Comentários
  • Questão basicamente respondida na apostila:

    https://www.redhat.com/archives/fedora-users-br/2006-December/pdfXbBDApNiw1.pdf

    a)Processamento paralelo com Swar (Simd Withn a Register) Consiste em utilizar as instruções MMX disponibilizadas nos novos processadores (Pentium MMX), para realizar tarefas em paralelo. Requer programação em baixo nível. Observe que com swar você pode fazer processamento paralelo em uma máquina com um único processador.

     

    b)SMP é uma sigla que designa computadores com mais de um processador com as mesmas características, daí o termo Symetric Multi Processor.Requer máquinas com dois ou mais processadores.Os programas devem ser desenvolvidos com o uso de múltiplas threads (multi-threadings) ou múltiplos-processos (multi-processing). Correta!

     

    c)Beowulf é uma tecnologia de cluster que agrupa computadores rodando GNU/Linux para formar um supercomputador virtual via processamento paralelo (distribuído).Requer o uso de uma biblioteca de mensagens como PVM ou MPI, ou o uso de múltiplos processos com o Mosix. 

    Letras D:

    MISD = Multiplas intruções 1 dado. (errado)

    Letra E:

    SIMD= 1 instrução multiplos dados (errado)

     

     

    Para complementar:

    SISD : 1 instrução 1 dado (não paralelo)

    MIMD: multiplas instruções multiplos dados.

  • Letra B

     

    Para complementar:

     

    SISD (Single Instruction, Single Data stream)

    SIMD (Single Instruction, Multiple Data streams)

    MISD (Multiple Instruction, Single Data stream)

    MIMD(Multiple Instruction, Multiple Data streams)

     

    Leitura complementar:

    http://thedestination-vaibhav.blogspot.com.br/2010/05/parallel-processing-sisdsimdmimdmisd.html


ID
3136000
Banca
Exército
Órgão
EsFCEx
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma das maneiras mais comuns de categorizar sistemas de capacidade de processamento paralelo é a taxonomia introduzida por Flynn em 1972, que propõe a categorização de sistemas computacionais levando-se em conta instruções computacionais e dados.


Assinale a alternativa que possua a categoria em que uma sequência de dados é transmitida para um conjunto de processadores, onde cada um executa uma sequência de instruções diferentes.

Alternativas
Comentários
  • MISD - Multiple instruction - Single data

    Máquinas MISD operam várias instruções diferentes em um único dado. É quase que um modelo completamente teórico, sem nenhum exemplo real (embora algumas pessoas usem o pipeline de instruções como exemplo de máquina MISD).

  • Taxonomia de Flynn:

    SISD (Single Instruction Single Data): Fluxo único de instruções sobre um único conjunto de dados.

    SIMD (Single Instruction Multiple Data): Fluxo único de instruções em múltiplos conjuntos de dados.

    MISD (Multiple Instruction Single Data): Fluxo múltiplo de instruções em um único conjunto de dados.

    MIMD (Multiple Instruction Multiple Data): Fluxo múltiplo de instruções sobre múltiplos conjuntos de dados.

    ______________________________________________________________________________________

    NUMA (Non-Uniform Memory Acess): Escala múltiplos processadores na memória principal.

    Fonte: <http://wiki.icmc.usp.br/images/0/0c/SSC0510-Aula12.pdf>

  • GABARITO LETRA A

    Apenas complementando:

    Atenção ao enunciado da questão:

    Assinale a alternativa que possua a categoria em que uma sequência de dados ( = SINGLE DATA) é transmitida para um conjunto de processadores, onde cada um executa uma sequência de instruções diferentes ( = MULTIPLE INSTRUCTION).

    Logo, refere-se a categoria MISD (Multiple Instruction Single Data): Fluxo múltiplo de instruções em um único conjunto de dados.


ID
3180322
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2018
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Hoje em dia, as GPUs, que originalmente eram processadores gráficos, têm sido utilizadas para várias tarefas de computação de alto desempenho. Uma das formas que esses dispositivos têm de aumentar seu desempenho é executar uma mesma instrução em um conjunto de dados em paralelo. Por exemplo, uma única instrução de soma pode ser usada para somar duas matrizes (a soma será executada em paralelo para cada posição das matrizes).

Esse tipo de processamento paralelo é descrito, na classificação de Flynn, como 

Alternativas
Comentários
  • SIMD - Single Instruction-stream Multiple Data-stream , ou fluxo único de instruções, fluxo múltiplo de dados - consiste em um grande número de processadores idênticos que efetuam a mesma sequência de instruções sobre diferentes conjuntos de dados.

     

    Organização Estruturada de Computadores 6ed

    Tanenbaum

  • Unica instrucao no caso eh ADD?
  • SISD - 1 instrução / 1 Dado

    SIMD - 1 instrução / * Dados

    MISD - * instruções / 1 Dado

    MIMD - * intenções / * Dados

    Taxinomia de Flynn - Desempenho dos fluxos das arquiteturas de computadores, de acordo com cada fluxo existe um tipo de topologia e processador, como por exemplo: MDMI são empregadas nos processadores atuais.

  • Matheus Ferreira ótima dica

ID
3186229
Banca
COMPERVE
Órgão
UFRN
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Com o advento da era de múltiplos núcleos de processamento, ou era multicore, diversos modelos de programação paralela se popularizaram. Sobre esses modelos de programação, é correto afirmar:

Alternativas

ID
3186232
Banca
COMPERVE
Órgão
UFRN
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

O estudo da escalabilidade de sistemas paralelos investiga como a eficiência desses sistemas está relacionada com o tamanho do problema que deve ser resolvido assim como está relacionada com o tamanho da máquina utilizada para resolver o problema. Em relação ao exposto, é correto afirmar:

Alternativas

ID
3186265
Banca
COMPERVE
Órgão
UFRN
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Sobre os diversos mecanismo de exclusão mútua disponíveis no OpenMP, é correto afirmar:

Alternativas

ID
3186268
Banca
COMPERVE
Órgão
UFRN
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Com o mecanismo de tarefas, ou tasks, o OpenMP permite que diversos tipos de computação não regular possam ser paralelizados. Sobre tarefas em OpenMP, é correto afirmar:

Alternativas
Comentários
  • possuem seu próprio código, ambiente de dados e variáveis de controle


ID
3189568
Banca
COPEVE-UFAL
Órgão
IFAL
Ano
2016
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Dadas as afirmativas relativas às tecnologias e fundamentos da Organização e Arquitetura de computadores,

I. A tecnologia hyper-threading é uma tecnologia que envolve necessariamente a presença de múltiplos núcleos de processamento, proporcionando execução paralela de instruções, tráfego de dados e acesso à memória.

II. A tecnologia conhecida como hyper-threading teve seu surgimento com o processador Pentium 4, mas nos processadores modernos, como por exemplo, o processador Intel Core i7, não é mais utilizada.

III. Dois fatores que motivam o uso de discos rígidos do tipo SSD, em comparação com discos rígidos magnéticos, são o seu rápido tempo de resposta e o baixo nível de ruído sonoro.

verifica-se que está(ão) correta(s) 

Alternativas
Comentários
  • Hyper-Thread: A Tecnologia Intel Hyper-Threading permite simular uma quantidade maior de núcleos, para que um núcleo consiga realizar (2 ou +) atividades ao mesmo tempo/simultaneamente.

     

    Turbo Boost: A tecnologia Turbo Boost da Intel aumentar automaticamente a velocidade do processador, verificando a frequência, voltagem e temperatura do processador.

    Fonte: Estratégia Concursos

  • A técnica de hyperthreading passou a ser usada a partir do Pentium 4, e ainda é utilizada, basta ver processadores com 2 núcleos físicos e 4 Lógicos por exemplo, essa tecnologia pode ser empregada a partir de um único núcleo que vai se tornar logicamente dois processadores.

    Resposta: B - 3, apenas.


ID
3210124
Banca
FGV
Órgão
SEE-PE
Ano
2016
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Sobre a tecnologia Hyper-threading (hiperprocessamento), introduzida pela Intel no mercado de microcomputadores e servidores, é correto afirmar que

Alternativas
Comentários
  • Gabarito: E

    Um efeito colateral do Hyper-Threading é o aumento do consumo de energia e, consequentemente, a dissipação térmica do processador em 6 a 8%.

    É comum que a temperatura do processador suba 5 ou 6 graus Celsius, o que pode prejudicar a estabilidade do sistema, caso a ventilação dentro do gabinete não seja boa e o processador já esteja trabalhando próximo do limite.

    Os aplicativos que costumam apresentar perdas mais frequentes de desempenho são sobretudo os aplicativos do dia a dia, como navegadores, editores de texto e planilhas.

    Fonte: https://pt.wikipedia.org/wiki/Hyper-threading


ID
3309529
Banca
FUNDEP (Gestão de Concursos)
Órgão
INB
Ano
2018
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Com relação à hierarquia de memória em máquinas de vários núcleos (multicores), assinale a alternativa INCORRETA.

Alternativas
Comentários
  • D) Caches de diferentes núcleos obrigatoriamente trocam mensagens entre si com o intuito de trocarem informações.

    "Se duas caches contêm a mesma linha, e a linha é atualizada em uma cache, a outra cache terá um valor inválido sem saber. Leituras subsequentes dessa linha inválida produzem resultados inválidos. Mesmo com a política de write-through, inconsistências podem ocorrer a não ser que outras caches monitorem o tráfego de memória ou recebam alguma notificação direta sobre a atualização." (STALLINGS, W.)

  • Sobre a letra A, é exatamente isso o que as memórias chache fazem. Elas são divididas as níveis: L1, L2, L3.


ID
3339010
Banca
IDECAN
Órgão
UNIVASF
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Analise as afirmativas a seguir sobre a técnica de paralelismo:

I. Em sistema com porta única para memória de dados e de instrução, se duas (ou mais) instruções acessam dados e/ou instruções da memória, temos um exemplo de hazard de controle no nosso pipeline.
II. Em um pipeline, quando uma instrução depende do resultado da instrução anterior que ainda não foi concluída, dizemos que temos um exemplo de hazard de dados.
III. Uma maneira de evitar um hazard estrutural é a duplicação de um recurso para permitir todas as combinações de instruções que queremos executar em um mesmo ciclo de clock.
IV. O adiantamento (Bypassing ou Forwarding) de dados é uma técnica para resolver alguns tipos de hazard de dados que consiste em utilizar o elemento de dado a partir dos buffers internos em vez de esperar que chegue nos registradores visíveis ao programador ou na memória.

Assinale

Alternativas
Comentários
  • I. Em sistema com porta única para memória de dados e de instrução, se duas (ou mais) instruções acessam dados e/ou instruções da memória, temos um exemplo de hazard de controle( hazard Estrutural ) no nosso pipeline.

    II. Correta

    III. Correta

    IV. Correta

    GABARITO DA QUESTÃO, ALTERNATIVA C


ID
3714124
Banca
FUNDEPES
Órgão
Prefeitura de São Joaquim de Bicas - MG
Ano
2015
Disciplina
Arquitetura de Computadores
Assuntos

Assinale a alternativa que apresenta o nome pelo qual é conhecido o recurso que permite que uma CPU execute vários processos em pseudoparalelismo. 

Alternativas

ID
3724021
Banca
IBADE
Órgão
Prefeitura de Vilhena - RO
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma das características esperadas de um servidor é a escalabilidade. Neste sentido, o aumento da capacidade computacional pode ser dividido em escalabilidade horizontal e escalabilidade vertical. Assim, podemos definir escalabilidade horizontal como:

Alternativas
Comentários
  •  Escalar verticalmente (scale up) significa adicionar recursos em um único nó do sistema (mais memória ou um disco rígido mais rápido). = expandir seus próprios recursos, sem a necessidade de inclusão de novas máquinas.

    Escalar horizontalmente (scale out) significa adicionar mais nós ao sistema, tais como um novo computador com uma aplicação para clusterizar o software.


ID
3744271
Banca
FEPESE
Órgão
CELESC
Ano
2018
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Suponha que um algoritmo necessite 20 horas de processamento para completar sua execução. Considere que a parte do algoritmo não passível de paralelização demore uma hora para executar, e que 19 horas de processamento podem ser executados de forma paralela.

Assinale a alternativa que contém o potencial teórico máximo, em quantidade de vezes, de melhoria na velocidade de execução (speedup) do algoritmo em um cenário de computação paralela, independentemente da quantidade de processadores empregada, de acordo com a lei de Amdahl.

Alternativas
Comentários
  • A parte não paralela pode ser feita em um processador paralelo somado a uma quantidade inversamente proporcional de processadores infinitos.

  • Pra que o comentário abaixo? Agregou conhecimento em que? Explicou algo ou veio somente pra confundir? enfim....

    Questão retirada da Desciclopédia, ops digo: Wikipédia:

    "Lei de Amdahl

    ...

    Por exemplo, se o programa precisa de 20 horas usando um único núcleo de processamento, e a parte específica de um programa que demora uma hora para executar não pode ser paralelizado, enquanto as 19 horas restantes (95%) do tempo da execução pode ser paralelizado, independente de quantos processadores são dedicados a execução paralela deste programa, o tempo de execução mínima não pode ser menor que aquela crítica uma hora. Por isso o aumento de velocidade é limitado em no máximo 20x."

    Fonte: https://pt.wikipedia.org/wiki/Lei_de_Amdahl

    GABARITO ALTERNATIVA E


ID
4935736
Banca
FEPESE
Órgão
Prefeitura de Florianópolis - SC
Ano
2019
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Analise as afirmativas abaixo:

1. Os conceitos de computação concorrente e paralela são sinônimos, uma vez que um dado processo leva o mesmo tempo para ser executado em ambos.

2. A computação paralela ocorre no nível físico; isto é, o processamento ocorre em um mesmo instante em processadores distintos em uma máquina com múltiplos processadores, por exemplo.

3. Um sistema concorrente é aquele no qual o processamento pode avançar sem esperar eventuais outros processamentos completarem sua execução.

Assinale a alternativa que indica todas as afirmativas corretas.

Alternativas
Comentários
  • Acredito que a 1 opção está errada porque a paralela você tem a execução de 2 processos ao mesmo tempo e ambos terminam juntos, já o concorrente você precisa espera um processo terminar para outro começar assim não tem como ambos terminarem ao mesmo tempo.

  • A programação concorrente é a mais comum, onde o programa é executado sequencialmente concorrendo pela disponibilidade do(s) processador(es) com os demais programas. Cada processador executa apenas uma linha de comando por vez, por isso a concorrência

    .

    A programação paralela também conhecida como assíncrona é também uma programação concorrente, porém com mais linhas de execuções, onde o programa é dividido em vários "sub-processos" conhecido como Threads que serão executados paralelamente

    .

    https://pt.stackoverflow.com/questions/75727/programa%C3%A7%C3%A3o-concorrente-x-paralela-x-distribu%C3%ADda


ID
4940551
Banca
FADESP
Órgão
MPE-PA
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma classificação introduzida por Flynn é ainda a maneira mais utilizada para categorizar sistemas computacionais, a saber: SISD, SIMD, MISD e MIMD (MultipleInstruction, Multiple Data). Com relação à capacidade de processamento paralelo desta última categoria, é correto afirmar que

Alternativas
Comentários
  • Agregando conhecimento ao comentário do colega Bruno:

    A) o multiprocessamento simétrico (SMP – SymetricMultiprocessor) é realizado por múltiplos processadores que usam memória distribuída.

    Incorreto, SMP usa memórias compartilhadas;

    B) os clusters são computadores que não compartilham memória e se comunicam através de uma rede de interconexão ou conexão dedicada.

    CORRETA, GABARITO DA QUESTÃO

    C) um sistema SMP possui maior escalabilidade incremental e absoluta do que um cluster.

    Incorreto, pelo fato do cluster ser distribuído e fracamente acoplado ele possui escalabilidade mais fácil que o SMP;

    D) a desvantagem do cluster em relação ao SMP é a baixa disponibilidade.

    Incorreto, novamente, pelo fato do cluster ser distribuído ele possui alta disponibilidade


ID
5371996
Banca
FADESP
Órgão
Câmara de Marabá - PA
Ano
2021
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Sobre processamento paralelo e distribuído, julgue verdadeiras (V) ou falsas (F) as afirmativas a seguir:

I. A computação paralela é caracterizada pelo uso de várias unidades de processamento, que trabalham de forma simultânea, com o objetivo de otimizar a execução de uma tarefa. Baseia-se no conceito de dividir-para-conquistar.
II. A execução de tarefas em um ambiente fortemente acoplado permite que a memória seja compartilhada entre os processos cooperantes.
III. Para a elaboração de um programa paralelo, não é necessário prévio conhecimento da arquitetura de comunicação entre os processadores.

A sequência correta das afirmativas e

Alternativas
Comentários
  • I. Verdadeiro;

    II. Verdaeiro;

    III. Falso. Precisamos conhecer a arquitetura utlizada, pois sem o seu conhecimento prévio não saberemos, por exemplo: como enviar e o formato da mensagem para a comunicação;

    GABARITO ALTERNATIVA D