Č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.
1
–
30
/
501
První strana
Předchozí strana
1
2
3
4
5
6
7
Následující strana
Poslední strana
Pohled pod kapotu formátu WebAssembly: SIMD (vektorové) operace
Do specifikace WebAssembly byly přidány rozšiřující instrukce, mezi něž patří i SIMD (vektorové) operace. Překladače LLVM tyto instrukce podporují a navíc pro ně máme přímou podporu přímo v Clangu.
Pavel Tišnovský
Včera
Doba čtení:
37 minut
ALGOL 68 bude v GCC 16.1
Začátkem roku se objevila snaha dostat ALGOL 68 do překladače GCC. V březnu však bylo rozhodnuto ALGOL 68 do GCC nepřidat. Vývoj však pokračoval a názor GCC se změnil asi před týdnem. Front end ALGOLu 68 ga68 tak nalezneme v GCC 16.1, který má…
Jan Fikar
1. 12. 2025
Pohled pod kapotu formátu WebAssembly: instrukce pro řízení toku dat
Zaměříme se na instrukce sloužící pro řízení toku dat (control-flow). Ty jsou použity při překladu zdrojových kódů s běžným rozvětvením, vícenásobným rozvětvením, programovými smyčkami i s ternárními operátory.
Pavel Tišnovský
27. 11. 2025
Doba čtení:
31 minut
Validace dat v Pythonu s využitím knihovny Pydantic (3. část – dokumentace)
Ve třetím článku o knihovně Pydantic si vysvětlíme, jakým způsobem je možné vygenerovat dokumentaci k definovanému modelu nebo i více modelům. Tento proces sice není složitý, ale vyžaduje několik triků.
Pavel Tišnovský
25. 11. 2025
Doba čtení:
41 minut
Pohled pod kapotu formátu WebAssembly: základní instrukční sada
Popíšeme si základní instrukce, které jsou ve WebAssembly definovány. Jedná se o aritmetické instrukce, konverzní operace, porovnání operandů a taktéž o instrukce určené pro manipulaci s obsahem zásobníku operandů.
Pavel Tišnovský
20. 11. 2025
Doba čtení:
40 minut
Pohled pod kapotu formátu WebAssembly: nízkoúrovňová náhrada JavaScriptu
Seznámíme se s technologiemi, na kterých je založen formát WebAssembly. Tento formát umožňuje spouštění aplikací v rámci webových prohlížečů popř. na serverech nebo jako součást složitějších aplikací uvnitř takzvaného sandboxu.
Pavel Tišnovský
11. 11. 2025
Doba čtení:
27 minut
Čtyřicet let existence architektury 386: revoluce přinesla Doom a Linux
Před čtyřiceti lety vznikl Intel 80386, jenž způsobil revoluci v oblasti PC. Umožnil vznik nových operačních systémů (Linux, OS/2), prodloužil životnost aplikací pro DOS a způsobil vznik konkurence na poli x86.
Pavel Tišnovský
7. 10. 2025
Doba čtení:
36 minut
Rychlý linker Wild v Rustu
David Lattimore z Austrálie vytvořil další rychlý linker Wild v Rustu. Máme tu již sice velmi rychlý linker Mold, který je napsaný v C++. Ale Mold nebude ani v budoucnu podporovat inkrementální linkování. To by měl později Wild umět. V úterý byl…
Jan Fikar
25. 9. 2025
Zpracování hodnot typu half float (fp16) na platformě AArch64: operace s vektory
Navážeme na článek o zpracování skalárů i vektorů s prvky typu half float (FP16). Zabývat se budeme především „vektorovým“ rozšířením překladače GCC i překladem operací s vektory do instrukční sady A64 s rozšířením NEON.
Pavel Tišnovský
16. 9. 2025
Doba čtení:
42 minut
Zpracování hodnot typu half float (fp16) na platformě AArch64
Programátoři, zabývající se generativní AI či zpracováním přirozeného jazyka, se často setkávají s vektory obsahujícími prvky typu half float (FP16). Vysvětlíme si, jak se s těmito hodnotami pracuje na platformě AArch64.
Pavel Tišnovský
9. 9. 2025
Doba čtení:
37 minut
Funkce vestavěné v GCC pro provádění nízkoúrovňových bitových operací a rotací (dokončení)
V závěrečném článku o vestavěných funkcích pro nízkoúrovňové operace, které nabízí překladač GCC, si popíšeme funkce, které na základě předané hodnoty dokážou zjistit minimální počet bitů potřebných pro uložení této hodnoty.
Pavel Tišnovský
4. 9. 2025
Doba čtení:
35 minut
Funkce vestavěné v GCC pro nalezení délky sekvence nulových bitů
Dnes si ukážeme další funkce vestavěné do GCC, jež slouží pro realizaci nízkoúrovňových operací. Zaměříme se na funkce umožnující ve vstupní hodnotě nalézt délku sekvence nulových bitů.
Pavel Tišnovský
28. 8. 2025
Doba čtení:
31 minut
Funkce vestavěné v GCC pro nízkoúrovňové bitové operace a rotace
Popíšeme si vestavěné funkce nabízené překladačem GCC, které zajišťují výpočet bitových rotací a taktéž výpočet parity. Zajímat nás bude použitá technologie: způsob překladu těchto funkci do strojového kódu.
Pavel Tišnovský
26. 8. 2025
Doba čtení:
35 minut
Intel začlenil XeVM do LLVM
Nejnovější příspěvek Intelu do projektu LLVM je jeho XeVM, neboli Multi-Level Intermediate Representation (MLIR) pro firemní grafická jádra rodin Xe. S tímto balíkem bude moci LLVM využívat lepší optimalizace pro Xe grafiky, lépe pracovat s věcmi…
David Ježek
19. 8. 2025
Generátor náhodných čísel založený na instrukcích RDSEED a RDRAND
V informatice existuje několik oblastí, ve kterých je nutné používat generátory náhodných nebo alespoň pseudonáhodných hodnot. Moderní procesory s architekturou x86–64 pro tento účel nabízí instrukce RDRAND a RDSEED.
Pavel Tišnovský
14. 8. 2025
Doba čtení:
28 minut
Vývojáři GCC diskutují o konci dalších neudržovaných CPU architektur
Nejen architektura Intel Itanium, ale i další jsou možnými adepty na odstranění podpory z projektu kompilátoru GCC. Ve všech případech jde o procesorové architektury, které sice ještě existují či mohou existovat v provozu, ale z pohledu GCC je…
David Ježek
13. 8. 2025
Podpora Intel Itanium IA-64, která v GCC 15 přežila, s GCC 16 nejspíš zase začne mizet
Pro GCC 14 se před lety stala architektura procesorů Intel Itanium „zastaralou“. V GCC 15 se ale vrátila mezi podporované, neb se našel nový správce. Bylo ale už loni v říjnu jasné, že jde jen o prodloužení života pacienta, který je už na…
David Ježek
12. 8. 2025
Funkce vestavěné v GCC pro provádění nízkoúrovňových aritmetických operací
Dnes si popíšeme některé funkce (resp. pseudofunkce) vestavěné do překladače GCC, které jsou určeny pro provádění nízkoúrovňových aritmetických operací. Díky nim lze realizovat vícebajtovou aritmetiku atd.
Pavel Tišnovský
31. 7. 2025
Doba čtení:
30 minut
Algoritmus CORDIC a numerické formáty s pevnou řádovou čárkou
Už jsme si uvedli, jak lze CORDIC použít pro výpočet goniometrických funkcí s hodnotami ve formátu plovoucí řádové binární čárky. Tentýž algoritmus lze upravit i pro práci s formátem pevné řádové binární tečky/čárky.
Pavel Tišnovský
22. 7. 2025
Doba čtení:
72 minut
Podpora SFrame míří do LLVM22
SFrame je moderní metoda, jak umožnit snadné ladění a profilování linuxových binárek bez použití ukazatele rámce (frame pointer). Při jeho použití přijdeme totiž o jeden registr a to má dopad na výkon. Jak jsme již psali, podpora SFrame míří do…
Jan Fikar
21. 7. 2025
Výpočty v systému pevné řádové čárky na platformě IBM PC (3. část)
Ukážeme si praktické použití algoritmu CORDIC. Prozatím budou pro jednoduchost výpočty prováděny s FP hodnotami; příště provedeme přepis pro hodnoty s pevnou řádovou tečkou.
Pavel Tišnovský
15. 7. 2025
Doba čtení:
63 minut
Výpočty v systému pevné řádové čárky na platformě IBM PC (2. část)
Na článek o výpočtech s pevnou řádovou tečkou (čárkou) dnes navážeme. Ukážeme si limity této reprezentace numerických hodnot a seznámíme se s algoritmem CORDIC, kterého lze použít pro výpočet goniometrických funkcí, logaritmů atd.
Pavel Tišnovský
10. 7. 2025
Doba čtení:
72 minut
Výpočty v systému pevné řádové čárky na platformě IBM PC
Počítače IBM PC sice mohly být vybaveny matematickým koprocesorem, ovšem v prvním desetiletí existence této platformy se v žádném případě nejednalo o standardní modul; mnohá PC jím vybavena nebyla.
Pavel Tišnovský
3. 7. 2025
Doba čtení:
72 minut
Textové režimy grafických karet SVGA na platformě IBM PC
Jednou z vlastností platformy IBM PC byl naprostý chaos vládnoucí grafickém subsystému. Existuje zde však stabilní prvek: textové režimy. Dnes si řekneme, jak se možnosti rozšířily s příchodem karet SVGA.
Pavel Tišnovský
24. 6. 2025
Doba čtení:
68 minut
Od grafické karty VGA k vyšším rozlišením i většímu množství barev (3. část)
Už jsme se seznámili s tím, jak zjistit informace o režimech SVGA karet přes VBE a jak se přistupuje do video paměti. Právě zde dochází k problémům, které je nutné řešit. Týká se to i operace typu BitBLT pro přenos rastrových obrázků.
Pavel Tišnovský
19. 6. 2025
Doba čtení:
67 minut
Od grafické karty VGA k vyšším rozlišením i většímu množství barev (2. část)
Ukážeme si, jak lze provést přepnutí do zvoleného grafického režimu a jak se do obrazové paměti zapisují jednotlivé pixely, což může být komplikované.
Pavel Tišnovský
12. 6. 2025
Doba čtení:
65 minut
Problematika ukazatelů v překladačích jazyka C pro systém DOS
Jaký byl největší problém systému DOS? Neexistence pokročilejších funkcí, nutnost explicitní konfigurace hardwaru, či něco jiného? Z pohledu programátorů se jednalo o práci s pamětí organizované systémem segment:offset.
Pavel Tišnovský
3. 6. 2025
Doba čtení:
41 minut
Překladače na platformě IBM PC: od assembleru k C (32bitový kód a FPU)
Na úvodní článek o vyšších jazycích používaných v době kralování IBM PC a DOSu dnes navážeme. Minule jsme se zaměřili na 16bitový kód, dnes si ukážeme ty překladače, které dokážou i pro DOS vytvářet 32bitový kód.
Pavel Tišnovský
27. 5. 2025
Doba čtení:
43 minut
Překladače na platformě IBM PC: od assembleru k C
Prozatím jsme se zaměřili na assembler. Proč se však více nepoužívaly překladače vyšších programovacích jazyků? Dnes se na tuto otázku pokusíme částečně odpovědět otestováním několika dobových překladačů jazyka C.
Pavel Tišnovský
13. 5. 2025
Doba čtení:
38 minut
Vyšlo GCC 15.1 včetně podpory jazyka COBOL
Právě vyšla sada překladačů GCC (GNU Compiler Collection) ve verzi 15.1. Nově GCC podporuje jazyk COBOL pomocí gcobol. Avšak ALGOL 68 zatím v GCC není. Nově je v C výchozím standardem C23, což odpovídá --std=gnu23. Předchozí verze GCC 14 měla…
Jan Fikar
25. 4. 2025
1
–
30
/
501
První strana
Předchozí strana
1
2
3
4
5
6
7
Následující strana
Poslední strana