FPU


Az FPU az angol floating-point unit kifejezés rövidítése, ami magyarul lebegőpontos egység; a számítógépnek egy lebegőpontos matematikai műveleteket végző alegysége, a CPU kiegészítője. Nevezik még matematikai társprocesszornak vagy numerikus koprocesszornak (numeric processing unit, rövidítve NPU) is – ez az elnevezés onnan ered, hogy eleinte ezek az egységek a fő processzortól különálló, ahhoz csatlakoztatható opcionális egységek voltak. Megfigyelhető, hogy a lebegőpontos számításokat végző egységek a mikroprocesszorok fejlődése során kezdetben különálló áramkörökként jelentek meg, felépítésükben is különböztek a fő processzoroktól (pl. a 8087-es lebegőpontos egység alapvetően verem-szervezésű, szemben az azt vezérlő 8086-os főprocesszor hagyományos regiszteres felépítésével), később azonban egyre gyakrabban beépültek a főprocesszorokba, és manapság már alig van olyan processzorkialakítás, amelyben a lebegőpontos műveletekhez kiegészítő processzorra lenne szükség: pl. a beágyazott processzoroknak külön sorozataik vannak, amelyek vagy tartalmazzák, vagy nélkülözik a lebegőpontos egységet, és a feladat határozza meg, hogy éppen melyik kerül felhasználásra.
Használatával a processzor műveletvégző képessége, számítási teljesítménye nagyban növelhető. Az Intel processzorai esetében a 486-os processzorcsalád óta a CPU integrált része, korábban külön modul.
Története
[szerkesztés | forrásszöveg szerkesztése]Az 1954-ben bevezetett IBM 704 lebegőpontos műveleteket tudott végrehajtani, szemben elődjével, az IBM 701-gyel. Később az IBM 709, 7090 és 7094 is lebegőpontos műveletek végrehajtására képesen jelent meg.
1963-ban a DEC bevezette a lebegőpontos műveletek elvégzését standard funkcióként tartalmazó PDP-6-ot.[1] Ugyanekkor jelent meg a GE-235 is, mely a lebegőpontos és dupla pontosságú műveletekhez már „kisegítő aritmetikai egységet” (Auxiliary Arithmetic Unit, AAU) használt.[2]
Matematikai társprocesszorok
[szerkesztés | forrásszöveg szerkesztése]- AMD Am9511 – 1977, korai matematikai koprocesszor
- AMD Am9512
- Intel 8231 – 1979, segédprocesszor, AMD licenc
- Intel 8232 – 1980-as évek eleje, az AMD Am9512 analógja
- Intel 8087 – 1980, az első x87 lebegőpontos koprocesszor
- Intel 80187 – 1989[3]
- Intel 80287 – 1982[4]
- Intel 80387 – 1987. február 16.[5]
- Intel 80487 – 1991, 25 MHz, 32 bites matematikai koprocesszor[6]
- Nx587 – a NexGen Nx586 processzorhoz
- Motorola 68881 és 68882 – 1983[7]
- MIPS R2010 – 1987[8]
- MIPS R3010 – 1988,[9] 25 MHz[10]
- National Semiconductor 32081 koprocesszor-család – 1985 (?)[11][12]
- Texas Instruments 8847 – SN74ACT8847, 1988, 33,33 MHz,[10] 600-szor gyorsabb az Intel 80387-es matematikai koprocesszoránál[13]
- Weitek 3364 – 1988, 20 MHz[10]
- Weitek 1064 (1981), 1067 (1982), 1167, 2167, 3167,[14] 4167 – a Weitek cég koprocesszorai a Motorola, Intel, MIPS, SPARC és PA-RISC architektúrákhoz
- WRL 3170/3171 – 1990, a SPARC processzorokhoz, a lebegőpontos mag ugyanaz, mint a Weitek 3364-nél[10][15]
- Zilog Z8070 – 1983, APU, Arithmetic Processing Unit a Z8000-es családhoz[12]
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- ↑ "PDP-6 Handbook" (PDF). www.bitsavers.org. 2022. október 9. dátummal az eredetiből archiválva (PDF).
- ↑ "GE-2xx documents". www.bitsavers.org. CPB-267_GE-235-SystemManual_1963.pdf, p. IV-4.
- ↑ "80187" (angol nyelven). 2011.
- ↑ "80287" (angol nyelven). 2011.
- ↑ "Intel 80387" (angol nyelven). 2011.
- ↑ "Intel 80487" (angol nyelven). 2011.
- ↑ Clayton Huntsman, Duane Cawthron (november 1983). "The MC68881 Floating-point Coprocessor" (angol nyelven). ACM. Hozzáférés: 2013.
{{cite web}}: Check date values in:|accessdate=(súgó) - ↑ Dominic Sweetman (2010. július 8.). "See MIPS Run" (angol nyelven). Morgan Kaufmann. 8. o.
An ambitious external math coprocessor chip (the R2010 floating-point accelerator, or FPU) first shipped in mid-1987.
{{cite web}}: Unknown parameter|accessyear=ignored (|access-date=suggested) (súgó) - ↑ Rowen, C. ; Johnson, M. ; Ries, P. (1988. június 1.). "The MIPS R3010 floating-point coprocessor". IEEE Micro (angol nyelven). 8 (3): 53–62. doi:10.1109/40.540.
{{cite journal}}: Cite has empty unknown parameter:|quotes=(súgó)CS1 karbantartás: több név: szerzőfelsorolás (link) - 1 2 3 4 John L. Hennessy; David A. Patterson (2007) [1990]. Computer Architecture: A quantitative approach (angol nyelven) (4. ed.). San Francisco: Morgan Kaufmann. H.58. o. doi:10.1.1.115.1881. ISBN 978-0-12-370490-0. isbn 0-12-370490-1.
{{cite book}}: Check|doi=value (súgó)CS1 karbantartás: több név: szerzőfelsorolás (link) - ↑ Gennadiy Shvets (2010). "National Semiconductor 32081 co-processor family" (angol nyelven). CPU-World.
- 1 2 "1983–84 Components Data Book" (PDF). 2016. június 1. dátummal az eredeti (PDF) címről archiválva. Hozzáférés: 2015. május 24. 1983, komponensek
- ↑ Mark Brownstein (1988. április 25.). "Floating-Point Chip Operates 600 Times Faster Than 80387". InfoWorld. 10 (17): 28. ISSN 0199-6649.
{{cite journal}}: Cite has empty unknown parameter:|1=(súgó) - ↑ Gennadiy Shvets (2010). "Weitek 3167-025-GCU" (angol nyelven). CPU-World.
{{cite web}}: Unknown parameter|accessyear=ignored (|access-date=suggested) (súgó), 16, 20, 25, 33 MHz - ↑ Birman, M., A. Samuels, G. Chu, T. Chuk, L. Hu, J. McLeod, J. Barnes (1990). "Developing the WRL3170/3171 SPARC floating-point coprocessors". IEEE Micro. 10 (1): 55–64.
{{cite journal}}: CS1 karbantartás: több név: szerzőfelsorolás (link)
Források
[szerkesztés | forrásszöveg szerkesztése]További információk
[szerkesztés | forrásszöveg szerkesztése]- "Matematikai társprocesszorok". Vasynet. 2004-01-09. Hozzáférés: 2014.
{{cite web}}: Check date values in:|accessdate=(súgó)[halott link] – Intel, Cyrix, IIT, Weitek, Motorola, Chips & Technologies, ULSI koprocesszorok
