breviar istoric intel
duminică, 25 mart. 2012, 18:09
Observ de prin plimbările mele pe diverse site-uri de socializare de pe Interneți, fie ele blog-uri, microblog-uri sau mai știu eu ce, că locuitorii acestora din urmă se găsesc într-o confuzie generală legată de arhitectura calculatoarelor proprii. Aspectul nu-i unul foarte grav, având în vedere că nu trebuie să ajungem cu toții capabili de a ne construi propriul calculator peste noapte. Cu toate astea, dacă tot ne dăm cu părerea pe temă zic că ar fi o idee destul de bună să aflăm ce și cum și să săpăm în istorie.
Iar istoria arhitecturilor de calculatoare începe și momentan se termină cu Intel. Fără discuție orice calculator personal pe care l-ați avut sau îl aveți în casă (cu excepția unor modele Apple poate) are ceva de-a face cu Intel, indiferent de producătorul procesorului, al perifericelor sau al carcasei. Ba chiar și HC-urile ,TIM-S-urile, Cobra, CIP și alte chestii românești tot Intel au la bază. Pur și simplu firma asta a scris istoria în domeniu, iar toate lucrurile de după sunt mai mult sau mai puțin anexe.
Totul a început cu Intel 4004, care-i dacă vă uitați bine un procesor pe 4 biți. Chestia mi se pare fascinantă, pentru că pe patru bițișori poți practic reprezenta numere doar de la 0 la 15 și atât. Cu toate astea ăia patru biți pot fi foarte utili pentru a reprezenta numere de la 0 la 9, adică cifre din sistemul zecimal. Având astfel la dispoziție 16 registre a câte 4 biți se pot executa lejer calcule BCD, iar calculatoarele financiare primitive nici nu aveau nevoie de mai mult. Urmașul său imediat, Intel 4040 avea deja suport pentru întreruperi [i], ceea ce-i mare chestie.
Primul CPU serios a fost însă 8008, și a fost serios în sensul în care folosea acces la magistrală și registre și toate cele pe 8 biți, iar octetul e unitatea de bază pentru setul de caractere ASCII, chestie care face implicit accesul la un ecran cu text mult mai simplu. Deja 8008 are o microarhitectură vizibil mai complexă și mai robustă, asigurând de exemplu suport pentru stivă externă și comunicare mai eficientă cu perifericele, astfel încât e posibil să fi putut duce inclusiv un sistem de operare. Apoi proiectarea lui 8080 a fost cea cu care ne putem identifica și astăzi, pentru că conține registrele etichetate A-E plus alte câteva, operații de control al fluxului de instrucțiuni și capacitate limitată de a lucra pe 16 biți. 8080 mai e interesant și prin faptul că din el s-a desprins Z80-ul, care mai apoi a ajuns și în Europa de Est sub forma HC, TIM-S și așa mai departe.
Intel 8086 este urmașul lui 8080 și oficial primul procesor din arhitectura x86. Cei mai bătrâni dintre voi probabil că ați pus mâna pe un 286, care-i de fapt un succesor oleacă îmbunătățit al lui 8086, dar are la bază aceeași arhitectură pe 16 biți. Dacă 8086 a adus registrele binecunoscute AH, BH etc., 80286 a venit cu o îmbunătățire esențială pentru sisteme de operare, mai exact un mod protejat, special pentru execuția codului din nucleul sistemului de operare. Nu intrăm foarte mult în detalii, dar și predecesorul său, 80186 adusese câteva îmbunătățiri importante precum suportul pentru DMA.
Majoritatea sistemelor de operare au și astăzi variante etichetate „i386”, care pe românește se traduce în „cu suport pentru microarhitectura 80386”. Aici s-a petrecut prima mare revoluție în domeniul procesoarelor, pentru că 386 avea registre și adresare externă pe 32 de biți și în plus oferea suport pentru memorie virtuală [ii]. Procesoarele astea au avut un succes atât de mare încât IBM le-a luat și a făcut din ele – plus magistrală, unități de control auxiliare și periferice – o platformă standard (cel puțin de facto), platformă pe care noi o cunoaștem astăzi sub numele de Personal Computer. Apoi s-a observat că n-ar strica ca oamenii care fac grafică sau calcul științific să poată lucra pe ele, moment în care a ieșit 486, al cărui cea mai mare realizare e coprocesorul de calcul în virgulă mobilă integrat pe pastila-mamă, la un loc cu adăugarea unui pipeline de instrucțiuni.
Deja când ajungem la microarhitectura P5, pe care se bazează primele procesoare Pentium, treburile devin destul de SF. În primul rând că Pentium are vreo două pipeline-uri cu suport pentru microcod (care-s cumva părintele execuției speculative), cache-uri separate pentru date și instrucțiuni și apoi suport pentru setul de instrucțiuni pe vectori MMX, care și-au dovedit oarecum utilitatea în (de)codificarea de fluxuri video.
Observați că nu am menționat nimic de frecvență, pentru că deși a fost un factor important în performanță, a fost legat destul de mult de densitatea tranzistoarelor, materialele folosite în procesul de fabricație și alte lucruri care ne depășesc. Da, frecvența ceasului de pe procesor a crescut, frecvența magistralei cu memoria RAM nu așa de mult, motiv pentru care în ziua de azi avem memorii cache integrate în procesor. Tot ce a venit după a pedalat mai mult sau mai puțin pe aspectele astea și pe paralelizarea execuției, dar partea asta a istoriei va fi prezentată cu altă ocazie.
- Care-s indispensabile când vine vorba de multitasking, deși în contextul ăla erau cel mai probabil folosite pentru a trata aspecte precum overflow-ul registrelor. [↩]
- Ceea ce face iar implementarea multitasking-ului într-un sistem de operare relativ simplă [↩]
Comentariile sunt dezactivate.
Comments
Pfoai .. cache, registre, stiva externa, virgula mobila .. iar vorbesti lumii despre balauri, mei? :))
Pe bune, presupun ca un om obisnuit se uita in articolul asta precum ma simt io cand incep altii sa vorbeasca detaliat despre „anatomia” automobilelor.
Păi fix cum zici e. Un om obișnuit care nu-i interesat deloc de aspectele tehnice ale calculatoarelor n-o să înțeleagă nimic din ce scrie mai sus, iar un individ care folosește termeni gen „i386”, „686” sau „gigahertzi” o să înțeleagă măcar jumate (sper eu). Drept urmare cei care-și dau cu părerea în domeniu au o șansă să se educe un pic în acest sens, învățând ce contează de fapt când cumperi un calculator, indiferent de ceea ce zice divizia de marketing.
De-aia următorul articol din serie – care-i momentan în stadiu de draft – o să fie un exercițiu menit a-i face pe diletanți să se întrebe care-i de fapt diferența între 386 și 386DX sau între Core i5 și Core i7 și de ce și-ar da banii pe unul sau pe celălalt.
Acum sigur, io nu bag pe gât nimănui informația asta, oamenii pot la fel de bine să-și păstreze concepțiile de forma „iPad e cel mai tare”, nu mă deranjează.
[…] breviar istoric intel (ii) Monday, 30 Apr 2012, 18:28 […]