Články
Zprávičky
Fórum
Podpořte Root
Školení
Galerie
Blogy
Knihy
Jak na Linux
Zdroják
Hledat
Root.cz
»
Témata
Assembler
31
–
60
/
154
První strana
Předchozí strana
1
2
3
4
5
6
Následující strana
Poslední strana
Rozšíření instrukční sady SSE2 (2. část)
Dnes si popíšeme a zejména otestujeme vybrané instrukce ze sady SSE2. Řekneme si, jaký je rozdíl mezi trojicí PAND, ANDNPS a ANDPD, způsob provedení bitových a bajtových posunů, ale i specifické vlastnosti vybraných konverzních instrukcí.
Pavel Tišnovský
27. 3. 2025
Doba čtení:
70 minut
Instrukční sady SIMD a automatické vektorizace prováděné překladačem GCC (3)
Dnes se budeme zabývat vektorizací smyček, v nichž se zpracovávají pole (vektory), což vyžaduje instrukce SSE2 nebo AVX. Důležité bude taktéž zjištění, jak je vektorizován přístup k prvkům pole s volitelným krokem (stride).
Pavel Tišnovský
25. 3. 2025
Doba čtení:
40 minut
Instrukční sady SIMD a automatické vektorizace prováděné překladačem GCC (2)
Na úvodní článek o automatických vektorizacích prováděných překladači dnes navážeme. Opět se zaměříme na autovektorizace prováděné překladačem GCC, dnes si ale otestujeme poněkud komplikovanější funkce, které se mají optimalizovat.
Pavel Tišnovský
20. 3. 2025
Doba čtení:
30 minut
Od instrukční sady SSE k sadě SSE2
Proč se většina nově přidaných instrukcí SSE omezuje na práci s hodnotami typu single, když je mnoho aplikací založených na celočíselných datech nebo naopak používá typ double? Odpovědí byla instrukční sada SSE2.
Pavel Tišnovský
13. 3. 2025
Doba čtení:
68 minut
Pokročilejší SSE operace: přeskupení, promíchání a rozbalování prvků vektorů
Dokončíme popis rozšíření instrukční sady SSE. Ukážeme si některé netriviální operace, které je možné provádět se skaláry a především s vektory. Jedná se o konverzní operace a taktéž o rozbalování a zabalování prvků vektorů.
Pavel Tišnovský
11. 3. 2025
Doba čtení:
66 minut
SIMD instrukce v rozšíření SSE (2. část)
Popíšeme si zbylé instrukce pro provádění numerických výpočtů. Také se zmíníme o instrukci pro porovnání prvků vektorů, která má celkem osm různých variant. A nezapomeneme ani na problematiku nekonečných hodnot a hodnot NaN.
Pavel Tišnovský
4. 3. 2025
Doba čtení:
63 minut
Programovatelné IO na mikrořadičích RP2040: komunikace s PIO a ovládání PIO
Ukážeme si základní způsoby komunikace hlavního programu běžícího na mikrořadiči s PIO programy. Pro tyto účely se používají fronty (FIFO) a vstupní i výstupní posuvné registry.
Pavel Tišnovský
27. 2. 2025
Doba čtení:
30 minut
SIMD instrukce v rozšíření SSE
Po úspěšném a navíc i relativně bezproblémovém zavedení rozšíření MMX vzniklo u konkurence (AMD) rozšíření 3DNow!. To sice nebylo příliš populární, ovšem jednalo se o první krok k rozšíření nazvanému SSE (Streaming SIMD Extension).
Pavel Tišnovský
25. 2. 2025
Doba čtení:
64 minut
SIMD instrukce na 80×86: dokončení popisu MMX, instrukce 3DNow!
Dnes si popíšeme zbylé MMX instrukce a většinu instrukcí použijeme v příkladech. Také si popíšeme instrukční sadu 3DNow! společnosti AMD. Ta nebyla přímou konkurencí MMX, ale spíše první vlaštovkou vedoucí k SSE a AVX.
Pavel Tišnovský
18. 2. 2025
Doba čtení:
67 minut
Programovatelné IO na mikrořadičích RP2040 – praktické použití
Na úvodní článek o PIO na mikrořadičích Raspberry Pi Pico dnes navážeme. Pokusíme se propojit znalosti o PIO (interní architektura, způsob propojení s mikrořadičem i s GPIO, instrukční soubor) s vlastnostmi MicroPythonu.
Pavel Tišnovský
13. 2. 2025
Doba čtení:
27 minut
SIMD instrukce na platformě 80×86: instrukční sada MMX
Navážeme na článek o vektorových instrukcích na platformě 80×86. Popíšeme si další instrukce MMX, konkrétně všechny aritmetické instrukce, logické instrukce i instrukci, která kombinuje násobení prvků vektorů s jejich součtem.
Pavel Tišnovský
11. 2. 2025
Doba čtení:
66 minut
Programovatelné IO na mikrořadičích RP2040 v Raspberry Pi Pico
Dnes se seznámíme s unikátní vlastností Raspberry Pi Pico. Tyto jednodeskové mikropočítače obsahují PIO (Programmable IO), což jsou bloky ovládající vstupně-výstupní piny (GPIO). Ty se chovají jako samostatně programovatelné procesory.
Pavel Tišnovský
6. 2. 2025
Doba čtení:
23 minut
SIMD instrukce na platformě 80×86: nepřímý důsledek platnosti Mooreova zákona
Začneme se seznamovat se SIMD instrukcemi pro platformu 80×86, které jsou souhrnně nazývány, i když ne zcela přesně, vektorové instrukce. První na řadě je technologie MMX.
Pavel Tišnovský
4. 2. 2025
Doba čtení:
69 minut
Matematické koprocesory na platformě x86: vše se komplikuje
Práce s hodnotami s plovoucí řádovou čárkou sice může vypadat jednoduše, ovšem není tomu tak, protože se musí pracovat s nekonečny, hodnotami NaN atd. Navíc musí FPU spolupracovat s mikroprocesorem.
Pavel Tišnovský
28. 1. 2025
Doba čtení:
65 minut
Matematické koprocesory na platformě 80×86 prakticky
Na praktických příkladech si ověříme základní funkce poskytované matematickým koprocesorem Intel 8087, na který navazuje řada čipů 80287 a 80387. Posléze se tyto funkce staly přímo součástí hlavního mikroprocesoru.
Pavel Tišnovský
21. 1. 2025
Doba čtení:
61 minut
Matematické koprocesory na 80×86 pro výpočty s plovoucí řádovou čárkou
Nedílnou součástí prakticky všech procesorů je modul pro operace s plovoucí řádovou čárkou. Na platformě IBM PC se jednalo o řadu matematických koprocesorů označovaných čísly 8087, 80287, 80387 a (nepřesně) 80487.
Pavel Tišnovský
14. 1. 2025
Doba čtení:
57 minut
Nové vlastnosti čipů 80386: stránkování a virtuální režim 8086
Seznámíme se s dvěma technologiemi, které byly součástí mikroprocesoru Intel 80386. Tento v několika ohledech přelomový čip totiž kromě dalších vylepšení nabízel možnost stránkování (paging) a nový virtuální režim.
Pavel Tišnovský
7. 1. 2025
Doba čtení:
57 minut
Od reálného režimu k režimu chráněnému na procesorech 80286 a 80386 (2.část)
Přechod do chráněného režimu (a zpět) na mikroprocesorech Intel se podobá složitému rituálu. Všechny operace je nutné vykonat v určitém pořadí a naslepo: bez možnosti ladění nebo sledování činnosti PC.
Pavel Tišnovský
31. 12. 2024
Doba čtení:
63 minut
Od reálného režimu k režimu chráněnému na 80286 a 80386
Seznámíme se s vlastnostmi čipů 80286 a 80386, které souvisejí s reálným režimem, nereálným (unreal) režimem a režimem chráněným. Zabývat se budeme cachí s deskriptory segmentů, která se projevuje i v reálném režimu.
Pavel Tišnovský
17. 12. 2024
Doba čtení:
65 minut
640K by mělo stačit každému: skutečně?
Billu Gatesovi se připisuje výrok „640K ought to be enough for anybody“, který ovšem pravděpodobně nikdy neřekl. Na počítačích IBM PC se skutečně dlouhou dobu bojovalo s omezenými možnostmi adresování většího paměťového rozsahu.
Pavel Tišnovský
10. 12. 2024
Doba čtení:
56 minut
Vývoj mikroprocesorů z rodiny 80×86: 32bitové čipy 80386 a 80486
Dnes se budeme zabývat těmi novými instrukcemi, které byly přidány do třetí generace mikroprocesorů rodiny 80×86, tj. konkrétně do čipů Intel 80386 (a posléze i Intel 80486). Prozatím se zaměříme především na reálný režim.
Pavel Tišnovský
5. 12. 2024
Doba čtení:
55 minut
Vývoj mikroprocesorů z rodiny 80×86: od Intelu 8086 k čipu 80286
Většina příkladů, které jsme si až doposud ukazovali, využívala pouze instrukce a registry dostupné na původních mikroprocesorech 8086 a 8088. Ovšem možnosti instrukčních sad se postupně s příchodem dalších čipů řady x86 rozšiřovaly.
Pavel Tišnovský
3. 12. 2024
Doba čtení:
52 minut
Časovač 8253 a systém přerušení na IBM PC
Při programování IBM PC je třeba zajistit volání nějakého podprogramu v pravidelných intervalech. Realizace formou čekacích smyček je většinou nepraktická, proto je výhodnější využít časovač představovaný čipem 8253.
Pavel Tišnovský
19. 11. 2024
Doba čtení:
54 minut
Programování zvukových karet s čipem OPL 3: modifikace tvaru vlny a zvukové kanály se čtyřmi operátory
Dnes si ukážeme další možnosti čipu OPL3, zejména použití nových podporovaných tvarů vln (waveform) a taktéž režim propojení čtyř operátorů, které vytvoří jediný kanál.
Pavel Tišnovský
12. 11. 2024
Doba čtení:
71 minut
Programování zvukových karet s čipem OPL3 nebo s dvojicí čipů OPL2
Ukážeme si ovládání dvojice čipů OPL2 (DualOPL2), jak lze na OPL2 i OPL3 využít polyfonii a taktéž ovládání levého a pravého reproduktoru čipem OPL3, čímž se realizuje triviální stereo.
Pavel Tišnovský
29. 10. 2024
Doba čtení:
86 minut
Vývoj zvukových karet pro platformu IBM PC po vydání karty AdLib
Po zvukové kartě AdLib s čipem OPL2 se pro platformu PC začaly vydávat i další zvukové karty. Ty přinesly možnost přehrávání zvuků přes D/A převodník, mnohé taktéž měly A/D převodník (nahrávání).
Pavel Tišnovský
22. 10. 2024
Doba čtení:
51 minut
Zvuky a hudba na platformě IBM PC: složitější zvuky s OPL2
V dnešním článku o tvorbě aplikací na platformě IBM PC si ukážeme, jak lze využít čip OPL2 pro tvorbu složitějších zvuků. Taktéž si popíšeme způsob práce s klávesnicí a ovládání přehrávání zvuků z klávesnice v reálném čase.
Pavel Tišnovský
15. 10. 2024
Doba čtení:
56 minut
Zvuky a hudba na platformě IBM PC: čip OPL2 aneb Yamaha YM3812
Zaměříme se na čip OPL2 (Yamaha YM3812), který umožňoval tvorbu hudby s využitím syntézy založené na frekvenční (správně spíše fázové) modulaci. Na PC se jednalo o přelomový koncept a OPL2 byl použit v mnoha hrách i demech.
Pavel Tišnovský
8. 10. 2024
Doba čtení:
50 minut
Zvuky a hudba na platformě IBM PC
Zmíníme se o skromných začátcích rozvoje zvukového subsystému. Tyto počítače se z kanceláří postupně rozšířily i do domácností a společně s vývojem her se i pro ně začaly vyrábět rozličné zvukové karty.
Pavel Tišnovský
1. 10. 2024
Doba čtení:
46 minut
Specifika instrukční sady mikroprocesorů Intel 8086/8088 (3)
Dokončíme popis blokových a řetězcových instrukcí, které jsou specifickým rysem instrukční sady Intel 8086/8088. Ukážeme si vliv směru přenosu dat a zaměříme se i na problematiku rychlosti provádění blokových operací.
Pavel Tišnovský
26. 9. 2024
Doba čtení:
50 minut
31
–
60
/
154
První strana
Předchozí strana
1
2
3
4
5
6
Následující strana
Poslední strana
ŠKOLENÍ Zabbix: monitorovací systém od základních kroků až po složité objekty
VÍCE INFO
ČLÁNKY DO MAILU