Kodėl optimizavimas tarp aparatinės ir programinės įrangos yra svarbus?

Šiame tinklaraščio įraše nagrinėsime, kodėl optimizavimas tarp aparatinės ir programinės įrangos yra svarbus technologinei pažangai.

 

„iPhone“ ir išmaniųjų telefonų bumas yra socialinis reiškinys, kurį visi tiesiogiai ar netiesiogiai patyrėme. Jis truko mažiau nei metus ir galbūt tęsiasi iki šiol. Išmanieji telefonai turėjo platų poveikį, kuris neapsiriboja įrenginių kūrimu ir daro įtaką gyvenimo būdui bei socialinei struktūrai. Dėl to išmanieji telefonai tapo daugiau nei tik ryšio įrenginiais; dabar jie yra būtini įrankiai asmeninei informacijai ir duomenims tvarkyti bei įvairioms užduotims atlikti. Tačiau mažai žinoma, kad šį procesą lydėjo paradigmos pokytis nuo aparatinės įrangos prie programinės ir programinės įrangos. Tiesą sakant, lengva nepastebėti, kad daugelis technologijų, kurias naudojame kasdieniame gyvenime, yra šio paradigmos pokyčio rezultatas. Šiame straipsnyje pristatomos studijų sritys yra ribinės sritys tarp aparatinės ir programinės įrangos, tokios kaip operacinės sistemos, kompiliatoriai ir kompiuterių inžinerija, kur šis paradigmos pokytis gali būti giliai jaučiamas. Terminai „aparatinė įranga“ ir „programinė įranga“ yra dažnai vartojami, todėl tikriausiai turite bendrą supratimą apie tai, ką kiekvienas iš jų reiškia.
Tačiau dažnai sunku suprasti ribą tarp šių dviejų sąvokų. Todėl prieš aptariant ribą tarp aparatinės ir programinės įrangos, būtina trumpai apibrėžti aparatinę įrangą, programinę įrangą ir programinę-aparatinę įrangą. Kaip rodo pavadinimas, aparatinė įranga reiškia fizinius produktus arba prekes, turinčias fizinę formą arba kurias sunku pakeisti. Tai apima elektroninius komponentus, kuriuos galime matyti ir liesti, pavyzdžiui, puslaidininkius ir kietuosius diskus. Ši aparatinė įranga yra svarbus veiksnys, lemiantis pagrindinį tokių įrenginių kaip kompiuteriai ir išmanieji telefonai našumą. Kita vertus, programinė įranga, kaip rodo pavadinimas, reiškia programinės įrangos produktus arba produktus, kurie neturi fizinės formos arba kuriuos lengva pakeisti. Tai apima operacines sistemas, tokias kaip „Windows“, visas kompiuteriuose veikiančias programas ir išmaniuosiuose telefonuose naudojamas programas, kurios paprastai vadinamos programomis. Programinė įranga leidžia efektyviai naudoti aparatinę įrangą ir gali būti nuolat tobulinama bei keičiama pagal naudotojų poreikius. Galiausiai, programinė-aparatinė įranga yra tvirtas produktas, esantis tarp aparatinės ir programinės įrangos produktų, ir yra programa, kuri veikia gilesniame lygmenyje, kad programinė įranga galėtų veikti aparatinėje įrangoje. Tipiškiausias pavyzdys yra kompiuterio BIOS.
Tačiau riba tarp aparatinės ir programinės įrangos nebūtinai yra programinės-aparatinės įrangos sritis, kuri jas jungia. Nors galutiniai tikslai ir aparatinės bei programinės įrangos kategorijos, kurias nagrinėja įvairios šioje ribinėje srityje esančios sritys, skiriasi, jos galiausiai siekia aparatinės ir programinės įrangos harmonijos, panašiai kaip aparatinė-aparatinė įranga, kuri yra viena iš priemonių šiai harmonijai pasiekti ir iš tikrųjų išsamiau nagrinėja aparatinę ir programinę įrangą. Pavyzdžiui, nors aparatinė įranga gali užtikrinti galingesnį našumą, programinė įranga turi būti nuolat optimizuojama ir tobulinama, siekiant maksimaliai išnaudoti šios aparatinės įrangos potencialą. Šis optimizavimo procesas nėra paprastas kodo modifikavimas, o prasideda nuo glaudaus aparatinės ir programinės įrangos sąveikos supratimo.
Trumpai apžvelkime kompiliatorių sritį, kad pamatytume, kaip suderintos aparatinės ir programinės įrangos sritys. Kompiliatoriai užduotis, kurias turėtų atlikti bendrosios programos, paverčia komandomis, kurias kompiuteriai gali suprasti. Pateiksiu labai paprastą pavyzdį: jie konvertuoja „c=a+b“ į „0001100001010011“. Galite manyti, kad pakaks tiesiog suderinti dvejetainius skaičius su atitinkamomis komandomis, tačiau tai nėra taip paprasta, nes šiuolaikinės programos nenaudoja tik paprastų aritmetinių operacijų, o dvejetainių komandų, kurias reikia naudoti, rinkinys skiriasi priklausomai nuo aparatinės įrangos. Pavyzdžiui, mažiems įrenginiams, tokiems kaip išmanieji telefonai, reikalingas efektyvus kodo optimizavimas, siekiant sumažinti energijos suvartojimą, o tai reiškia, kad būtinas gilus aparatinės ir programinės įrangos supratimas. Todėl būtinas gilus tiek aparatinės, tiek programinės įrangos supratimas. Griežtai kalbant, patys kompiliatoriai yra programos ir programinė įranga, tačiau kadangi jie jungia programinę ir aparatinę įrangą pagal savo funkcijas ir kadangi jiems reikia suprasti aparatinę įrangą, kitaip nei įprastai programinei įrangai, jie egzistuoja aparatinės ir programinės įrangos riboje. Kitos sritys taip pat apima abi puses, kartais naudodamos aparatinę įrangą, kartais – programinę įrangą, o kartais – programinę-aparatinę įrangą – kiekvieną savaip.
Dabar, kai žinome, kur yra riba tarp aparatinės ir programinės įrangos, kodėl ši sritis yra svarbi tyrimų sritis? Nesant pažangos ribinėje srityje, jei sąlyčio taškas ir taisyklės tarp aparatinės ir programinės įrangos išliks fiksuoti, abi pusės bus saistomos tų taisyklių, o jų pažanga bus ribota. Pavyzdžiui, anksčiau technologinę pažangą daugiausia skatino aparatinės įrangos našumo gerinimas, tačiau šiandien aparatinės įrangos kūrimas be programinės įrangos optimizavimo greičiausiai atskleis savo apribojimus. Tačiau stebint aparatinės ir programinės įrangos vystymąsi ir dedant pastangas ribinėje srityje užtikrinti jų suderinamumą, aparatinė įranga gali vystytis naujomis kryptimis, naudojant naujas technologijas, pavyzdžiui, įgalinant kelis kompiuterius dirbti kartu, o ne tiesiog didinant vieno kompiuterio greitį. Kalbant apie programinę įrangą, bus galima kurti ir naudoti pažangesnes kalbas. Tai įgalina naujus aparatinės ir programinės įrangos derinius, kurie galiausiai atlieka svarbų vaidmenį užtikrinant geresnę vartotojų patirtį. Gali būti sunku pasakyti, kad tai yra pagrindinė technologinės pažangos sritis, tačiau tai yra sritis, užtikrinanti technologinę pažangą.
Galiausiai norėčiau trumpai aptarti pradžioje minėtą paradigmos pokytį. Prieš dvejus ar trejus metus, kai kalbėjausi su savo vyresniais studentais elektros inžinieriais apie ribą tarp techninės ir programinės įrangos, dauguma jų patarė man pereiti į techninės įrangos sritį, kuri yra tokių pokyčių pagrindas. Tikriausiai taip buvo dėl jų tikėjimo puslaidininkiais arba technine įranga, kuri buvo Korėjos ekonomikos augimo varomoji jėga. Kadangi tuo metu įrenginių našumas priklausė nuo techninės įrangos, jų požiūris buvo pagrįstas. Tačiau „iPhone“ ir išmaniųjų telefonų bumo metu Korėjos kūrėjai susidūrė su kliūtimi: programinės įrangos, kuri veiktų techninėje įrangoje, poreikiu. Didžiausias „iPhone“ privalumas buvo jame veikiančių programų įvairovė, naudingumas ir smagumas, todėl reikėjo kurti tą pačią programinę įrangą ir saugų turinį. Tačiau tai buvo sunku kūrėjams, kurie anksčiau buvo orientuoti į techninę įrangą, todėl buvo pasitelkti programinės įrangos kūrėjai. Tai akivaizdžiai buvo pagrįsta strategija, tačiau vienas svarbus dalykas buvo nepastebėtas, ir dabar nemaža dalis išmaniųjų telefonų naudotojų teigia, kad pakeisdami savo įrenginį pereis prie „iPhone“. Korėjos kūrėjai praleido progą optimizuoti aparatinę ir programinę įrangą, kitaip tariant, nesugebėjo surinkti pakankamai darbuotojų, kurie iki galo suprastų ribą tarp šių dviejų įrenginių. Nuolatinė kritika korėjietiškiems įrenginiams yra ta, kad „aparatinė įranga puiki, bet našumas prastesnis nei kitų produktų su prastesne aparatine įranga“.
Todėl riba tarp aparatinės ir programinės įrangos yra sritis, kurią reikia nuolat tirti, kai tik atsiranda nauja aparatinės įrangos rinka arba nauja programinės įrangos platforma. Be to, ši riba vaidins dar didesnį vaidmenį atsirandant naujoms technologijoms. Nors tai gali būti neaišku iš paviršiuje išvardytų specifikacijų, tai yra sritis, kurioje dedamos pastangos užtikrinti, kad reklamuojamos specifikacijos iš tikrųjų atitiktų tai, ką patiria vartotojai.

 

Apie autorių

rašytojas

Esu „kačių detektyvas“, padedu sugrąžinti pasiklydusias kates į jų šeimas.
Atsigaunu prie puodelio kavos su kava, mėgaujuosi vaikščiojimais ir kelionėmis, o rašydamas praplėčiu savo mintis. Atidžiai stebėdamas pasaulį ir vadovaudamasis savo, kaip tinklaraščio rašytojo, intelektualiniu smalsumu, tikiuosi, kad mano žodžiai gali padėti ir paguosti kitus.