CISC: Skirtumas tarp puslapio versijų

1 206 pridėti baitai ,  01:48, 9 spalio 2023
nėra keitimo aprašymo
 
4 eilutė: 4 eilutė:


Anais laikais daug kas programuodavo asembleriu, nes procesoriai buvo labai brangūs, o gerų [[programavimo kalbos|programavimo kalbų]] realizacijų, kurios turėtų efektyviai optimizuojančius [[kompiliatoriai|kompiliatorius]], smarkiai trūko. Tai todėl firmos ir stengdavosi, kad asembleriu programuoti būtų lengviau žmonėms, o ne programoms, kurios verčia iš programavimo kalbų į mašininį kodą.
Anais laikais daug kas programuodavo asembleriu, nes procesoriai buvo labai brangūs, o gerų [[programavimo kalbos|programavimo kalbų]] realizacijų, kurios turėtų efektyviai optimizuojančius [[kompiliatoriai|kompiliatorius]], smarkiai trūko. Tai todėl firmos ir stengdavosi, kad asembleriu programuoti būtų lengviau žmonėms, o ne programoms, kurios verčia iš programavimo kalbų į mašininį kodą.
Tas pats CISC procesorių privalumas - patogus [[asembleris]], buvo ir didžiausia visų CISC procesorių problema: reikalas tas, kad kuo daugiau procesorius turi specializuotų komandų, tuo sunkiau [[kompiliatorius]] gali parinkti tinkamas komandų sekas. Ir kuo daugiau komandų, tuo sunkiau kažką čia padaryti, ir sudėtingumas, augant komandų skaičiui, pasižymi [[eksponentinis augimas|eksponentiniu augimu]]. O kompiliatorių išvengti pasidarė neįmanoma dar 197x, nes programos ėmė darytis baisiai sudėtingos ir kompleksinės - tokios, kurių asembleriu parašyti praktiškai neįmanoma. Ir kuo didesnės programos buvo kuriamos, tuo labiau reikėjo aukšto lygio programavimo kalbų.
Tai reiškia, kad vis daugiau programavimo darant aukšto lygio programavimo kalbomis, visokie CISC procesoriai tampa neįveikiama kliūtimi programų optimizavimui. Ir todėl dar prieš porą dešimtmečių buvo pastebėta, kad geri RISC procesoriai turi 3-5 kartų mažiau elementų, tačiau praktiniu našumu nuo kelių dešimčių procentų iki kartais netgi 2-3 kartų lenkia to paties dažnio CISC procesorius. Ir visa tai - dėl tų pačių kompiliatorių, kurie labai gerai optimizuoja kodą.


Vieni iš tipiškiausių CISC procesorių buvo tokie [[8086]], kurie davė pagrindą visai [[x86]] architektūrų grupei. O šita grupė architektūrų iki šiol gyvuoja, kaip [[Wintel]] platforma. Tai paskui būna, kad kas nors įsijungia kokį seną senovinį [[SGI]] kompiuterį su [[MIPS]] ar kokį nors seną senovinį [[Macintosh]] su [[PowerPC]] ir stebisi, kaip čia dabar kompas, pagamintas daugiau kaip prieš 20 metų, su viskuo taip visai greitai dirba ir normaliam [[PC]] kompiuteriui nelabai tenusileidžia (aišku, jei nekalbam apie [[geimai|geimus]]). Tai atsakymas čia paprastas: [[x86]] architektūra yra [[šūdas]], o šūdas ji yra todėl, kad tai daugiametė ir beviltiška CISC.
Vieni iš tipiškiausių CISC procesorių buvo tokie [[8086]], kurie davė pagrindą visai [[x86]] architektūrų grupei. O šita grupė architektūrų iki šiol gyvuoja, kaip [[Wintel]] platforma. Tai paskui būna, kad kas nors įsijungia kokį seną senovinį [[SGI]] kompiuterį su [[MIPS]] ar kokį nors seną senovinį [[Macintosh]] su [[PowerPC]] ir stebisi, kaip čia dabar kompas, pagamintas daugiau kaip prieš 20 metų, su viskuo taip visai greitai dirba ir normaliam [[PC]] kompiuteriui nelabai tenusileidžia (aišku, jei nekalbam apie [[geimai|geimus]]). Tai atsakymas čia paprastas: [[x86]] architektūra yra [[šūdas]], o šūdas ji yra todėl, kad tai daugiametė ir beviltiška CISC.
1 637

pakeitimai