Dando uma olhada na arquitetura dos processadores #2

Unidade de Ponto Flutuante

Beleza cambada? Depois do vídeo "Minha opinião sobre as vulnerabilidades dos processadores da Intel" iniciei a essa série para olharmos um pouco mais a fundo nos processadores e não ficar simplesmente limitados a clock, cache e threads.

No primeiro capítulo falamos sobre a arquitetura de Von Neumann explicando como funciona sendo dividida entre a Unidade Logica e Aritmética e a Unidade de Controle. Porém não dá para limitar toda a arquitetura dos processadores a Von Neumann uma vez que a arquitetura de Von Neumann também possui as suas limitações.

Foi aí que os processadores passaram a receber muitos outros recursos como a FPU (sigla de Floating Point Unit ou Unidade de Ponto Flutuante em português) que realiza operações matemáticas de representação de dados. A FPU é responsável por realizar cálculos mais complexos ou mais simples que a ULA não é capaz de realizar.

Antigamente a FPU era um chip separado da CPU como na foto abaixo, era um co-processador matemático. Então nós comprávamos os computadores e depois tínhamos que comprar o co-processador matemático aparte. Vale a ressalva que os co-processadores eram caros:


Porém, a partir mais ou menos dos 486 as FPUs passaram a ser incorporados aos processadores e hoje dificilmente não se encontra dentro de um processador como na ilustração abaixo:

Contando algumas curiosidades históricas interessantes sobre a FPU:
  1. Linus juntou uma grana para comprar um novo computador. Como a bagaça era muito cara, então Linus resolveu fazer upgrade na máquina que já tinha adicionando um co-processador matemático e mais memoria.
  2. Um dos fatores de sucesso do Linux quando surgiu (além de ser mais leve e mais rápido que os BSDs) foi exatamente porque o BSD exigia o uso de certo de tipo de hardware para rodar; um deles era o FPU (inclusive FPUs eram caros) e Linux o Linux não.
  3. Em 1994, um professor na universidade de Lynchburg encontrou um bug no FPU do processador Pentium. Eu me lembro que foi dito que esse bug acontecia no Pentium, mas não no 486. Mencionei esse bug no vídeo "Minha opinião sobre as vulnerabilidades dos processadores da Intel".
  4. A AMD adquiriu os direitos do X86 da NexGen, empresa fundada por um ex engenheiro da Intel que tinha direitos sobre algumas tecnologias. Essas tecnologias foram incorporadas ao k6 (que inclusive alguns k6 foram considerados mais rápidos que o pentium II).
  5. Eu li que o FPU dos processadores da empresa VIA possuíam melhor processamento do que os da Intel. 
  6. Uma coisa que eu descobri através de um engenheiro de software da Red Hat que utiliza a zsh é que o terminal Bash precisa de algum(ns) programa(s) programa(s) externo(s) como perl para realizar cálculos em ponto flutuante. Enquanto que o terminal ZSH não há essa necessidade:

Comparação de uso de calculos em ponto flutuante nos terminais ZSH e BASH
Comparação de uso de calculos em ponto flutuante nos terminais ZSH e BASH


Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (30) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (31) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (11) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (94) gerenciadores de pacotes (4) glaucus (3) GOG (3) google (9) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (11) Intel (15) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (38) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (165) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (7) OpenShift (1) oracle (1) os vários sabores de Linux (43) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidor web (2) servidores (2) shell (9) shell script (8) sistema operacional (25) skarnet (1) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (6) systemd (7) terminal (89) terminal de comandos (18) toca do tux (1) toybox (27) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (15) zsh (3)