Články
Zprávičky
Fórum
Podpořte Root
Školení
Galerie
Root do mailu
RSS
Blogy
Knihy
Speciály
Manuály
Licence
Jak na Linux
Zdroják
Hledat
Root.cz
»
Kompilery a procesory
Kompilery a procesory
Vše pro to, abyste zkompilovali svá dílka do spustitelné podoby.
331
–
360
/
501
První strana
Předchozí strana
9
10
11
12
13
14
15
Následující strana
Poslední strana
RISCové mikroprocesory s komprimovanými instrukčními sadami
Při popisu mikroprocesorů s RISCovou architekturou jsme se již zmínili o použití těchto čipů v mikrořadičích či SoC, což je oblast, pro kterou původní RISCy nebyly navrženy. A právě v této oblasti se ukazuje, jak může být výhodné používat instrukční sady s kratšími „komprimovanými“ instrukcemi.
Pavel Tišnovský
15. 12. 2015
Doba čtení:
19 minut
Srovnání výkonu na watt: Rapberry Pi 2, Zero a staré Pentium 4
Zajímavé srovnání výkonu na watt vyšlo na serveru Phoronix. Srovnávají Rapberry Pi 2, Raspberry Zero a stará Pentia 4 (Pentium 4 C 2,8 GHz, 70 W TDP a Celeron D 320 2,4 GHz 73 W TDP). V testu x264 komprese je výkon Raspberry Pi 2 srovnatelný se…
Jan Fikar
8. 12. 2015
LLVM vyvíjí nový linker lld
Projekt LLVM několik měsíců vyvíjel podporu ELF v linkeru lld. Včera bylo na jejich blogu zveřejněno, že lld už umí linkovat LLVM, Clang a projde všechny testy na x86–64 Linuxu i FreeBSD s rychlostí očekávanou od projektu LLVM. ELF část lld je…
Jan Fikar
1. 12. 2015
Instrukční sady procesorových jader s otevřenou architekturou RISC-V (dokončení)
Dnes dokončíme popis instrukčních sad rozšiřujících základní 32bitovou instrukční sadu RV32I. Seznámíme se s rozšířením „D“ (operace s čísly double), „Q“ (čísla se čtyřnásobnou přesností), „A“ (atomické operace), 64bitovou instrukční sadou i s rozšířením „C“ (komprimované instrukce).
Pavel Tišnovský
26. 11. 2015
Doba čtení:
19 minut
Google vydal Android Studio 2.0 Preview
Google včera vydal preview verzi vývojového prostředí Android Studio 2.0, založeného na IntelliJ IDEA. Mezi nové vlastnosti patří GPU profiler, který umožní vývojářům prohlížet graficky náročné aplikace po jednotlivých snímcích. Dále přibylo…
Jan Fikar
24. 11. 2015
Google CUDA kompiler GPUCC
Google pracuje na CUDA open source kompileru GPUCC, postavenému na LLVM. Přitom má vytvářet lepší kód než kompiler NVCC od společnosti NVIDIA. GPUCC je až o 51% rychlejší než NVCC v interních testech, dosahuje podobných výsledků v open source…
Jan Fikar
17. 11. 2015
Rozšíření instrukční sady procesorových jader s otevřenou architekturou RISC-V
V dnešní části článku o otevřené architektuře RISCových jader RISC-V nejprve dokončíme popis základní instrukční sady nazvané RV32I a posléze se zaměříme na některá důležitá rozšíření této instrukční sady. Bude se jednat například o instrukce pro násobení a dělení a samozřejmě i o instrukce matematického koprocesoru.
Pavel Tišnovský
12. 11. 2015
Doba čtení:
16 minut
Instrukční sada procesorových jader s otevřenou architekturou RISC-V
Navážeme na předchozí článek, v němž jsme se seznámili se základními vlastnosti otevřených RISCových procesorových jader OpenRISC a RISC-V. Popíšeme si instrukční sadu RV32I, která je určena pro 32bitové čipy s jádry RISC-V. Je navržena velmi elegantně a navíc její tvůrci dobře vysvětlují všechna svá rozhodnutí.
Pavel Tišnovský
5. 11. 2015
Doba čtení:
16 minut
DDMD: kompilátor jazyka D v jazyce D
Byla vydána nová verze (2.069.0) kompilátoru pro programovací jazyk D. Nejzajímavější novinkou v tomto referenčním kompilátoru je přepsáni frontend části z jazyka C++ do D. Dále byla přidána podpora pro spolupráci s kódem napsaném v jazyce…
Daniel Kozák
4. 11. 2015
Otevřené RISCové architektury OpenRISC a RISC-V
Ve světě open-source hardware (OSH) se již poměrně dlouho rozvíjí dva velmi zajímavé projekty. Jedná se o otevřené RISCové architektury nazvané OpenRISC a RISC-V. Dnes se seznámíme jak s prvním zmíněným projektem používajícím licence GPL a LGPL, tak i s projektem RISC-V, který je mnohem promyšlenější.
Pavel Tišnovský
29. 10. 2015
Doba čtení:
21 minut
Použití mikrořadičů s jádrem Cortex-M na reálných čipech
Na předchozí články, v nichž jsme si popsali základní vlastnosti jader Cortex-M, navážeme článkem dnešním, v němž se budeme věnovat stručnému popisu vlastností některých reálných čipů, které tato jádra obsahují. Začneme samozřejmě těmi čipy, v nichž je použito jádro Cortex-M0 či novější Cortex-M0+.
Pavel Tišnovský
23. 10. 2015
Doba čtení:
16 minut
Nejvýkonnější MCU aneb architektura mikrořadičů s jádry ARM Cortex-M7
Třetí článek o mikrořadičích s architekturou ARM je věnován nejvýkonnějším jádrům, která jsou v současnosti v této oblasti nabízena. Jedná se o jádra s názvem Cortex-M7. Čipy s těmito jádry se v mnoha ohledech odlišují od již popsaných čipů založených na Cortex-M0, Cortex-M0+ a Cortex-M3.
Pavel Tišnovský
15. 10. 2015
Doba čtení:
16 minut
Architektura mikrořadičů s jádry ARM Cortex-M3
Na článek z předchozího týdne, v němž jsme si popsali nejmenší jádra ARM s názvem Cortex-M0 a Cortex-M0+, navážeme článkem dnešním, který je věnován výkonnějším mikroprocesorovým a mikrořadičovým jádrům. Ta nesou označení Cortex-M3 a nalezneme je například v čipu, který pohání populární Arduino Due.
Pavel Tišnovský
6. 10. 2015
Doba čtení:
19 minut
Architektura mikrořadičů s jádry ARM Cortex-M0 a ARM Cortex-M0+
Přibližně před pěti lety došlo na trhu s mikrořadiči k poměrně významné události: obrat z prodejů 32bitových mikrořadičů přesáhl obrat dosahovaný u mikrořadičů osmibitových (PIC, řada 51, Atmel AVR). Nezanedbatelný podíl zde mají jádra ARM Cortex-M0 a Cortex-M0+, jejichž architekturu si dnes popíšeme.
Pavel Tišnovský
1. 10. 2015
Doba čtení:
16 minut
Interpretry, překladače, JIT překladače a transpřekladače programovacího jazyka Lua
Programovací jazyk Lua je standardně překládán do bajtkódu, který je následně interpretován, podobně jako je tomu u většiny dalších skriptovacích jazyků. Ve skutečnosti však mají vývojáři využívající tento programovací jazyk k dispozici i další možnosti: transpřekladače či JIT překladače.
Pavel Tišnovský
28. 7. 2015
Doba čtení:
28 minut
Vyšlo GCC 5.2.0
GNU projekt vydal novou verzi kompilátoru GCC s označením 5.2.0, který obsahuje frontendy pro jazyky C, C++, Fortran, Objective-C, Java, Ada, Go a další. Novinek je poměrně hodně, kompletní seznam najdete v changelogu: výchozím režimem pro C je…
Petr Krčmář
20. 7. 2015
GCC (GNU Compiler Collection) 5.1.0
Dne 22. dubna vydal release maintainer projektu GCC (GNU Compiler Collection) Jakub Jelínek stabilní verzi 5.1, poslední stabilní verze vyšla před rokem. Dle nového číslování byla verze 5.0.0 experimentální. GCC 5 přináší mnoho nových…
Michal Strnad
23. 4. 2015
LuaJIT – Just in Time překladač pro programovací jazyk Lua (12 – překlad operací s reálnými čísly)
V programovacím jazyku Lua jsou základním numerickým datovým typem čísla s plovoucí řádovou čárkou s dvojitou přesností (IEEE 754) známé v dalších jazycích pod názvem double. Pokud se s tímto datovým typem ve zdrojových kódech pracuje, musí LuaJIT při překladu vygenerovat příslušné strojové instrukce.
Pavel Tišnovský
15. 1. 2015
Doba čtení:
17 minut
LuaJIT – Just in Time překladač pro programovací jazyk Lua (11 – JIT překlad do nativního kódu procesorů s architekturami x86 a ARM)
Třetím krokem JIT překladu prováděného LuaJITem je transformace pseudoinstrukcí do nativního kódu mikroprocesoru, na němž je LuaJIT spuštěn. LuaJIT podporuje překlad s využitím instrukčních sad mikroprocesorů Intel i AMD (32 bit, 64 bit), ARM (prozatím 32 bit), MIPS a PowerPC. Touto problematikou se budeme zabývat dnes.
Pavel Tišnovský
8. 1. 2015
Doba čtení:
18 minut
LuaJIT – Just in Time překladač pro programovací jazyk Lua (10 – JIT překlad do nativního kódu)
V předchozích dvou článcích jsme se zabývali především způsobem detekce stop (traces) v bajtkódu aplikací naprogramovaných v jazyku Lua. Dnes se budeme zabývat druhým a částečně i třetím krokem, který musí trasovací JIT překladač provést. Jedná se o generování pseudoinstrukcí a následně i vytváření nativního kódu.
Pavel Tišnovský
16. 12. 2014
Doba čtení:
21 minut
Ruby kompilované pomocí Clang je výrazně rychlejší
Bráulio Bhavamitra na svém blogu zveřejnil výsledky svého experimentu s překladem Ruby pomocí Clang. Interpreter jazyka zkompilovaný pomocí Clang 3.5 je o 8 % rychlejší než při použití GCC 4.9. Zajímavější je srovnání výsledků se starším GCC…
Petr Krčmář
15. 12. 2014
LuaJIT – Just in Time překladač pro programovací jazyk Lua (9 – další vlastnosti trasovacího JITu)
V další části seriálu o překladači LuaJIT budeme pokračovat v popisu funkce trasovacího překladače. Minule jsme si ukázali, jak trasovací překladač dokáže detekovat často používané programové smyčky, dnes se podíváme na způsob detekce větví ve smyčkách a detekci funkcí volaných s velkou frekvencí.
Pavel Tišnovský
11. 12. 2014
Doba čtení:
19 minut
LuaJIT – Just in Time překladač pro programovací jazyk Lua (8 – základní vlastnosti trasovacího JITu)
V dalším článku o překladači LuaJIT si řekneme základní informace o činnosti trasovacího JITu používaného pro detekci těch částí kódu aplikace, které se budou v runtime překládat do nativního (strojového) kódu. Trasovací JIT tvoří zajímavou a dnes stále populárnější skupinu just-in-time překladačů.
Pavel Tišnovský
2. 12. 2014
Doba čtení:
14 minut
LuaJIT – Just in Time překladač pro programovací jazyk Lua (7 – dokončení popisu mezijazyka LuaJITu)
V sedmé části článku o Just in Time překladači LuaJIT dokončíme popis mezijazyka, který v LuaJITu plní funkci bajtkódu. Minule jsme se zmínili o způsobu překladu programových smyček, dnes na toto téma navážeme a popíšeme si způsob překladu smyčky for-each a následně pak práci s uzávěry (closures).
Pavel Tišnovský
25. 11. 2014
Doba čtení:
29 minut
LuaJIT – Just in Time překladač pro programovací jazyk Lua (6 – překlad programových smyček do mezijazyka LuaJITu)
V šesté části článku o Just in Time překladači nazvaném LuaJIT si vysvětlíme, jakým způsobem se překládají programové smyčky typu while, repeat-until i smyčky typu for-each používané jak při procházení běžných polí (s prvky adresovanými s využitím indexů), tak i při procházení všemi prvky asociativních polí.
Pavel Tišnovský
18. 11. 2014
Doba čtení:
16 minut
LuaJIT – Just in Time překladač pro programovací jazyk Lua (5 – tabulky a pole)
V páté části článku o Just in Time překladači nazvaném LuaJIT se budeme zabývat způsobem překladu programů pracujících s tabulkami. Ukážeme si způsob tvorby jednorozměrných i dvourozměrných tabulek a taktéž přístup k prvkům tabulek, a to jak s využitím celočíselných indexů, tak i s použitím klíčů.
Pavel Tišnovský
11. 11. 2014
Doba čtení:
21 minut
GCC 5 kompiluje rychle, pořád ale zaostává za Clangem
Phoronix porovnal aktuální překladače v připravované distribuci Fedora 21. Na startovní čáru byly postaveny GCC 4.9.2, LLVM Clang 3.4.2 a GCC 5.0. Vypadá to, že nová řada GCC 5 přinese ve většině případů výrazné zrychlení procesu kompilace proti…
Petr Krčmář
10. 11. 2014
LuaJIT – Just in Time překladač pro programovací jazyk Lua (4)
Čtvrtá část článku o Just in Time překladači nazvaném LuaJIT bude věnována problematice volání funkcí, předávání parametrů do funkcí a taktéž způsobu vracení hodnoty či většího množství hodnot z volaných funkcí. Seznámíme se i s dalšími instrukcemi mezijazyka využívaného LuaJITem.
Pavel Tišnovský
4. 11. 2014
Doba čtení:
28 minut
LuaJIT – Just in Time překladač pro programovací jazyk Lua (3)
Ve třetím článku o Just in Time překladači LuaJIT si popíšeme všechny instrukce mezijazyka (IR) implementující podmínky a relační operátory. Jedná se o rozšíření tématu, kterému jsme se věnovali minule, dnes se však budeme zabývat mj. i porovnáním obsahu proměnných s řetězci či se speciálními hodnotami true, false a nil.
Pavel Tišnovský
28. 10. 2014
Doba čtení:
23 minut
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.
Pavel Tišnovský
21. 10. 2014
Doba čtení:
15 minut
331
–
360
/
501
První strana
Předchozí strana
9
10
11
12
13
14
15
Následující strana
Poslední strana