Aritmētiski loģiskā ierīce
Vikipēdijas raksts
|
Lūdzu, palīdzi uzlabot šo rakstu. Diskusijā var parādīties dažādi ieteikumi. Vairāk lasi lietošanas pamācībā. |
Aritmētiski loģiskā ierīce (Aritmetic Logic Unit - ALU) izpilda aritmētiskās operācijas(saskaitīšana, atņemšana, reizināšana, dalīšana), loģiskās operācijas (skaitļu salīdzināšanu) un citas datu apstrādes operācijas. ALU ir iebūvēts procesoros CPU. un grafisko ierīču procesoros GPU. Procesoriem attīstoties un pilnveidojoties, arī ALU ir palicies sarežģītāks un kompleksāks.
1945.gadā matemātiķis Džons fon Neimanis prezentēja referātu par ALU koncepciju. Referāts tika uzrakstīts projekta "EDVAC dators" ietvaros.
Satura rādītājs |
[izmainīt šo sadaļu] Pirmsākumi
1946. gadā Džons fon Neimanis studēja datora veidošanas pamatus Priceton Koledžā . Viņš uzskatīja, kad ALU ir nepieciešams vienkāršam datoram, jo tas garantē matemātisku operāciju izpildi(saskaitīšanu, atņemšanu, reizināšanu un dalīšanu). IAS(insitūts ar padziļinātām studijām, kurā studēja Džons fon Neimanis) dators kļuva par prototipu daudziem datoriem.
1949. gadā angļu izcelsmes pētnieks Moriss Uilkss, uzbūvēja pirmo datoru, kurā bija realizēti Džoņa fon Neimaņa principi. Mūsdienu datori ir daudz jaudīgāki nekā Uilksa dators, bet īstenībā izmanto tos pašus pamatprincipus, kurus piedāvāja fon Neimanis 1945. gadā.
[izmainīt šo sadaļu] Praktiskais pārskats
Vairums procesoru operācijas tiek paveiktas ar vienu vai vairākiem ALU. ALU ielādē datus no ievades reģistriem, izpilda, un izvada rezultātu izejas reģistros. Vadības ierīce pasaka ALU, kādu operāciju veikt ar datiem. Cits mehānisms pārvieto datus starp reģistriem un atmiņu.
[izmainīt šo sadaļu] Vienkāršās operācijas
Vairums ALU var veikt sekojošas operācijas:
- Veselo skaitļu aritmētiskās operācijas (saskaitīšanu, atņemšanu un dažkārt reizināšanu un dalīšanu – jāpiebilst, kad šis ir daudz dārgāks ALU);
- Bitveidīgas loģiskās operācijas (and-un, not-nē, or-vai, xor – izslēdzošais vai);
- Bitu pārcelšanas operācijas( pārceļot vai griežot vārdu pēc specificētiem bitu numuriem pa labi vai kreisi, ar vai bez zīmes paplašinājuma). Pārvirzes var tik interpretētas kā reizināšana ar 2 vai dalīšana ar 2.
[izmainīt šo sadaļu] Saliktas operācijas
Teorētiski varētu uzbūvēt ALU, kas izpildītu jebkuras operācijas, tomēr tad tas kļūtu komplicētāks. Komplicētāks ALU aizņemtu vairāk vietas procesorā, patērētu vairāk elektroenerģijas un ievērojami paaugstinātos ALU izgatavošanas izmaksas.
Vienmēr tiek meklēts kompromisa variants. Lūk seši varianti, kā tiek norealizēta kvadrātsaknes rēķināšana:
- Sevišķi kompleks ALU, kas izrēķinātu kvadrātsakni jebkuram skaitlim vienā solī. Šo sauktu par rēķināšanu vienā taktī.
- Ļoti kompleksu ALU, kas izrēķinātu kvadrātsakni jebkuram skaitlim dažos soļos. Šeit ir metode, kā tas ir panākts: starprezultāts iet cauri sērijai ar ķēdēm, kas ir sakārtotas līnijā gluži kā rūpnīcas konveijera līnija. Tas padara ALU ietilpīgu jaunu ciparu rēķināšanai, pat tad, kad vēl nav beigts rēķināt iepriekšējais skaitlis. Šī metode liek ALU uzrādīt skaitļus ātrāk nekā vienkāršas takts ALU - kaut arī aprēķina rezultāti parādās tikai pēc tam, kad ir iestājusies aizture. Šo sauc par aprēķinu cauruļvadu.
- Kompleks ALU, kas rēķinātu kvadrātsakni vairākos soļos. Šī metode ir nosaukta par interaktīvo aprēķinu metodi, un parasti tiek kontrolēta no kompleksas vadības ierīces, kas ir iebūvēta mikrokodos.
- Vienkāršs ALU procesors, kas neatrodas procesora bet atsevišķā mikroshēmā. Novietots tiek uz pamatplates. Šo sauc par līdzprocesoru. ALU un līdzprocesors datorā atrodas vienlaicīgi.
- Ja nav līdzprocesora un emulācijas, izmanto programmatūras algoritmus kvadrātsaknes rēķināšanai.Programmatūriski rēķināt kvadrātsakini
- Emulēt līdzprocesora eksistenci, - ja programmas grib rēķināt kvadrātsakni, procesoram likt pārbaudīt vai ir līdzprocesors, un ja ir tad to izmantot. Ja nav līdzprocesora, tad process lūdz palīdzību operētājsistēmai. Šo sauc par programmatūras emulāciju.
Augšup minētāas sešas iespējas atšķiras ātrdarbības un izmaksu ziņā. Pat visvienkāršākais dators var rēķināt komplicētu formulu. Visvienkāršākajam datoram, komplicētas formulas rēķināšana, var aizņemt daudz laika. Spēcīgs procesors, kā piemēram Intel Core un AMD64 īsteno pirmo iespēju priekš dažām vienkāršām operācijām, otro iespēju priekš daudz kompleksākām operācijām un iespēju trešo priekš ekstrēmi kompleksām operācijām. Tas ir iespējams dēļ tā, kad procesoros ir iebūvēti kompleksi ALU.
[izmainīt šo sadaļu] Ievades un izvades
ALU ievades ir dati, ar kuriem operē kontroles ierīce. Kontroles ierīce nosaka, kādu operāciju veikt(Datus, ar kuriem operē, sauc par operandiem).Aprēķinu rezultāts ir izvade. Daudzos veidojumos, ALU aizņem vai ģenerē ievades un izvades kondīciju kodu uzstādījumus no stāvokļa reģistra. Šie kodi tiek izmantoti darbības noteikšanai, kā piemēram, ienest iekšā, iznest ārā, pārpildīt, dalīt ar nulli.
[izmainīt šo sadaļu] ALU un FPU
FPU (Floating Point Unit) - Līdzprocesors jeb koprocesors, kas specializēts ātru operāciju ar peldošo komatu (punktu) izpildei. FPU ir iebūvētas dažas kompleksas ķēdes, iekļaujot dažus ALU. ALU atrodas pašā procesorā, bet FPU novieto uz pamatplates, atsevišķas mikroshēmas veidā. Bet sākot ar procesoru Intel 80486DX un jaunāku, FPU ir integrēts CPU.



