Coprocessador: arquitetura, trabalho, tipos e suas aplicações

Experimente Nosso Instrumento Para Eliminar Problemas





Em um microprocessador chip, novos circuitos são adicionados para realizar tarefas especiais e também operações em números para descarregar o trabalho central da CPU para que a CPU possa funcionar muito rápido. Um processador suplementar como um coprocessador é usado principalmente em computadores para realizar tarefas especiais, como processamento de exibição gráfica e cálculos aritméticos amplos. Este processador foi projetado para executar essas tarefas com muita eficiência em comparação com a CPU, portanto, a velocidade geral do computador pode ser aumentada. Este artigo discute uma visão geral de um coprocessador –arquitetura, trabalho e suas aplicações.


O que é Coprocessador?

Um processador que trabalha lado a lado com o processador principal de um computador, como a CPU, é conhecido como coprocessador. Este processador também é conhecido como um processador de computador suplementar. Ao usar este processador, alguns cálculos matemáticos difíceis podem ser executados, como os gráficos exibidos na tela, processamento de sinal, processamento de string, aritmética de ponto flutuante, interface de entrada-saída, etc.



  Coprocessador
Coprocessador

Arquitetura do Coprocessador

O coprocessador como a arquitetura 8087 é mostrado abaixo. Geralmente, este coprocessador trabalha com o microprocessador paralelamente. Este coprocessador foi desenvolvido pela Intel e usado com microprocessadores da família 8086 de 16 bits. Quando o processador funciona em combinação com o microprocessador, a porção de cálculo é simplesmente manipulada pelo processador e isso permite que a CPU utilize os recursos para executar várias outras atividades.

A figura a seguir representa a arquitetura do coprocessador 8087. Essa arquitetura inclui duas unidades principais, como unidade de controle e uma unidade de execução numérica, também chamada de NEU.



  Arquitetura do Coprocessador 8087
Arquitetura do Coprocessador 8087

Na unidade de controle, existem várias unidades como buffer de dados, registro de palavras de controle e status, fila de operandos compartilhados, ponteiro de exceção e unidade de endereçamento e rastreamento de barramento. A Unidade de Execução Numérica ou NEU inclui principalmente uma unidade de controle de microcódigo, pilha de registradores, deslocador programável, registros , módulo aritmético, módulo expoente e fila de operandos compartilhados.

A unidade de controle no coprocessador deve controlar a execução da instrução (IE) pela qual a Unidade de Execução Numérica é responsável. Principalmente, a unidade de controle de microcódigo (CU) da unidade de execução numérica obtém as instruções numéricas da unidade de controle do coprocessador. Este coprocessador tem 8 registradores completos de 80 bits e cada um deles é utilizado na pilha LIFO. Os operandos sobre os quais as instruções do coprocessador ocorrerão existem na pilha de registradores.

  PCBWay

A pilha existente é apontada através do SP de 3 bits (ponteiro de pilha) que contém os valores binários que variam de 000 a 111 para mostrar os 8 registros da pilha. Funciona dentro de uma pilha circular no modo LIFO. Mas, uma vez que a ação de redefinição ocorre, o ponteiro pode ser inicializado pelo valor binário '000'.

Os dados numéricos são três classificações nas quais as funções do coprocessador são números decimais, números reais e inteiros binários. Os inteiros binários são três tipos inteiros de palavras de 16 bits, inteiros curtos de 32 bits e inteiros longos de 64 bits. O formato BCD de 80 bits significa os números decimais compactados, enquanto os números reais são de 3 tipos; real curto de 32 bits, real longo de 64 bits e real temporário de 80 bits.

Para transferir os dados numéricos no coprocessador, um É utilizado um barramento expoente de 16 bits ou um barramento mantissa de 64 bits . O coprocessador inclui uma palavra de controle de 16 bits e uma palavra de status de 16 bits.

A palavra de controle é escrita no registrador de controle e isso ocorre de tal forma que o coprocessador inicialmente escreve a palavra de controle dentro do local da memória. Depois disso, o coprocessador simplesmente lê a palavra de controle usando o local da memória e a armazena no registrador de controle.

Da mesma forma, a leitura da palavra de status faz com que o processador envie os dados do registrador de status para um local da memória. Além disso, esse coprocessador lê o registrador de status desse local específico da memória. Isso significa que o processador e o microprocessador se comunicam pela memória principal.

Como funciona o coprocessador?

O coprocessador foi projetado principalmente para funcionar com os processadores 8086 e 8088. O coprocessador é usado para ajudar o sistema a executar com mais eficiência, descarregando tarefas específicas da CPU. Uma vez que este processador funciona em combinação com o microprocessador, as instruções do microprocessador e do coprocessador são integradas durante a gravação do programa. O início das instruções no programa em linguagem assembly possui um 'F' que representa as instruções do coprocessador, enquanto as instruções sem o prefixo 'F' mostram as instruções do microprocessador.

A princípio, as instruções são buscadas pelo microprocessador a partir do local da memória e as carregam sequencialmente dentro da fila, ao mesmo tempo, o coprocessador 8087 também lê e armazena as instruções dentro de uma fila interna. Isso significa que cada instrução pode ser lida tanto pelo coprocessador quanto pelo processador, no entanto, no momento da execução, tanto o coprocessador quanto o microprocessador podem executar a execução de suas instruções específicas. Isso significa que a instrução é lida e decodificada. Se o microprocessador verificar se existe um instr do coprocessador, essa instrução será tratada como Não-operação. Da mesma forma, se esse coprocessador se aproximar de qualquer instrução do microprocessador, ele será tratado como não-operação.

Tipos de Coprocessador

Existem diferentes coprocessadores disponíveis com base em fabricantes como os seguintes.

Coprocessador Intel 8087

O Intel 8087 é um coprocessador especialmente projetado usado para executar cálculos matemáticos que incluem valores de ponto flutuante e inteiro. Às vezes, também é conhecido como processador de dados numéricos e processador matemático. Este é um coprocessador numérico para processadores Intel 80188, 8086, 80186 e 8088. O coprocessador 8087 inclui oito registradores gerais de 80 bits que são executados como uma pilha. Portanto, todas as operações de ponto flutuante são simplesmente executadas com dados da pilha e da memória externa.

  Coprocessador Intel 8087
Coprocessador Intel 8087

O co-processador Intel 8087 simplesmente suporta números de ponto flutuante de precisão BCD, inteiro, simples e duplo e também números de ponto flutuante de precisão estendida. Depois que o processador 8087 carrega os dados da memória, ele os converte internamente para estender o número de precisão e, além disso, todos os cálculos são executados por meio desse número.

Portanto, mudar de um número de precisão dupla para um número de precisão única, caso contrário, de número inteiro de 64 bits – números inteiros de 32 bits/16 bits não oferece nenhum aumento significativo no desempenho. Os coprocessadores 8087 não foram fabricados apenas pela Intel, mas AMD, Cyrix e IBM também fabricam esses coprocessadores.

Motorola 68881

Motorola 68881 é um coprocessador usado principalmente com a 2ª geração do Motorola 68K microprocessadores como Motorola 68030 e 68020. Teoricamente, este coprocessador é usado com CPUs 68000 ou 68010 anteriores como um dispositivo periférico.

  Motorola 68881
Motorola 68881

O coprocessador Motorola 68881 simplesmente funciona como um dispositivo mapeado na memória. Uma vez que a CPU principal carrega a instrução do coprocessador, então ela escreve o código da instrução em CIR (Co-processor Interface Registers), que são mapeados dentro do espaço de endereço da CPU, e depois disso, ela lê a resposta do co-processador de um dos registradores CIR.

Os coprocessadores Motorola 68881/68882 foram utilizados nas estações de trabalho IBM RT PC, estações de trabalho Sun Microsystems Sun-3, NeXT Computer, família Apple Computer Macintosh II, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE e Falcon. Esses processadores também são usados ​​em alguns produtos Atari e Amiga de terceiros, como um dispositivo mapeado em memória para o 68000.

Coprocessadores Apple Motion

Os coprocessadores da série M da Apple são conhecidos como coprocessadores de movimento que são usados ​​em dispositivos móveis da Apple. O primeiro coprocessador foi projetado em 2013, usado para coletar dados de sensor de giroscópios, acelerômetros e bússolas incorporados e descarregar os dados de sensor coletados usando a CPU principal.

  Coprocessadores Apple Motion
Coprocessadores Apple Motion

Os coprocessadores da série M da Apple simplesmente coletam, processam e armazenam os dados do sensor, mesmo se o dispositivo estiver inativo, e os aplicativos podem recuperar os dados assim que o dispositivo for novamente ligado. Portanto, isso diminui a energia consumida pelo dispositivo e economiza a vida útil da bateria.

Diferença entre processador e coprocessador

A diferença entre processador e coprocessador inclui o seguinte.

Processador

Coprocessador

O processador é a principal unidade de processamento do computador que executa diferentes operações aritméticas, lógicas e de controle com base nas instruções. O coprocessador é um processador especial que dá suporte ao processador principal.

O processador cuida de todos os trabalhos principais

O coprocessador cuida de algumas outras coisas apenas como gráficos e cálculos aritméticos.
Ele lida com operações lógicas e cálculos matemáticos e gera sinais de controle para outros componentes para sincronizar as tarefas. Ele executa processamento de sinal, operações matemáticas, rede e criptografia com base no tipo.
O processador mantém o bom funcionamento de todo o computador. Este processador ajuda a aumentar o desempenho do sistema e descarrega tarefas severas da CPU.

Vantagens

As vantagens de um coprocessador incluem o seguinte.

  • O coprocessador simplesmente lida com tarefas mais especializadas mais rapidamente em comparação com a CPU principal
  • Esses processadores são fáceis de usar e os mais populares.
  • Ele diminui a tensão do microprocessador ao retirar tarefas especiais de processamento da CPU para que ela seja executada em uma velocidade maior.
  • Este processador é útil para estender os recursos de processamento da CPU, expandindo o conjunto de instruções ou oferecendo registradores de configuração.

Desvantagens

As desvantagens dos coprocessadores incluem o seguinte.

  • O coprocessador não é capaz de recuperar instruções da memória, executar instruções diretamente, gerenciar memória, executar operações de E/S
  • Depende do processador principal recuperar as instruções do coprocessador e cuidar de todas as outras operações não relacionadas ao coprocessador.
  • Este não é o principal processador do sistema.
  • O coprocessador não pode funcionar sem o microprocessador principal.

Formulários

As aplicações de coprocessadores incluem o seguinte.

  • O coprocessador é usado para executar algumas das tarefas mais especializadas, como processamento de exibição gráfica ou cálculos matemáticos complexos.
  • Um coprocessador é usado simplesmente para reduzir a carga na CPU de um computador.
  • Este processador trabalha com a CPU do computador lado a lado.
  • Este processador executa operações matemáticas de alto nível muito mais rapidamente em comparação com o processador principal, como raízes, logaritmos, funções trigonométricas, etc.
  • Um coprocessador aumenta as funções do processador primário.
  • O coprocessador executa diferentes operações como processamento de sinal, aritmética de ponto flutuante, processamento de strings, gráficos, interface de E/S através de dispositivos periféricos, criptografia, etc.
  • Esses processadores são chips autônomos em computadores desktop anteriores que eram conectados à placa-mãe.
  • Um coprocessador lida com as tarefas da CPU para aumentar o desempenho geral.

Assim, este é uma visão geral de um coprocessador – funcionamento e suas aplicações. Este processador também é conhecido como processador matemático. Um coprocessador executa diferentes tarefas muito mais rapidamente em comparação com a CPU central. Assim, a velocidade geral do sistema de computador aumenta. Este processador pode ser conectado a um processador ARM. Uma vez adicionado, precisamos aumentar o conjunto de instruções do Core CPU ou incluir registradores configuráveis ​​para aumentar o poder de processamento. Aqui está uma pergunta para você, o que é um microprocessador?