Bashkëprocesorët. Bashkëprocesori - çfarë është? Përshkrimi dhe komentet mbi punën Cili është qëllimi i bashkëprocesorit

Bashkëprocesor matematikor

Koprocesori matematik - një bashkëprocesor për zgjerimin e grupit të instruksioneve të procesorit qendror dhe për t'i siguruar atij funksionalitetin e një moduli operativ me pikë lundruese, për procesorët që nuk kanë një modul të integruar. Në fig. 4 tregon bashkëprocesorin e matematikës në motherboard.

Fig.1. Bashkëprocesor matematikor

Përkundër faktit se pothuajse të gjithë procesorët, duke filluar nga 486, janë të pajisur me një bashkëprocesor të integruar, performanca e tyre mund të ndryshojë. Historikisht, bashkëprocesorët e Intel kanë qenë më të shpejtë se ato të AMD dhe Cyrix, por kjo ka filluar të ndryshojë vitet e fundit.

Një njësi me pikë lundruese (ose pikë lundruese) është një pjesë e procesorit për kryerjen e një game të gjerë veprimesh matematikore në numra realë.

Përpunuesit e thjeshtë të numrave të plotë për të punuar me numra realë dhe operacione matematikore kërkojnë procedura të përshtatshme mbështetëse dhe kohë për t'i ekzekutuar ato. Moduli i operacioneve me pikë lundruese mbështet punën me ta në nivelin primitiv - ngarkimi, shkarkimi i një numri real (nga regjistrat e specializuar) ose një operacion matematikor mbi to kryhet nga një komandë, për shkak të kësaj, arrihet një përshpejtim i konsiderueshëm i operacioneve të tilla.

Bashkëprocesorët matematikorë quhen gjithashtu përpunues me pikë lundruese, sepse ata tregojnë aftësitë e tyre veçanërisht me shkëlqim në këtë fushë të matematikës. Numrat me pikë lundruese përdoren shpesh në llogaritjet shkencore dhe zakonisht përfaqësohen nga mantisa dhe ordinata. Avantazhi i fituar nga instalimi i një bashkëprocesori matematikor varet nga detyrat që zgjidhen në kompjuter. Sipas Intel, bashkëprocesori mund të zvogëlojë kohën e ekzekutimit të operacioneve matematikore si shumëzimi, pjesëtimi, fuqizimi me 80% ose më shumë. Shpejtësia e kryerjes së veprimeve të thjeshta, si mbledhja dhe zbritja, praktikisht nuk zvogëlohet.

Sinjalet e integruara në mikroprocesor bëjnë të mundur transferimin e punës në koprocesor dhe më pas marrjen e rezultateve të përpunimit.

Për të përdorur bashkëprocesorin aritmetik të përfshirë me kompjuterin, nevojiten programe që mund të lëshojnë kodet speciale të nevojshme për të ekzekutuar bashkëprocesorin.

Mikroprocesorët 8088, 80286, 80386 janë projektuar në mënyrë që të lejojnë përdorimin e bashkëprocesorëve aritmetikë 8087, 80287, 80387 nga Intel, përkatësisht. Modelet e mëvonshme të mikroprocesorëve kanë bashkëprocesorë të integruar.

Nga pikëpamja praktike, performanca e një sistemi që lidhet me përgatitjen e tekstit dhe mirëmbajtjen e bazës së të dhënave, funksione që nuk kërkojnë llogaritje komplekse matematikore, nuk mund të përmirësohet nga një bashkëprocesor matematikor. Bashkëprocesori dhe mikroprocesori kryesor mund të funksionojnë në frekuenca të ndryshme të orës (nga gjeneratorët e tyre të orës).

Programi i ekzekutueshëm duhet të përcaktojë vetë praninë e një bashkëprocesori dhe më pas të përdorë udhëzimet e shkruara për të; përndryshe, bashkëprocesori tërheq vetëm rrymë dhe nuk bën asgjë. Shumica e programeve moderne të krijuara për të përdorur bashkëprocesorë zbulojnë praninë e tij dhe përdorin mundësitë e ofruara. Bashkëprocesorët përdoren në mënyrë më efektive në programe me llogaritje komplekse matematikore: në tabela, baza të të dhënave, programe statistikore dhe sisteme të projektimit me ndihmën e kompjuterit. Në të njëjtën kohë, kur punoni me redaktuesit e tekstit, bashkëprocesori nuk përdoret fare.

Procesorët e thjeshtë "integer" për të punuar me numra realë dhe operacione matematikore kërkojnë procedura të përshtatshme mbështetëse dhe kohë për t'i ekzekutuar ato. Moduli i operacioneve me pikë lundruese mbështet punën me ta në nivelin primitiv - ngarkimi, shkarkimi i një numri real (nga regjistrat e specializuar) ose një operacion matematikor mbi to kryhet nga një komandë, për shkak të kësaj, arrihet një përshpejtim i konsiderueshëm i operacioneve të tilla. . Brenda FPU-së, numrat ruhen në formatin me pikë lundruese 80-bit, për shkrim ose lexim nga memorja, ato mund të përdoren:

Numrat realë në tre formate: të shkurtër (32 bit), të gjatë (64 bit) dhe të zgjatur (80 bit).

Numrat e plotë binarë në tre formate: 16, 32 dhe 64 bit.

Numrat dhjetorë të paketuar me numra të plotë (BCD) - Gjatësia maksimale e numrit është 18 shifra dhjetore të paketuara (72 bit).

FPU gjithashtu mbështet vlera të veçanta numerike:

Numrat realë të demoralizuar janë numra që janë më të vegjël se numri minimal i normalizuar. Kur formohet një vlerë e tillë në një regjistër të caktuar të pirgut, një vlerë e veçantë (10) formohet në etiketën e regjistrit TWR që korrespondon me këtë regjistër;

Pafundësia (pozitive dhe negative) ndodh kur një vlerë jo zero pjesëtohet me zero, si dhe kur tejmbushet. Kur një vlerë e tillë formohet në një regjistër të caktuar të pirgut, një vlerë e veçantë (10) formohet në etiketën e regjistrit TWR që korrespondon me këtë regjistër.

Jo-numër, ekzistojnë dy lloje të jo-numrave:

Numrat e sinjaleve. Bashkëprocesori i përgjigjet paraqitjes së këtij numri. Në regjistrin e pirgut, duke ngritur një përjashtim të pavlefshëm operacioni. Bashkëprocesori nuk gjeneron numra sinjalesh. Programuesit formojnë numra të tillë qëllimisht në mënyrë që të bëjnë një përjashtim në situatën e duhur.

Jo-numra të qetë (të qetë). Bashkëprocesori mund të formojë jo-numra të qetë në përgjigje të disa përjashtimeve, siç është numri real i pasigurisë.

Zero - Në formatin me pikë lundruese, zero konsiderohet gjithashtu një vlerë e veçantë.

paqartësitë dhe formatet e pambështetura. Ka shumë grupe bitësh që mund të paraqiten në formatin e zgjeruar të numrave realë. Për shumicën e vlerave të tyre, hidhet një përjashtim i pavlefshëm i operacionit.

Një procesor special që është i konfiguruar për të kryer operacione matematikore dhe i zbaton ato shumë herë më shpejt se procesori qendror. Kështu, ishte e mundur të rritej performanca e procesorit qendror përmes një moduli të veçantë - një bashkëprocesor matematikor. Ndryshe nga njësia qendrore e përpunimit, bashkëprocesori i matematikës nuk kontrollon pjesën më të madhe të qarqeve të kompjuterit. Përkundrazi, të gjitha aktivitetet e bashkëprocesorit të matematikës përcaktohen nga procesori qendror, i cili mund t'i dërgojë komanda bashkëprocesorit matematikor për të ekzekutuar programe dhe për të gjeneruar rezultate. Në modalitetin normal, njësia qendrore e përpunimit kryen të gjitha funksionet e kompjuterit. Dhe vetëm kur haset një detyrë që bashkëprocesori matematik mund ta trajtojë më mirë, atij i jepen të dhëna dhe komanda dhe procesori qendror pret rezultatet. Detyra të tilla përfshijnë, për shembull, veprimet matematikore midis numrave realë (veprimet midis numrave me pikë lundruese), ku numrat përfaqësohen nga mantisa dhe ordinata (fuqia dhjetore e numrit që përcakton pozicionin e pikës dhjetore). Nëse më parë, në kompjuterët e gjeneratave të para (i80386, i80486), moduli i bashkëprocesorit të matematikës ishte instaluar në motherboard si një çip i veçantë, atëherë në kompjuterët modernë, përdorimi i një bashkëprocesori matematikor si një çip i veçantë nuk kërkohet, pasi ai është ndërtuar tashmë në procesorin qendror. Përfitimet që merrni nga përdorimi i një bashkëprocesori matematikor varen nga lloji i detyrave që po kryhen në një kompjuter personal.

Përfitimet që merrni nga instalimi i një bashkëprocesori matematikor varen nga detyrat që po zgjidhen në kompjuterin tuaj. Sipas Intel, bashkëprocesori mund të zvogëlojë kohën e ekzekutimit të operacioneve matematikore si shumëzimi, pjesëtimi dhe fuqizimi me 80% ose më shumë. Shpejtësia e kryerjes së veprimeve të thjeshta, si mbledhja dhe zbritja, mund të mos ulet fare.

Një bashkëprocesor është një qark i integruar i veçantë që funksionon në lidhje me

procesori kryesor. Në mënyrë tipike, bashkëprocesori është konfiguruar për të ekzekutuar

ndonjë funksion specifik - operacion matematikor ose grafik

përfaqësimi. Dhe bashkëprocesori mund ta zbatojë këtë operacion shumë herë

më i shpejtë se procesori kryesor. Kështu, një kompjuter me një bashkëprocesor

punon shumë më shpejt.

Një bashkëprocesor është një mikroprocesor i zakonshëm, por jo aq i gjithanshëm. Zakonisht

bashkëprocesori është zhvilluar si një pajisje e veçantë për zbatimin e një specifike

një funksion specifik. Meqenëse repertori i bashkëprocesorit është i kufizuar, ai mund të ri

për të analizuar funksionet e caktuara për të si askush tjetër.

Si çdo mikroprocesor tjetër, edhe bashkëprocesori punon në të njëjtat parime. Ai

thjesht ekzekuton programe që përmbajnë një sekuencë të mikroprocesorit

komandat. Procesori SoP nuk kontrollon pjesën më të madhe të qarqeve të kompjuterit.

Në modalitetin normal, mikroprocesori kryen të gjitha funksionet e kompjuterit. Dhe vetëm kur

ekziston një detyrë që bashkëprocesori mund ta trajtojë më mirë, të dhënat transferohen në të

dhe komandat e kontrollit, dhe CPU pret për rezultatet.

Bashkëprocesorët që përdoren më së shpeshti në PC janë bashkëprocesorët e matematikës.

bashkëprocesorët. Në matematikë, ata specializohen në shumëzimin dhe ndarjen e numrave.

Bashkëprocesorët e matematikës quhen gjithashtu procesorë me pikë lundruese.

sepse ata veçanërisht tregojnë potencialin e tyre në këtë fushë

matematikë. Numrat me pikë lundruese përdoren shpesh në llogaritjet shkencore dhe

zakonisht përfaqësohen nga mantisa dhe ordinata.

Përfitimi i përftuar nga instalimi i një bashkëprocesori matematikor varet nga

çfarë detyrash kryhen në kompjuter. Sipas bashkëprocesorit Intel

mund të zvogëlojë kohën e ekzekutimit të veprimeve matematikore si p.sh

shumëzim, pjesëtim, fuqizim me 80% ose më shumë.

Shpejtësia e kryerjes së veprimeve të thjeshta si mbledhja dhe zbritja është praktikisht

nuk ulet.

Nga pikëpamja praktike, performanca e sistemit të trajnimit

tekstet dhe mirëmbajtja e bazës së të dhënave - funksione që nuk kërkojnë matematikë komplekse

llogaritjet nuk mund të përmirësohen nga një bashkëprocesor matematikor.

Bashkëprocesori dhe mikroprocesori kryesor mund të funksionojnë me shpejtësi të ndryshme të orës

(nga gjeneratorët e vet të orës).

Kur raporti i frekuencave të mikroprocesorit dhe bashkëprocesorit shprehet si një numër i plotë,

ato punojnë në mënyrë sinkrone dhe mund të transferojnë informacion tek njëri-tjetri në mënyrë optimale

mënyrë. Puna jo e sinkronizuar kërkon që njëra ose tjetra prej tyre

priti përfundimin e ciklit të partneres së tij, që sjell edhe pamjen

periudha e pritjes e vogël por reale.

Familja e bashkëprocesorëve Intel përbëhet nga: 8087, 80287, 80387, 80387SX.

Secili prej tyre është krijuar posaçërisht për të punuar me ato përkatëse

mikroprocesor i familjes kryesore Intel. Secila nga këto katër ka të vetat

karakteristikat. Kufizimet në përpunimin një herë të informacionit në

8, 16, 32 bit janë shumë prapa. Bashkëprocesorët Intel përpunojnë menjëherë 80

pak. Çdo bashkëprocesor përmban tetë regjistra 80-bitësh në të cilët ai dhe

kryen llogaritjet e tij. Ata punojnë me numra 32-, 64- ose 80-bit

pikë lundruese; Numrat e plotë 32 ose 64 bit. Si rregull, bashkëprocesorët

punojnë si shtojca të qendrës.

Të dy procesorët varen në linjat e informacionit të adresës së kompjuterit dhe performojnë

secili me komandat e veta siç shfaqen në program. bashkëprocesorët mund

kryejnë funksionet e tyre paralelisht me punën e procesorit qendror, d.m.th

të dy trutë në këtë rast mendojnë në të njëjtën kohë, sepse secili prej tyre lexon

komandat e tyre direkt nga autobusi, dhe CPU nuk duhet të ndërpritet,

për të lëshuar një komandë për bashkëprocesorin.

Ky bashkëprocesor është projektuar posaçërisht për përdorim me Intel 8086,

8088, 80186, 80188. Prandaj, ka identike me këta mikroprocesorë

mundësitë për adresimin dhe perceptimin e informacionit. Për më tepër, vetë ky bashkëprocesor

është konfiguruar për madhësinë e autobusit të të dhënave - tetë ose gjashtëmbëdhjetë tibit (8086 ose

8088 familje). Është instaluar në një lidhës standard 40-pin dhe

rrit listën e komandave kompjuterike me 68 njësi.

Ekzistojnë tre modifikime të këtij bashkëprocesori, që ndryshojnë në frekuencë: 5, 8,

Në mënyrë të ngjashme, 80286 është një shtrirje e 8086, 80287 është një zgjatje e 8087.

Avantazhi kryesor i 80287 është aftësia për të funksionuar si në realitet ashtu edhe në atë

dhe në modalitetin e mbrojtur mikroprocesori 80286. Ka aftësinë për të adresuar

gjithë memoria 16M.

80287 është pothuajse plotësisht i pajtueshëm me 8087 dhe mund të përdorë pothuajse çdo gjë

softuerin e këtij të fundit. Dallimi kryesor funksional midis tyre

bashkëprocesorët në mënyrën e trajtimit të situatave të dështimit. Kur gjendet një gabim, këto

patate të skuqura mund të sillen ndryshe. Megjithatë, softueri mund

kompensojnë këto mospërputhje.

80287 është vendosur në një paketë DIP me 40 pin. Por jo si shembull për të rinjtë e tij

shoku, 80287 mund të punojë me një mikroprocesor të ndryshëm nga ai qendror

frekuenca e orës.

mikroprocesor, ka një qark ndarës të integruar, i cili redukton të brendshmen

trefishi i frekuencës.

Duke përdorur gjeneratorin e vet, 80287 mund ta rrisë ndjeshëm atë

performancës.

Ashtu si 8087, 80287 ka katër modifikime që ndryshojnë në

80287 është kompatibil me mikroprocesorin 80386. Megjithatë, ata punojnë në të ndryshme

frekuencave, dhe për këtë arsye kërkon një ndërfaqe të veçantë për të hyrë në autobus

të dhënat 80386. Për më tepër, meqenëse 80287 është një çip 16-bit, të gjitha ndërlidhjet me

80386 duhet të zbatohet me fjalë 16-bit, potencialisht duke u reduktuar

performancës.

80387 dhe 80387SX

Në të njëjtën mënyrë që Intel, duke marrë parasysh mësimet e së kaluarës, prodhoi 80386, 80387 u bënë

zhvillimi i mëtejshëm i bashkëprocesorit 80287. Ekipi i mbetur në përputhje me

80287, 80387 rriti shpejtësinë e manipulimit të të dhënave. Por përsëri, kishte dallime

mohim në përpunimin e gabimeve. Por mundësitë e 80387 ishin më të mëdha - u zbatua

të gjitha funksionet transcendentale dhe logaritmike.

80387SX - i ngjashëm në çdo mënyrë me 80387, por i krijuar për të punuar

Autobus 16-bit 80386SX në vend të autobusit të të dhënave 32-bit.

80387 dhe 80387SX mund të ekzekutojnë të gjitha programet për 80287. E kundërta nuk është

ekuivalente. Problemi kryesor me 387s janë rezultatet paksa të ndryshme

llogaritjet e funksionit transcendent nga 80287.

80387 funksionon në të njëjtën frekuencë si CPU. Në dispozicion

modifikimet përkatëse të këtij bashkëprocesori deri në 25 MHz.

Koprocesor - një procesor i specializuar që zgjeron aftësitë e procesorit qendror të një sistemi kompjuterik, por i projektuar si një modul funksional i veçantë. Fizikisht, bashkëprocesori mund të jetë një çip i veçantë ose mund të ndërtohet në njësinë qendrore të përpunimit.

Ekzistojnë llojet e mëposhtme të bashkëprocesorëve:

Bashkëprocesorët e matematikës për qëllime të përgjithshme, zakonisht përshpejtojnë llogaritjet me pikë lundruese,

Bashkëprocesorët I/O (për shembull, Intel 8089), të cilët shkarkojnë procesorin qendror nga kontrolli i operacioneve I/O ose zgjerojnë hapësirën standarde të adresës së procesorit,

Bashkëprocesorë për kryerjen e çdo llogaritjeje shumë të specializuar.

Koprocesori nuk është një procesor i plotë, pasi nuk kryen shumë operacione karakteristike të një procesori (për shembull, nuk mund të punojë me një program dhe të llogarisë adresat e memories), duke qenë një pajisje periferike e procesorit qendror.

Një nga skemat e ndërveprimit midis procesorit qendror dhe bashkëprocesorit, e përdorur, veçanërisht, në bashkëprocesorët x86, zbatohet si më poshtë:

Koprocesori është i lidhur me autobusët e procesorit qendror, dhe gjithashtu ka disa sinjale të veçanta për sinkronizimin e procesorëve me njëri-tjetrin.

Një pjesë e kodeve të instruksionit të procesorit qendror është e rezervuar për bashkëprocesorin. CPU dekodon dhe ekzekuton instruksionet në sekuencë. Kur ndodh një instruksion që duhet të ekzekutohet nga bashkëprocesori, CPU i dërgon një kod optik bashkëprocesorit. Në këtë rast, nëse nevojitet akses shtesë në memorie (për leximin ose shkrimin e rezultateve), bashkëprocesori "kap" autobusin e të dhënave.

Pas marrjes së komandës dhe të dhënave të nevojshme, koprocesori fillon ekzekutimin e tij. Ndërsa bashkëprocesori po ekzekuton instruksionin, CPU-ja po e ekzekuton programin më tej, paralelisht me llogaritjet e bashkëprocesorit. Nëse instruksioni tjetër është gjithashtu një instruksion i bashkëprocesorit, procesori ndalon dhe pret që bashkëprocesori të përfundojë ekzekutimin e instruksionit të mëparshëm.

Ekziston një instruksion i veçantë i pritjes (FWAIT) që ndalon me forcë procesorin përpara përfundimit të llogaritjeve (nëse rezultatet nevojiten për të vazhduar programin). Aktualisht, instruksioni përdoret vetëm për trajtimin e përjashtimeve kur punoni me një pikë lundruese, puna e procesorit dhe bashkëprocesorit sinkronizohet në mënyrë transparente për programuesin.

Duke filluar me procesorin Intel486DX, njësia me pikë lundruese u integrua në CPU dhe u quajt FPU. Në linjën Intel486SX, moduli FPU u çaktivizua (në fillim, procesorët me një FPU të dëmtuar ranë në këtë linjë). Për procesorët Intel486SX u prodhua një "bashkëprocesor" Intel487SX, por, në fakt, ishte një procesor Intel486DX dhe kur u instalua, procesori Intel486SX u çaktivizua.


Pavarësisht nga integrimi, FPU në procesorët i486 është një bashkëprocesor i pandryshuar i bërë në të njëjtin çip, për më tepër, qarku i486 FPU është plotësisht identik me bashkëprocesorin e gjeneratës së mëparshme 387DX deri në frekuencën e orës (gjysma e frekuencës së procesorit qendror). Integrimi i vërtetë i FPU me CPU filloi vetëm me procesorët Pentium MMX.

Bashkëprocesorët për platformën x86 të prodhuar nga Weitek u përdorën gjerësisht në periudhën përkatëse - ata lëshuan 1167, 2167 në formën e një chipset dhe çipa 3167, 4167 për procesorët 8086, 80286, 80386, 80486, përkatësisht. Krahasuar me bashkëprocesorët nga Intel, ata siguruan performancë 2-3 herë më të lartë, por kishin një ndërfaqe softuerike të papajtueshme të zbatuar përmes teknologjisë së hartës së kujtesës. Ai përfundoi në faktin se procesori kryesor duhej të shkruante informacion në zona të caktuara të memories të kontrolluara nga bashkëprocesori. Adresa specifike ku është bërë regjistrimi është interpretuar si një komandë e veçantë. Pavarësisht papajtueshmërisë, bashkëprocesorët e Weitek u mbështetën gjerësisht si nga zhvilluesit e softuerit ashtu edhe nga prodhuesit e pllakave amë që përfshinin një çip të tillë.

Një sërë kompanish të tjera prodhuan bashkëprocesorë të ndryshëm matematikorë të papajtueshëm, të ndërlidhur me ta nëpërmjet porteve I/O ose ndërprerjeve të BIOS-it, por ato nuk u përdorën gjerësisht.

Një bashkëprocesor është një ASIC që funksionon në lidhje me CPU-në, por është më pak i gjithanshëm. Ndryshe nga CPU, bashkëprocesori nuk ka numërues programi. Koprocesori është krijuar për të kryer një grup funksionesh specifike, për shembull: kryerja e operacioneve me numra realë - një bashkëprocesor matematik, përgatitja e imazheve grafike dhe skenave tredimensionale - një bashkëprocesor grafik, përpunimi i sinjalit dixhital - një bashkëprocesor sinjali, etj.

Përdorimi i bashkëprocesorëve me funksionalitet të ndryshëm lejon zgjidhjen e një game të gjerë problemesh:

përpunimi i informacionit ekonomik;

modelim;

· transformimet grafike;

menaxhim industrial;

· Sistemet e kontrollit numerik;

· robotë;

· navigacion;

mbledhjen e të dhënave etj.

Memorie cache

Memoria cache është një memorie me shpejtësi të lartë e vendosur në të njëjtin çip me CPU-në ose e jashtme e CPU-së. Cache shërben si një tampon me shpejtësi të lartë midis CPU-së dhe memories kryesore relativisht të ngadaltë. Ideja e memories cache bazohet në parashikimin e akseseve më të mundshme të CPU në RAM.

Nëse CPU ka hyrë në ndonjë objekt të RAM-it, atëherë me një probabilitet të lartë së shpejti do të hyjë përsëri në këtë objekt. Një shembull i kësaj situate do të ishte kodi ose të dhënat në sythe.

Është e rëndësishme të theksohet se tre metoda të shkrimit përdoren për të koordinuar përmbajtjen e cache dhe RAM:

· Shkruaj përmes - RAM-i përditësohet njëkohësisht me memorien e memories.

· Shkrimi përmes buferit - informacioni vonohet në buferin e memories së memories para se të shkruhet në RAM dhe të rishkruhet në RAM në ato cikle kur CPU nuk i qaset.

Shkruaj përsëri (shkruaj përsëri) - përdoret biti i ndryshimit në fushën e etiketës dhe linja rishkruhet në RAM vetëm nëse biti i ndryshimit është 1.

Ekzistojnë dy lloje të blloqeve të të dhënave në strukturën e cache:

Kujtesa e shfaqjes së të dhënave (vetë të dhënat, të dyfishuara nga RAM);

Memoria e etiketave (karakteristika që tregojnë vendndodhjen e të dhënave të memories së ruajtur në RAM).

Hapësira e kujtesës së hartës së të dhënave në cache është e ndarë në linja - blloqe me një gjatësi fikse (për shembull, 32, 64 ose 128 bajt). Çdo rresht i cache-it mund të përmbajë një bllok të rreshtuar të njëpasnjëshëm të bajteve nga memoria kryesore. Cili bllok i RAM-it është hartuar në një linjë të caktuar të cache-it përcaktohet nga etiketa e linjës dhe algoritmi i hartës. Sipas algoritmeve për hartimin e RAM-it në cache, dallohen tre lloje të memories cache:

cache plotësisht shoqëruese;

cache e hartës direkte;

· cache e shumëfishtë asociative.

Për plotësisht asociative cache-i është karakteristik që kontrolluesi i cache-it mund të vendosë çdo bllok të RAM-it në çdo linjë të cache-it.

Në këtë rast, adresa fizike ndahet në dy pjesë: kompensimi në bllok (linja e cache) dhe numri i bllokut. Kur një bllok vendoset në cache, numri i bllokut ruhet në etiketën e linjës përkatëse. Kur CPU i qaset cache-së për një bllok të nevojshëm, humbja e cache-it do të zbulohet vetëm pasi të krahasohen etiketat e të gjitha linjave me numrin e bllokut.

Një nga avantazhet themelore të kësaj metode të ekranit është përdorimi i mirë i RAM-it, sepse. nuk ka kufizime se cili bllok duhet të vendoset në cilën linjë cache. Disavantazhet përfshijnë zbatimin kompleks të harduerit të kësaj metode, e cila kërkon një numër të madh të komponentëve të qarkut (kryesisht krahasues), gjë që çon në një rritje të kohës së hyrjes në një cache të tillë dhe një rritje të kostos së saj.

Cache e hartës direkte(ose cache asociative me një drejtim). Në këtë rast, adresa e memories (numri i bllokut) përcakton në mënyrë unike linjën e cache-së në të cilën do të vendoset ky bllok. Adresa fizike ndahet në tri pjesë: bllokimi i kompensimit (linja e cache-it), numri i linjës së memories dhe teᴦ. Ky apo ai bllok do të vendoset gjithmonë në një linjë të cache-it të përcaktuar rreptësisht, duke zëvendësuar një bllok tjetër të ruajtur atje nëse është jashtëzakonisht i rëndësishëm. Kur CPU-ja akseson cache-in për një bllok të nevojshëm, duhet vetëm të kontrollojë etiketën e një rreshti për të përcaktuar nëse ishte një sukses apo një mungesë e cache-it.

Përparësitë e dukshme të këtij algoritmi janë thjeshtësia dhe kostoja e ulët e zbatimit. Disavantazhet përfshijnë efikasitetin e ulët të një cache të tillë për shkak të ringarkimit të shpeshtë të mundshëm të rreshtave. Për shembull, kur hyn në çdo vendndodhje të 64-të të memories në sistem, kontrolluesi i cache-it do të detyrohet të ringarkojë vazhdimisht të njëjtën linjë të memories pa përdorur fare pjesën tjetër.

Cache e shumëfishtë shoqëruese(ose cache pjesërisht-shoqëruese). Ky është një kompromis midis dy algoritmeve të para.

Me këtë metodë të organizimit të memories cache, linjat kombinohen në grupe, të cilat mund të përfshijnë linja 2/4/8/:. Në përputhje me numrin e rreshtave në grupe të tilla, dallohen 2-hyrje, 4-hyrje etj. cache asociative. Kur aksesoni memorien, adresa fizike ndahet në tre pjesë: kompensimi në bllok (linja e cache), numri i grupit (seti) dhe teᴦ. Blloku i memories adresa e të cilit i përgjigjet një grupi të caktuar duhet të vendoset në çdo rresht të këtij grupi dhe vlera përkatëse vendoset në etiketën e linjës. Natyrisht, brenda grupit të përzgjedhur respektohet parimi i asociativitetit. Nga ana tjetër, një bllok i veçantë mund të bjerë vetëm në një grup të përcaktuar rreptësisht, i cili i bën jehonë parimit të organizimit të një cache të hartës direkte. Në mënyrë që procesori të jetë në gjendje të identifikojë mungesën e cache-it, do t'i duhet vetëm të kontrollojë etiketat e një grupi (2/4/8/: rreshtat).

Ekzistojnë llojet e mëposhtme të bashkëprocesorëve:

  • bashkëprocesorë matematikorë për qëllime të përgjithshme, që zakonisht përshpejtojnë llogaritjet me pikë lundruese,
  • bashkëprocesorët hyrje-dalje (për shembull - Intel 8089), shkarkimi i procesorit qendror nga kontrolli i operacioneve hyrëse-dalëse ose zgjerimi i hapësirës standarde të adresave të procesorit,
  • bashkëprocesorët për të kryer ndonjë llogaritje shumë të specializuar.

Bashkëprocesorët mund të jenë pjesë e një grupi logjik të zhvilluar nga një kompani e caktuar (për shembull, Intel prodhoi bashkëprocesorë për procesorët 8086 dhe 8088 dhe 8089, Motorola - Motorola 68881 bashkëprocesor) ose të prodhuar nga një prodhues i palës së tretë (për shembull, Weitek (anglisht) për Motorola m68k dhe 1067 për Intel 80286).

Bashkëprocesor në programim

Koprocesori zgjeron sistemin e instruksioneve të procesorit qendror, prandaj, për ta përdorur atë, programi (i përpiluar pa interpretim dhe duke thirrur biblioteka të jashtme) duhet të përmbajë këto udhëzime. Cilësimet e përpiluesve modernë për gjuhët e nivelit të lartë për procesorët x86 shpesh ju lejojnë të zgjidhni nëse do të përdorni një bashkëprocesor matematikor apo jo, gjë që është veçanërisht e rëndësishme kur krijoni kodin që do të ekzekutohet brenda një mbajtësi të ndërprerjeve harduerike.

Ekzistojnë gjithashtu procesorë periferikë të krijuar për të kontrolluar pajisjet periferike dhe për të shkarkuar procesorin qendror, përkatësisht:

Shkruani një përmbledhje për artikullin "Koprocesori"

Shënime

Shiko gjithashtu

Lidhjet

  • whatis.techtarget.com/definition/coprocessor
  • www.webopedia.com/TERM/C/coprocessor.html
  • www.pcmag.com/encyclopedia/term/46625/math-coprocessor
  • www.trevormarshall.com/old_papers/Approaching-Desktop-Supercomputer.pdf 1990 - Bashkëprocesorët kompjuterikë, bashkëprocesorët e hershëm kompjuterik 32 bit
  • Hansen, Paul Mark, nëntor 1988

Një fragment që karakterizon bashkëprocesorin

Princesha Marya shkroi se ishte në dëshpërim për keqkuptimin që kishte ndodhur mes tyre. Cilatdo qofshin ndjenjat e babait të saj, shkroi Princesha Mary, ajo i kërkoi Natashës të besonte se nuk mund të mos e donte atë si atë të zgjedhur nga vëllai i saj, për lumturinë e të cilit ishte gati të sakrifikonte gjithçka.
“Megjithatë, shkroi ajo, mos mendoni se babai im ishte i prirur keq ndaj jush. Ai është një burrë i sëmurë dhe i moshuar që duhet të shfajësohet; por ai është i sjellshëm, bujar dhe do ta dojë atë që do ta bëjë të lumtur djalin e tij.” Më tej, Princesha Mary kërkoi që Natasha të caktonte një kohë kur ajo mund ta shihte përsëri.
Pasi lexoi letrën, Natasha u ul në tryezën e shkrimit për të shkruar një përgjigje: "Chere princeshë", [E dashur princeshë,] ajo shkroi shpejt, mekanikisht dhe ndaloi. “Çfarë tjetër mund të shkruante ajo pas gjithçkaje që ndodhi dje? Po, po, ishte e gjitha kjo, dhe tani gjithçka është ndryshe, "mendoi ajo, duke u ulur mbi letrën që kishte nisur. “A duhet ta refuzoj? A është vërtet e nevojshme? Është e tmerrshme! ”... Dhe për të mos menduar këto mendime të tmerrshme, ajo shkoi te Sonya dhe së bashku me të filluan të zgjidhnin modelet.
Pas darkës, Natasha shkoi në dhomën e saj dhe mori përsëri letrën e Princeshës Mari. “A ka përfunduar tashmë gjithçka? ajo mendonte. A ndodhi gjithçka kaq shpejt dhe shkatërroi gjithçka që kishte kaluar më parë? Ajo kujtoi dashurinë e saj për Princin Andrei me gjithë forcën e saj të mëparshme, dhe në të njëjtën kohë ndjeu se e donte Kuragin. Ajo imagjinoi gjallërisht veten gruan e Princit Andrei, imagjinoi fotografinë e lumturisë me të të përsëritur nga imagjinata e saj kaq shumë herë, dhe në të njëjtën kohë, duke u ndezur nga emocionet, imagjinoi të gjitha detajet e takimit të saj me Anatolin dje.
Pse nuk mund të ishin bashkë? ndonjëherë, në një eklips të përsosur, mendoi ajo. Vetëm atëherë do të isha plotësisht i lumtur, por tani më duhet të zgjedh dhe pa njërën nga të dyja nuk mund të jem i lumtur. Një gjë, mendoi ajo, të thuash atë që ishte për Princ Andrei ose të fshihesh është po aq e pamundur. Dhe asgjë nuk është e gabuar me këtë. Por a është vërtet e mundur të ndahesh përgjithmonë me këtë lumturi dashurie të Princit Andrei, të cilën e jetova kaq gjatë?
"Zonjë e re," tha vajza me një pëshpëritje me një ajër misterioz, duke hyrë në dhomë. “Një person më tha të dorëzoja. Vajza dërgoi një letër. "Vetëm për hir të Krishtit," po thoshte ende vajza, kur Natasha, pa u menduar, theu mekanikisht vulën dhe lexoi letrën e dashurisë së Anatolit, nga e cila, pa kuptuar asnjë fjalë, ajo kuptoi vetëm një gjë - se kjo letër ishte nga atë, nga ai person, të cilin ajo e do. “Po, ajo e do, përndryshe si mund të ndodhte ajo që ndodhi? Si mund të kishte një letër dashurie prej tij në dorën e saj?
Me duar që dridheshin, Natasha mbajti këtë letër pasionante dashurie të shkruar për Anatole nga Dolokhov dhe, duke e lexuar, gjeti në të jehonë të gjithçkaje që mendonte se ndjente vetë.

Në vazhdim të temës:
Dritaret

Natalya Komarova , 05/28/2009 (03/25/2018) Kur lexoni një forum ose blog, ju kujtoni autorët e postimeve me pseudonim dhe ... nga fotografia e përdoruesit, i ashtuquajturi avatar ....