Ušetřete

Hlavní navigace

Články v rubrice Kompilery a procesory

LuaJIT – Just in Time překladač pro programovací jazyk Lua (2)

Ve druhé části článku o Just in Time překladači LuaJIT si popíšeme způsob překladu aritmetických výrazů do mezijazyka LuaJITu. Kromě toho se taktéž budeme zabývat instrukcemi IR, které slouží pro implementaci podmínek a skoků. Tyto instrukce jsou použity jak při větvení, tak i při překladu programových smyček.

LuaJIT – Just in Time překladač pro programovací jazyk Lua

Pro doplnění informací, které jsme si doposud v seriálu o jazyce Java (JVM) uvedli, si v několika článcích popíšeme velmi zajímavý projekt LuaJIT. Již z názvu tohoto projektu je zřejmé, že se jedná o „konkurenční “Just in Time překladač, který je možné použít společně s programovacím jazykem Lua.

Distcc: kompilujte distribuovaně a rychle

Sestavování binárních souborů ze zdrojových kódů může být někdy zdlouhavé. Dnes si představíme nástroj, pomocí kterého lze kompilaci paralelně zpracovávat na více počítačích a tím ušetřit spoustu času. To se může hodit nejen vývojářům, ale i uživatelům distribucí, které nepoužívají binární balíčky.

Jednotky pro správu paměti (MMU) na mikroprocesorech ARM

Dnes se budeme zabývat popisem jednotek pro správu paměti (Memory Management Unit – MMU) implementovaných na některých mikroprocesorech s architekturou ARM. MMU je samozřejmě důležitou součástí těchto procesorů, protože zajišťuje ochranu paměti i využití virtuálního adresního prostoru.

Podpora instrukcí typu SIMD na mikroprocesorech ARM

V dnešní části seriálu o architekturách počítačů se budeme opět zabývat popisem mikroprocesorů patřících do rodiny ARM. Zaměříme se na popis SIMD instrukcí, které sice původně nebyly součástí mikroprocesorů ARM, ale postupně začaly být implementovány jako volitelná rozšíření do některých mikroprocesorových jader.

Mikroprocesory ARM a architektura VFP (Vector Floating Point)

V dnešní části seriálu o architekturách počítačů se již podruhé budeme zabývat způsobem zpracování numerických hodnot s plovoucí řádovou čárkou na mikroprocesorech ARM. Minule jsme si popsali technologii FPA (Floating Point Accelerator), dnes se zaměříme na alternativní technologii VFP (Vector Floating Point).

Práce s hodnotami s plovoucí řádovou čárkou na mikroprocesorech ARM

V seriálu o architekturách počítačů jsme se již seznámili se všemi třemi instrukčními sadami mikroprocesorů ARM – jak s původní RISCovou sadou, tak i se sadou Thumb a Thumb-2. Ještě jsme si však prakticky nic neřekli o podpoře práce s hodnotami s plovoucí řádovou čárkou. Nyní nastal pravý čas tuto informaci doplnit.

Instrukční sada Thumb-2 u mikroprocesorů ARM

Dnes si popíšeme další alternativní instrukční sadu, kterou jsou vybaveny novější modely mikroprocesorů ARM. Jedná se o instrukční sadu pojmenovanou Thumb-2, která byla navržena takovým způsobem, aby co nejlépe spojila přednosti původní RISCové 32bitové instrukční sady a 16bitové sady Thumb.

Mikroprocesory ARM a instrukční sada Thumb - dokončení

Dnes dokončíme popis instrukční sady Thumb, která může být použita u novějších mikroprocesorů s architekturou ARM. Minule jsme si popsali formát aritmetických a logických instrukcí i instrukcí skoku, dnes se zaměříme na instrukce typu Load & Store, tj. na instrukce pro přenos dat mezi registry a pamětí.

Historie vývoje počítačových her (20.část - hry pro konzoli Sega SG-1000)

V dnešní části seriálu o historii vývoje výpočetní techniky nejprve dokončíme popis herní konzole Sega Game 1000 a pak se stručně seznámíme s některými hrami, které pro tuto herní konzoli vznikly. Některé hry byly převzaty z jiných herních konzolí či video automatů, další však vznikly originálně právě pro SG-1000.

Mikroprocesory ARM a instrukční sada Thumb

Dnes se budeme zabývat instrukční sadou Thumb, podporovanou u moderních variant mikroprocesorů s architekturou ARM. Zavedením této instrukční sady se konstruktéři procesorů ARM snažili o spojení předností architektury RISC s větší „hustotou kódu“ dosahovanou u některých procesorů s architekturou CISC.

Instrukční sada mikroprocesorů ARM

Dnes se již potřetí budeme zabývat popisem mikroprocesorů s architekturou ARM. Řekneme si další informace o jejich instrukční sadě, a to jak té původní RISCové sady, tak i instrukční sady Thumb, jenž byla později rozšířena takovým způsobem, aby bylo možné používat instrukce o variabilní šířce 16 a 32 bitů.

Pohled programátora na mikroprocesory ARM

V dnešní části seriálu o architekturách počítačů budeme pokračovat v popisu RISCových mikroprocesorů s architekturou ARM. Především se seznámíme s instrukční sadou těchto mikroprocesorů, která se v několika ohledech odlišuje jak od CISCových mikroprocesorů, tak i od ostatních mikroprocesorů typu RISC.

Mikroprocesory s architekturou ARM

Dnes se budeme zabývat popisem dalších typů mikroprocesorů patřících do rodiny RISC. Bude se jednat o mikroprocesory s architekturou ARM, které sice byly navrženy již v polovině osmdesátých let, ale to neznamená, že by se jednalo o zastaralou technologii – ve skutečnosti je tomu právě naopak.

Výuka programování – nástroje pro ilustraci činnosti mikroprocesoru

Ve třinácté části seriálu o programovacích jazycích a prostředích určených pro výuku programování se budeme zabývat popisem nástrojů, které mohou pomoci vysvětlit činnost mikroprocesoru. Tyto nástroje jsou většinou založeny na imaginárním mikroprocesoru s jednoduchou a snadno pochopitelnou instrukční sadou.

Instrukce typu SIMD na mikroprocesorech RISC (3.část - MIPS-3D a VIS)

Dnes se již potřetí budeme zabývat popisem instrukčních sad s „vektorovými“ instrukcemi SIMD, které jsou využívány na mikroprocesorech RISC. Zatímco minule jsme se zaměřili na popis instrukcí MAX-1 a MAX-2 používaných na procesorech PA-RISC, dnes se vrátíme k čipům MIPS i k procesorům SPARC.

Instrukce typu SIMD na mikroprocesorech RISC (2. část)

V dnešní části seriálu o architekturách počítačů si popíšeme technologii MAX-1 a MAX-2 použitou u mikroprocesorů PA-RISC. Technologie MAX-1 je z historického hlediska důležitá, protože jde o první implementaci SIMD instrukcí na mikroprocesorech. V minulosti totiž byly SIMD instrukce doménou superpočítačů.

Instrukce typu SIMD na mikroprocesorech RISC

V dnešní části seriálu o architekturách počítačů se seznámíme s instrukcemi typu SIMD využívanými v některých mikroprocesorech s architekturou RISC. Právě na těchto mikroprocesorech byly SIMD instrukce použity dříve, než vznikly dnes známější technologie MMX, 3DNow! a SSE/SSE2/SSE4 využívané na x86.

SIMD instrukce v moderních mikroprocesorech řady x86 (3.část: SSE2)

V dnešní části seriálu o architekturách počítačů se zaměříme na popis technologie SSE2. Jedná se o rozšířenou instrukční sadu se SIMD instrukcemi určenou pro mikroprocesory řady x86. SSE2 byla postavena na instrukčních sadách MMX a SSE, jimiž jsme se zabývali v předchozích dvou částech tohoto seriálu.

SIMD instrukce v moderních mikroprocesorech řady x86 (2.část: SSE)

V dnešní části seriálu o architekturách počítačů se budeme zabývat dalším rozšířením instrukční sady procesorů x86. Zaměříme se na instrukce SSE, které byly poprvé použity v mikroprocesorech Intel Pentium III a později se rozšířily na další čipy vyráběné firmou Intel i na procesory konkurenční AMD.

SIMD instrukce využívané v moderních mikroprocesorech řady x86

V dnešní části seriálu o architekturách počítačů se budeme zabývat porovnáním instrukčních sad s instrukcemi typu SIMD, které jsou využívány i v moderních mikroprocesorech na platformě x86. Historicky první rozšiřující instrukční sadou je sada MMX firmy Intel a vylepšení 3DNow! od společnosti AMD.

Vektorové procesory aneb další pokus o zvýšení výpočetního výkonu počítačů

V předchozí části seriálu o architekturách počítačů jsme si řekli základní informace o procesorech VLIW, u nichž se zvýšení výkonu provádělo díky instrukčním slovům obsahujícím větší množství operací. Opačná technologie je použita u vektorových procesorů, u nichž je každá instrukce prováděna nikoli s vektorem hodnot.

Architektura VLIW aneb pokus o překonání problémů architektur CISC a RISC

V dnešní části seriálu o architekturách počítačů se zaměříme na popis mikroprocesorů VLIW (Very Long Instruction Word). Jedná se o procesory, které dokážou zpracovávat větší množství instrukcí paralelně, ovšem bez nutnosti používání složitých technologií využívaných v superskalárních mikroprocesorech RISC a CISC.

Mikroprocesory s architekturou RISC - čipy Motorola řady 88000 (88k)

Dnes budeme zabývat další rodinou 32bitových mikroprocesorů s architekturou RISC. Jedná se o čipy Motorola řady 88000, které sice nebyly po komerční stránce tak úspěšné, jako například mikroprocesory MIPS, SPARC či PA-RISC, ovšem jejich návrh nepostrádal eleganci typickou i pro další čipy navržené v Motorole.

Mikroprocesory s architekturou RISC - čipy AMD 29000 (29k)

V dnešní části seriálu o architekturách počítačů se po krátké odbočce do světa zásobníkových procesorů vrátíme zpět k mikroprocesorům s architekturou RISC. Kromě již popsaných „mikroprocesorových rodin“ MIPS, SPARC a PA-RISC totiž existují i další RISCové procesory. V minulosti se poměrně velké naděje vkládaly do procesorů AMD 29000 (29k), kterým se budeme věnovat nyní.

Zásobníkové procesory jako alternativa k architekturám CISC a RISC? (dokončení)

V dnešní části seriálu o architekturách počítačů dokončíme popis zásobníkových procesorů. Popíšeme si rozdíly mezi instrukční pipeline použitou u architektury RISC a u zásobníkových procesorů. Taktéž si řekneme, proč je problematické na zásobníkových procesorech efektivně používat céčkové programy.

Zásobníkové procesory jako alternativa k architekturám CISC a RISC?

V předcházejících sedmi částech seriálu o architekturách počítačů jsme se zabývali popisem mikroprocesorů s architekturou RISC, které byly postaveny na principech umožňujících v každém taktu dokončit (v ideálním případě) jednu instrukci, což představovalo značný rozdíl oproti procesorům s architekturou CISC. Ovšem kromě těchto dvou architektur se objevila ještě architektura třetí – zásobníkové procesory.

Procesory RISC v pracovních stanicích a serverech - architektura PA-RISC

Dnes na chvíli odbočíme od popisu mikroprocesorů SPARC, protože se budeme zabývat 32bitovými a posléze i 64bitovými mikroprocesory PA-RISC navrženými a vyráběnými společností Hewlett-Packard. Tyto mikroprocesory mají několik vlastností společných s architekturou MIPS i mikroprocesory SPARC.

Procesory RISC v pracovních stanicích a serverech - architektura SPARC V8 a V9

V dnešní části seriálu o architekturách počítačů budeme pokračovat v popisu RISCových procesorů SPARC. Zaměříme se především na architektury SPARC-V8 (rozšíření minule popsané SPARC-V7) a taktéž na architekturu SPARC-V9, v níž došlo mj. i k přechodu z 32bitové ALU a pracovních registrů na 64bitovou šířku zpracovávaných dat, což mělo poměrně velký význam především v oblasti výkonných serverů.

Procesory RISC v pracovních stanicích a serverech - architektura SPARC (2)

V dnešní části seriálu o architekturách počítačů budeme pokračovat v popisu mikroprocesorů založených na architektuře SPARC v7. Zaměříme se především na instrukční soubor těchto procesorů, způsob využití jejich sady pracovních registrů i na některé zvláštnosti v samotné konstrukci těchto čipů.