Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютер жүйесінің бөлігі
Part of a computer system
Айналма нүктелік құрылғы (FPU, көбінесе математикалық копроцессор деп аталады) – компьютер жүйесінің айналма нүктелік сандармен операцияларды орындау үшін арнайы жасалған бөлігі. Типтік операциялар: қосу, алу, көбейту, бөлу және квадрат түбір табу. Кейбір FPU құрылғылары экспоненциалдық немесе тригонометриялық есептеулер сияқты түрлі трансценденттік функцияларды да орындай алады, бірақ дәлдігі төмен болуы мүмкін, сондықтан кейбір жүйелер осы функцияларды бағдарламалық қамтамасызда есептеуді ұсынады. Жалпы мақсаттағы компьютерлік архитектураларда бір немесе бірнеше FPU орталық процессордың ішінде орындау блогы ретінде интеграциялануы мүмкін; алайда, көптеген кіріктірілген процессорларда айналма нүктелік операцияларға аппараттық қолдау жоқ (олар стандартты түрде қолдауға ие болса да). Егер процессор айналма нүктелік операцияны талап ететін бағдарламаны орындаса, оны орындаудың үш жолы бар:
Айналма нүктелік құрылғының эмуляторы (бағдарламалық жасақтамадағы айналма нүктелік кітапхана)
Қосымша FPU аппараттық құрылғысы
Интеграцияланған FPU (аппараттық құрылымда)
A floating point unit (FPU, colloquially a math coprocessor) is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division, and square root. Some FPUs can also perform various transcendental functions such as exponential or trigonometric calculations, but the accuracy can be low, so some systems prefer to compute these functions in software. In general purpose computer architectures, one or more FPUs may be integrated as execution units within the central processing unit; however, many embedded processors do not have hardware support for floating point operations (while they increasingly have them as standard). When a CPU is executing a program that calls for a floating point operation, there are three ways to carry it out:
A floating point unit emulator (a floating point library in software)
Add on FPU hardware
Integrated FPU (in hardware)
Жылжымалы нүктелер жиыны
Кейбір жылжымалы нүктелі аппараттар тек ең қарапайым операцияларды ғана қолдайды: қосу, алу және көбейту. Бірақ тіпті ең күрделі жылжымалы нүктелі аппараттардың да қолдай алатын операциялар саны шектеулі. Мысалы, ешбір FPU кез келген дәлдіктегі арифметиканы тікелей қолдамайды. Егер CPU бағдарламаны орындағанда аппараттық құрал тікелей қолдамайтын жылжымалы нүктелі операция кездессе, CPU оны бірнеше қарапайым жылжымалы нүктелі операциялар арқылы іске асырады. Жылжымалы нүктелі аппараттары жоқ жүйелерде CPU оны бүтін сандық арифметикалық логикалық құрылымда орындалатын қарапайым қатаң нүктелі арифметикалық операциялар тізбегін пайдаланып эмуляциялайды. Жылжымалы нүктелі операцияларды эмуляциялау үшін қажетті операциялар тізбегін қамтитын бағдарламалық құрал көбінесе жылжымалы нүктелі кітапханада жинақталады.
Some floating point hardware only supports the simplest operations: addition, subtraction, and multiplication. But even the most complex floating point hardware has a finite number of operations it can supportfor example, no FPUs directly support arbitrary precision arithmetic. When a CPU is executing a program that calls for a floating point operation that is not directly supported by the hardware, the CPU uses a series of simpler floating point operations. In systems without any floating point hardware, the CPU emulates it using a series of simpler fixed point arithmetic operations that run on the integer arithmetic logic unit. The software that lists the necessary series of operations to emulate floating point operations is often packaged in a floating point library.
Интеграцияланған FPU
Кейбір жағдайларда, FPU-лар мамандануы мүмкін және қарапайым қалқыма нүктелік операциялар (көбінесе қосу және көбейту) мен бөлу сияқты күрделі операцияларға бөлінеді. Кейбір жағдайларда, тек қарапайым операциялар ғана аппараттық құралдарда немесе микрокодта іске асырылуы мүмкін, ал күрделі операциялар бағдарламалық қамтамасыздандыру арқылы іске асырылады. Кейбір қазіргі архитектураларда FPU функционалдығы SIMD есептеулерін жүзеге асыру үшін SIMD блоктарымен біріктіріледі; мысалы, жаңа Intel және AMD процессорларында қолданылатын x86 64 архитектурасындағы x87 нұсқаулар жиынтығы SSE нұсқаулар жиынтығымен толықтырылады.
In some cases, FPUs may be specialized, and divided between simpler floating point operations (mainly addition and multiplication) and more complicated operations, like division. In some cases, only the simple operations may be implemented in hardware or microcode, while the more complex operations are implemented as software. In some current architectures, the FPU functionality is combined with SIMD units to perform SIMD computation; an example of this is the augmentation of the x87 instructions set with SSE instruction set in the x86 64 architecture used in newer Intel and AMD processors.
Қосымша FPU
PDP 11-дің PDP 11/45, PDP 11/34a, PDP 11/44 және бірнеше VAX модельдері сияқты бірнеше модельдері қосымша FPU қажеттілігінсіз (MicroPDP 11/23 микрокод опциясын қажет етті) жылжымалы нүктелік нұсқауларды орындай алатын. Motorola 68000 отбасы үшін 68881 және 68882 копроцессорлары қол жетімді болды. Бұл Sun 3 сериясы сияқты Motorola 68020/68030 негізіндегі жұмыс станцияларында кеңінен қолданылды. Олар сондай-ақ Apple Macintosh және Commodore Amiga сериясының жоғары деңгейдегі модельдеріне жиі қосылды, бірақ IBM PC үйлесімді жүйелерінен өзгеше, төмен деңгейдегі жүйелерде копроцессорды қосуға арналған ұялар соншалықты көп емес еді. Микробасқарушы құрылғылар (MCU/μC) / бір тақталы компьютерлер (SBC) үшін де қосымша FPU копроцессорлары бар, олар жылжымалы нүктелік арифметикалық мүмкіндіктерді қамтамасыз етеді. Бұл қосымша FPU-лар хост процессордан тәуелсіз, өздерінің бағдарламалау талаптарына (операциялар, нұсқаулар жиынтығы және т.б.) ие және көбінесе өздерінің интеграцияланған даму орталарымен (IDE) бірге келеді.
Several models of the PDP 11, such as the PDP 11/45, PDP 11/34a, PDP 11/44, and several VAX models could execute floating point instructions without an add on FPU (the MicroPDP 11/23 required an add on microcode option), to its ARM powered Archimedes range. Coprocessors were available for the Motorola 68000 family, the 68881 and 68882. These were common in Motorola 68020/68030 based workstations, like the Sun 3 series. They were also commonly added to higher end models of Apple Macintosh and Commodore Amiga series, but unlike IBM PC compatible systems, sockets for adding the coprocessor were not as common in lower end systems. There are also add on FPU coprocessor units for microcontroller units (MCUs/μCs)/single board computer (SBCs), which serve to provide floating point arithmetic capability. These add on FPUs are host processor independent, possess their own programming requirements (operations, instruction sets, etc.) and are often provided with their own integrated development environments (IDEs).