Predplatné PREMIUM na mesiac ZDARMA.

V roku 2020 spoločnosť Apple presedlala z procesorov Intel na svoje vlastné čipy. Kvôli tejto zmene však bolo potrebné nájsť spôsob, ako emulovať 64-bitové programy na novom kremíkovom čipe. Zdá sa, že riešenie Apple je ale nielen účinné, ale aj veľmi staré. Na tému upozornil portál TechSpot.

Prostredie Rosetta 2

Ako sme ťa informovali v samostatnom článku, Apple po prvýkrát svoj čip M1 predstavil ešte v novembri 2020, pričom sa stretol s obrovskou chválou. Vtedy nový procesor M1 bol zásadne výkonnejší ako MacBooky a Mac počítače Applu s najvýkonnejšími Intel procesormi.

Apple

Kriticky dôležitou zmenou bol v tomto prípade prechod na architektúru ARM, čo bol primárny dôvod, prečo musela spoločnosť s nahryznutým jablkom vo svojom logu vymyslieť spôsob, ako používať programy, ktoré boli navrhnuté pre počítače Mac s procesormi Intel.

Apple použil najefektívnejšiu a zároveň najjednoduchšiu metódu, ktorou bola emulácia x64 architektúry v rámci samotného čipu M1. Metóda je dnes známa pod názvom Rosetta 2 a umožňuje Macom s čipmi od Applu používať apky určené pre Macy s procesorom Intel.

Ako upresňuje portál TomsHardware, hoci fungovanie emulátora Rosetta 2 bolo dlho zahalené rúškom tajomstva, nedávno odborník na výpočtovú techniku Dougall Johnson odhadil jedno nezdokumentované rozšírenie tohto programu.

„Tajné rozšírenie“

Dôvodom rýchlosti a spoľahlivosti Rosetta 2 má byť doposiaľ nezverejnené rozšírenie, ktoré zjednodušuje proces ukladania parity a úpravu príznakov parity v rámci danej aplikácie. To podľa Johnsona umožňuje presnejšiu a rýchlejšiu emuláciu.

YouTube / Dave Lee / MKBHD (Úprava redakcie)

Príznak parity je bit v registri príznakov v počítačových procesoroch niektorých architektúr, ktorý indikuje, že počet jednotkových (nastavených) bitov v binárnej reprezentácii výsledku poslednej operácií je párny. Ide teda o jeden bit, ktorý sa pripája k dátovému slovu a vyjadruje, či je počet logických jednotiek v dátovom slove párny alebo nepárny.

Najzaujímavejšie však na tom je, že korene tohto prístupu siahajú až k čipu Intel 8080 z roku 1974, čo bol vôbec druhý čip tohto technologického giganta. Tento staručký 8-bitový mikroprocesor spracovával svoje príznaky parity veľmi špecifickým spôsobom, ktorý sa dostal až do dnešných procesorov Intelu. Treba tiež poznamenať, že v súčasnosti ho aplikácie takmer vôbec nevyužívajú.

Architektúra ARM, ktorú začal využívať Apple však túto funkcionalitu nemá, takže ju bolo potrebné emulovať. V opačnom prípade by obrovské množstvo softvéru na Macoch s novými čipmi nemuselo fungovať. V inom prípade by výpočet rovnakej operácie bolo potrebných až 5-krát viac inštrukcií, čo by výrazne spomalilo chod zariadenia.

Ako píše Apple na svojom webe, netreba tiež zabúdať, že Rosetta 2 nie je bežná aplikácia, ktorú možno otvoriť a používať. Pracuje vždy na pozadí pri každom spustení aplikácie vytvorenej pre Macy s procesorom Intel. Nebeží teda v reálnom čase a nedokáže určiť, či daná aplikácia bude potrebovať využiť nastavenia príznakov parity.

Aby napodobnil zaobchádzanie s nimi, využíva bity 26 a 27 registra príznakov (jeden z procesorových registrov) ARM. Tie sú mu však priradené iba vtedy, keď Rosetta 2 zistí, že program bol vytvorený pre počítače Mac s procesormi Intel, vďaka čomu nedochádza ani k porušeniu špecifikácií ARM.

Pošli nám TIP na článok



Teraz čítajú