Ir ao conteúdo

Processador


Geovannymazzini

Posts recomendados

Postado

Caramba potno flutuante hehe da onde se tirou issow? parece coisa de video game, eu acho que ponto flutuante é a unidade logica do processador ou seja a ALU, que é responsavel por somar e multiplicar todos os Binarios que o SO tranfere para a CPU, é mais ou menos issow, ALU fica dentro do processador.beleza?fica assim.

Postado

Na aritmética binária, os microprocessadores trabalham com dois conjuntos de números matemáticos:

1) Conjunto dos números inteiros: Engloba os números positivos e negativos que não possuam parte fracionária (...-2, -1, 0, 1, 2...). Assim, as unidades de inteiros dos microprocessadores realizam operações com o equivalente binário dos números deste conjunto.

2) Conjunto dos números reais (ou de ponto flutuante): Engloba os números positivos e negativos com parte fracionária. (3,45, -85,7 e ¼ são exemplos de números de ponto flutuante). O nome ponto flutuante deriva do fato de que, quando se trabalha com um número real, não existe uma quantidade fixa de dígitos antes ou depois do ponto decimal para se representar um algarismo ou o resultado de um cálculo aritmético; ou seja, o ponto decimal pode "flutuar" para a esquerda ou para a direita.

A aritmética com números inteiros é usada para propósito geral num processador.

A aritmética com números de ponto flutuante é usada quando se trabalha com números reais muito grandes ou muito pequenos, pois os algarismos são representados através de notação científica, o que facilita tanto a sua manipulação pelas unidades de execução quanto o seu armazenamento nos registradores internos da CPU.

Postado
Postado Originalmente por Tito Silva@28 ago 2004, 01:35

Na aritmética binária, os microprocessadores trabalham com dois conjuntos de números matemáticos:

1) Conjunto dos números inteiros: Engloba os números positivos e negativos que não possuam parte fracionária (...-2, -1, 0, 1, 2...). Assim, as unidades de inteiros dos microprocessadores realizam operações com o equivalente binário dos números deste conjunto.

2) Conjunto dos números reais (ou de ponto flutuante): Engloba os números positivos e negativos com parte fracionária. (3,45, -85,7 e ¼ são exemplos de números de ponto flutuante). O nome ponto flutuante deriva do fato de que, quando se trabalha com um número real, não existe uma quantidade fixa de dígitos antes ou depois do ponto decimal para se representar um algarismo ou o resultado de um cálculo aritmético; ou seja, o ponto decimal pode "flutuar" para a esquerda ou para a direita.

A aritmética com números inteiros é usada para propósito geral num processador.

A aritmética com números de ponto flutuante é usada quando se trabalha com números reais muito grandes ou muito pequenos, pois os algarismos são representados através de notação científica, o que facilita tanto a sua manipulação pelas unidades de execução quanto o seu armazenamento nos registradores internos da CPU.

Boa Explicação...

gostei de saber um poquim mais... tinha uma ideia do que era agora melhorou bastante..

SLEDGE.. dá uma complementada ai... você que é nosso MASTER dos processador....

:D

Postado
Postado Originalmente por arbalest@28 ago 2004, 07:00

Boa Explicação...

gostei de saber um poquim mais... tinha uma ideia do que era agora melhorou bastante..

SLEDGE.. dá uma complementada ai... você que é nosso MASTER dos processador....

:D

Pois é, junta o Tito Silva, o Sledge e a Amianto e o tópico fica muito bom.

  • Membro VIP
Postado

Não tem muito o que acrescentar.

Mas vamos deixar claro, que a unidade de ponto flutuante (FPU em inglês, ou UPF para nós) não tem nada de tão diferente da ALU, e poderia ser usada para cálculos com inteiros apenas. Inclusive ela também é usada para cálculos com números inteiros, como é o caso do P4 Willamette e Northwood que internamente fazem a multiplicação de números inteiros pela FPU (por isso a latência desse cálculo é bem alta). Já no Prescott a Intel mudou e fez uma unidade dedicada para multiplicação de inteiros.

Os registradores da FPU são de 80-bit e o que torna ela capaz de fazer cálculos é como ela trata cada bit desses registradores. Existe um comando de controle da precisão dela (32-bit, 64-bit e 80-bit) e que também pode ser desativado (aqui tenho minhas dúvidas, pois acho que só com a SSE3 que tem uma instrução nova que é possível fazer isso em um programa) de modo que ela trabalhe como se fosse um processador de inteiros, ignorando a representação. A representação dos números de ponto flutuante segue o padrão descrito aqui nessa página: http://www.guidogybels.net/index.html?floats.html e na tabela dessa outra: http://babbage.cs.qc.edu/courses/cs341/IEE...references.html

Vejam que o processador continua apenas usando 0's e 1's (pode parecer básico, mas já vi muita gente com essa dúvida), mas ele tem uma organização dos bits de modo a definir o sinal, o expoente e a mantissa. Como bem disse o Tito, a representação científica é excelente porque nesse caso se consegue conciliar uma boa precisão e ainda se mantém um bom alcance no intervalo representado. Exemplo, veja que para 64-bit a precisão é de 53-bit (16-17 dígitos decimais) enquanto que se pode ter números tão pequenos quanto 2.2250E-308 e tão grandes quanto 1.7976E+308 (e seus valores negativos também).

Um pouco acima eu falei que o Prescott tem uma unidade dedicada para a multiplicação de números inteiros. Pois é, apesar do o nome ser Unidade de ponto flutuante, unidade lógica e aritmética, não é bem uma unidade, mas sim um conjunto que dá a total funcionalidade necessária. Em geral a FPU tem uma unidade para cálculos simples (soma e subtração), e uma outra para cálculos mais complexos (multiplicação, divisão, raiz quadrada, seno, etc) e quantas outras o projetista achar necessário (até mais de uma com a mesma função). Mas poderia ser apenas uma que fizesse tudo.

A função da FPU são os cálculos com números reais. Antigamente, quando do primeiro PC até o 386, as placas tinham um soquete livre para a adição da unidade de ponto flutuante (a respectiva, 8087,80287 e 80387) na placa-mãe, pois esta era um processador separado (o co-processador matemático). Só na época do 486 que decidiram incluir a FPU ao processador. Antes quem não tinah co-processador matemático, os programas vinham com um emulador, que usava a ALU para fazer os cálculos com números reais. Ficava bem mais lento e a precisão não era a mesma (para ter a precisão alta, precisava aumentar muito mais o cálculo).

Antes quem usava muito eram mais os programas de engenharia, aonde é impossível fugir dos números reais. Muitas outras coisas aonde se usa ponto flutuante podem ser substituidos por números inteiros (por exemplo, que cria DivX sabe que o cálculo da iDCT pode ser feito via MMX,SSE ou FPU com apenas uma redução na precisão quando se escolhe fazer com números inteiros).

Tudo depende da forma como o programa é escrito. Hoje em dia se considera que todos tem uma FPU, que apenas é preterida em caso de não haver necessidade ou por motivos de performance (usar MMX pode ser mais rápido).

Espero não confundir ninguém.

Edit: achei uma página bem legal, que transforma números decimais na representação binária conforme a precisão. Aqui : http://babbage.cs.qc.edu/courses/cs341/IEEE-754.html

Postado

Essa realmente não sabia, ta parecendo meus professores sledgehammer, eu só conhecia até a ALU, essa FPU não conhecia não, valeu pela ideia, e outra coisa mandou muito bem, qual sua formacao sledgehammer?

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!