Technomorous

CyrixInstead

Sdílet: Twitter - Facebook

Všechny procesory kompatibilní s Intel x86 počínaje 80486 mají instrukci CPUID, která o nich vrací nejrůznější užitečné informace, takže programátor nemusí používat nejrůznější šamanské techniky, aby zjistil na jakém železe jeho program běží. To je vcelku užitečná věc a člověku se skoro chce divit, že tam ta instrukce nebyla už předtím.

Jednou z věcí, kterou instrukce vrací, je identifikátor výrobce. Stačí do registru EAX hodit nulu, zavolat a v registrech EBX, EDX, ECX dostanete dvanáct bajtů, které v případě, že jste kód spustili na procesoru od Intelu dohromady tvoří textový řetězec GenuineIntel a u nejúspěšnějšího konkurenta AuthenticAMD. Fakt je to tak, i mé permanentně začátečnické znalosti assembleru na to stačí:


 .globl _start
 
 _start:
 	xor %eax, %eax
 	cpuid
 
 	mov %ebx, (s_cpuid)
 	mov %edx, (s_cpuid+4)
 	mov %ecx, (s_cpuid+8)
 
 	mov $01, %rax
 	mov $01, %rdi
 	mov $s_label, %rsi
 	mov $40, %rdx
 	syscall
 
 	mov $60, %rax
 	xor %rdi, %rdi
 	syscall
 
 	.data
 s_label:
 	.ascii "CPUID manufacturer string: "
 s_cpuid:
 	.ascii "ABCDEFGHIJKL\n"
 

Ale to už jsem trochu odbočil, zpět k tématu! Ostatní výrobci kopií Intelu už tak nápadití vesměs nebyli, k jejich krátkým názvům se jim nechtělo nic přidávat a tak je pouze tupě opakovali: VIA VIA VIA (s mezerou na konci!), RiseRiseRise, UMC UMC UMC (opět mezera!) a tak dále. Jen jeden z nich tam napsal něco vtipného a když jsem to kdysi viděl, chtěl jsem to mít doma: CyrixInstead.

CyrixInstead

Podařilo se mi to už před více než pěti lety. Nejvyšší voltážník Sledge mi poslal tenký klient z přelomu tisíciletí, který v sobě procesor od Cyrixu má a to nejen takový nějaký obyčejný, ale Cyrix MediaGXm.

V dnešní době je naprosto normální, že desktopový procesor integruje i grafický subsystém (="integrovaná grafika") a některé funkcionality, které kdysi náležely čipsetu, u procesorů v mobilech a tabletech je pak v jednom pouzdře nahňácáno téměř vše (="system on chip, SoC"). Tenkrát to ale byl počin ojedinělý, zejména na architektuře x86: Cyrix MediaGX obsahuje výpočetní jádro kompatibilní s Pentiem, v případě Cyrix MediaGXm ještě doplněné o instrukční sadu MMX, dále paměťový řadič, PCI řadič a grafiku. Obvykle je pověšený na I/O čipy Cx5520 nebo Cx5530, které mají na starosti jednak funkcionalitu v procesoru neobsaženou (sériové a paralelní porty, u Cx5530 i zvuk, ...) a dále u funkcionality obsažené zajišťují rozhraní s okolním světem (tedy z grafiky dělají buď VGA signál nebo řídí LCD v notebooku, u zvuku generují analogový audiosignál, ...). Aby se vše pro tehdejší systémy tvářilo jako normální standardní periferie, to řešily ovladače a BIOS - softwarově je viditelná standardní grafická karta (XpressGRAPHICS) a standardní zvuková karta (XpressAUDIO).

Desktop Windows 98

Ve své době to byl počin tak revoluční, že se samozřejmě ve větší šíři nechytil. Kompletní a pořádné ovladače výrobce vydal jen pro Windows 98, na Windows NT i Windows 2000 mi vždy zůstala v device manageru viset nějaká neznámá periferie. Ze alternativních systémů, které jsem zkoušel, došlo do zdárného bootu jen NetBSD 1.6 a ani tam nefungovala grafika. Procesor sice existoval v provedení Socket 7, ale pokud je mi známo, potřeboval speciální desku s výše uvedenými I/O čipy, takže stejně nešel strčit kamkoliv. Víc se tak uchytil v provedení BGA v různých informačních kioscích, tenkých klientech či miniaturních laptopech. Vyvinul se z něj čip Geode, který je už v této oblasti asi o dost známější - dokonce jeho první model Geode GXm je vlastně úplně totožný kus křemíku jako Media GXm, proto také na screenshotu možno vidět, že CPU-Z hlásí jeden a dialog ve Windows hlásí jiný.

Počítač samotný je mrňavý, má dva sériové porty, dvě USB, integrovanou stomegabitovou síť (Realtek 8139), po jednom PCI a ISA slotu (lze použít vždy jen jeden z nich), podařilo se mi do něj dostat 128 MB RAM (jeden DIMM a jeden SO-DIMM slot) a s notebookovým diskem by to bylo celkem pěkné skoro-retro-PC. Bohužel ale 5 mm vysoký ventilátor na procesoru neuvěřitelně řve a miniventilátorek v minizdroji má už svá nejlepší léta také za sebou. Podaří-li se nějak mašinu ztišit, nechám si ji, jinak půjde do světa.


Jméno
Web
E-Mail
Nejsem člověk
Text komentáře

1. pol (8. ledna 2020, 18:01)
Cyrix CPU som mal vo svojom prvom písíčku. Tiež to malo MMX inštrukcie a asi tak 166MHz.

2. JH (8. ledna 2020, 19:52)
V kterých čipech bylo to VIA VIA VIA?

Páč teď by tam mělo být "CentaurHauls" podle firmy, co ty jádra navrhuje. I ty čínský Zhaoxiny to snad reportujou, ale čínský média to prej často cenzurujou ze screenshotů, aby se nakazila propagandistická hodnota, toho, že maj vlastní x86 procesory (lol).

3. Logout (8. ledna 2020, 21:47)
[2] Máš samozřejmě naprostou pravdu, drtivá většina procesorů Via se bude hlásit jako CentaurHauls. Jenže já pořád beru Centaur jako samostatnou společnost, která tedy jen má holt už dvacet let taiwanského majitele :)

Podle toho co jsem dohledal ve zdrojácích různých open-source detektorů procesorů tak "VIA VIA VIA" můžou vracet některá jejich jádra, která nemají PadLock. A co se týká Zhaoxinu tak ten by měl vracet " Shanghai ".

4. Sledge (9. ledna 2020, 16:06)
"neuvěřitelně řve" - ano, už si jasně vybavuju, proč jsem to s radostí poslal dál :) Zpětně se ale trochu divím, že jsem s tím nelaboroval dál, tam musela být nějaká vyložená zrada... že by ten chladič byl přilepený a mě se nechtělo se s tím patlat?

5. Logout (9. ledna 2020, 16:18)
[4] Ano. Jelikož je to BGA připájené přímo na desce, tak chladič je přilepen a ještě hůř - ventilátor je v díře mezi žebry, ne nad žebry, takže tam jiný pasovat nebude. Mám v plánu vyhodit plech na kterém drží harddisk, sloupnout chladič a dát tam normální žebra s normálním ventilátorem. Místo disku můžu použít DOM modul, který mi leží v šuplíku už poměrně dlouho bez využití.
Mimochodem, ten plech na HDD je pro zlost - chtěl jsem ho vyndat za chodu, abych se podíval, co tam je za ethernet čip a bum, reset, smrad - on je tak tvarovaný že už při posunu o 3-4 mm zkratuje cívku motanou na toroidu přímo uprostřed desky.

TOPlist