AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1869310
Accepted
albin
albin
Asked: 2025-01-06 04:24:39 +0800 CST2025-01-06 04:24:39 +0800 CST 2025-01-06 04:24:39 +0800 CST

O multithreading de hardware é SIMD ou MIMD?

  • 772

Passei algum tempo analisando a taxonomia de Flynn, mas há um aspecto que ainda não consigo entender. Aprendi sobre os seguintes aspectos do multithreading de hardware: multithreading de granulação fina, de granulação grossa e simultâneo. Este último é usado pela Intel e é chamado de hyper-threading.

Para multithreading simultâneo, pelo menos, eu sei que a implementação de hyper-threading da Intel dá a ilusão de ter mais núcleos do que fisicamente presentes. Eu sei que o multithreading simultâneo é alcançado usando um modelo de execução de múltiplos problemas dinâmico como base. Agora, o multithreading simultâneo pode processar vários threads no mesmo passo de tempo. Mas isso significa que ele tem vários fluxos de instruções e, portanto, é MIMD? Eu me pergunto o mesmo sobre os outros tipos de multithreading (grosso e refinado). Especialmente porque a Wikipedia escreve isso sobre MIMD: "Máquinas que usam MIMD têm vários núcleos de processador que funcionam de forma assíncrona e independente"

Obrigado por me ajudar a resolver isso!

cpu
  • 2 2 respostas
  • 42 Views

2 respostas

  • Voted
  1. Best Answer
    Pai-to
    2025-01-06T05:03:30+08:002025-01-06T05:03:30+08:00

    Nenhum.

    SIMD e MIMD operam no nível de instruções dentro do processador, em vez de multithreading , que envolve o núcleo do processador e apresenta dois núcleos de processador ao sistema.

    MIMD dentro de um núcleo é apresentado como tendo múltiplas unidades de execução capazes de executar instruções concorrentemente. Enquanto múltiplos processadores podem parecer MIMD em um sentido conceitual, não é realmente o que se pretende.

    Como exemplo da Wikipedia Skylake (microarquitetura) Mudanças na arquitetura comparadas à microarquitetura Broadwell você pode ver o núcleo de um único processador. Dentro desse núcleo as instruções são decodificadas em um ou mais uOPs (instruções micro-op específicas para a microarquitetura do processador) e de lá são empurradas para o planejador:

    insira a descrição da imagem aqui

    As EUs são Unidades de Execução que podem operar simultaneamente, recebendo dados e instruções. Esta é a área que é MIMD. Várias instruções e dados sendo despachados para várias unidades dentro do núcleo. Várias Instruções acontecem simultaneamente, manipulando vários pedaços de dados.

    O SIMD, por outro lado, funciona colocando vários pedaços de dados em um registro ou conjunto de registros muito amplo e uma única instrução dispara um cálculo que se aplica a todos eles em paralelo. Isso pode ser uma multiplicação de matriz matemática ou similar. Uma única instrução faz um conjunto de cálculos em vários bits de dados.

    O Hyperthreading opera fora do núcleo do processador. Ele está fora do front-end, do planejador e das unidades de execução e apresenta um estado salvo separado do processador para o mundo externo. Quando um thread no processador para ou falha em fazer uso efetivo de EUs, ele pode alimentar instruções do segundo thread para preencher as lacunas.

    SIMD/MIMD são coisas distintas e separadas de multithreading ou hyperthreading.

    • 3
  2. grawity
    2025-01-06T04:59:50+08:002025-01-06T04:59:50+08:00

    Pelo menos para multithreading simultâneo, sei que a implementação de hyperthreading da Intel dá a ilusão de ter mais núcleos do que os fisicamente presentes

    Se cada 'thread' HT aparecer como uma CPU lógica separada, então ele também se comporta como uma CPU lógica separada – ele tem seus próprios registradores e seu próprio ponteiro de instrução, então também seu próprio fluxo de instrução. Portanto, seria uma forma de MIMD sob sua classificação.

    O Hyper-threading no x86 foi projetado dessa forma para que, quando as CPUs com HT foram introduzidas pela primeira vez, os sistemas operacionais da época não soubessem o que era, mas ainda pudessem trabalhar com uma CPU HT como se estivessem simplesmente sendo executadas em um sistema multi-core (ou multi-CPU), agendando processos diferentes em cada thread HT, como fariam com núcleos de CPU independentes.

    (Embora, como os threads de hardware compartilham certos componentes do núcleo no qual estão localizados, um agendador com suporte a HT pode tomar melhores decisões, como evitar colocar processos em threads irmãos se um núcleo separado pudesse ser usado em vez disso... mas o ponto é que o HT é projetado de tal forma que até mesmo um sistema operacional sem suporte a HT ainda pode fazer uso dele.)

    • 0

relate perguntas

  • Velocidade do processador limitada a 0,4 GHz

  • Por que a formatação ganhou 7 computadores para o Windows 10 dobrou sua pontuação no banco de cpu-z?

  • Core i7 executa muito mal? [fechado]

  • O virtualbox requer uma CPU para suportar VT-d para hospedar sistemas operacionais convidados de 64 bits?

  • LGA1151 dimensões físicas?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve