Miniaturizarea procesoarelor si usurinta cresterilor de performanta pentru software

Postat de Andrei Boiu la Mie, 10/05/2017 - 16:06
microscop

Miniaturizarea procesoarelor este un proces desfasurat de zeci de ani. Inca de la primele microprocesoare, lansate in anii '70, tehnologia a oferit importante avantaje din punct de vedere al puterii de calcul dar si a posibilitatilor. Este posibil, insa, ca acest proces sa devina mult mai lent iar acest lucru ar putea sa conteze.

Primele microprocesoare, in sensul actual al termenului, aveau cateva sute de piese integrate. Cele mai importante erau tranzistorii pentru ca ei faceau posibila interpretarea datelor si generarea altora noi. Astazi, microprocesoarele au milioane de tranzistori. Evolutia aproape incredibila a fost permisa datorita tehnologiei de fabricatie. Microprocesoarele din prezent pot executa mult mai rapid operatiile, au nuclee multiple ceea ce permite executia in paralel iar dimensiunile reduse au permis raspunsul din ce in ce mai rapid la comenzi si utilizarea mai redusa a energiei electrice. Desigur, procesul este cu mult mai complicat si nu a fost mereu marcat de succes. Cu toate acestea, ne-am obisnuit cu aceste beneficii iar ele se remarca in usurinta cu care software-ul poate rula din ce in ce mai repede pe procesoarele mai noi decat cele mai vechi.

Cu toate acestea, cu cat ne apropiem de dimensiuni atomice, sub 10 nm, se pare ca miniaturizarea nu mai poate fi continuata in acelasi fel. Productia unor microprocesoare din ce in ce mai compacte necesita investitii uriase dar ofera satisfactia de a putea avea produse din ce in ce mai performante. Cu cat ne apropiem de dimensiunile atomice, cu atat mai greu este sa fie dezvoltata tehnologia de fabricatie iar in momentul in care se va ajunge la dimensiuni atomice ea va stopa, in mare. In trecut, la fiecare 2 ani aparea o noua tehnologie de fabricatie ce sporea performantele microprocesoarelor, Intel fiind un promotor al acestei miscari. In prezent, ciclul se indreapta spre 3 ani dar acest proces va deveni mai lung. Toate acestea influenteaza performanta procesoarelor pentru ca doar una din cresterile de performante era legata de optimizarea proiectarii acestora in timp ce, in viitor, acest lucru va deveni critic. Din pacate, aceste cresteri de performante sunt cel mai dificil de obtinut.

Urmarea acestor transformari este ca sporul de performanta al software-ului va fi din ce in ce mai lent de la un an la altul, doar prin evolutia hardware-ului. Acest lucru este deosebit de important deoarece doar cresterea paralelismului executiei nu va fi suficienta pentru cresterile de performante cu care ne-am obisnuit. Fie proiectarea procesoarelor va trebui sa fie mai eficienta, fie va trebui sa apara o noua abordare a procesarii datelor, fie va trebui sa fie optimizat direct software-ul. Din pacate nici una dintre aceste optiuni nu este ieftina, automata sau certa. De aceea, ceea ce conteaza este ca in viitor este posibil ca evolutia puterii de calcul sa fie mai lenta decat ne-am obisnuit pana acum.