Jak jsme pokročili s procesory a jak moc málo si toho všímáme |
autor: Michal Rybka , publikováno 21.12.2019 |
Seznam kapitol |
---|
1. Není to taková nuda |
2. Ze skříňe do skříňky |
3. S Motorolou na Měsíc |
4. Lídr v utajení |
5. Jenom začátek |
Když jsem si připravoval pro podcast Retro Nation podklady pro historii procesorů, myslel jsem, že se v pohodě vejdeme do jednoho dílu. Brutálně jsem se mýlil – přetekli jsme čas, a to jsem skončil ještě asi tak v polovině! Procesory se totiž vyvíjely dramaticky – a stále se dramaticky vyvíjejí.
No... pokud vás neužije na přednášky v akademickém prostředí a patříte spíš mezi fanoušky letectví anebo Toma Cruise, máme tu pro vás překrásné video o F14 Tomcat. Ano, MP944 sloužil pilotům nepochybně dobře, ale většina lidí zná jenom tenhle pohled na F14!
A v tomto bodu vyprávění, dámy a pánové, jsme se teprve dostali k prvním šestnáctibitovým procesorům, jako je Intel 8086 (1978). Je to procesor výrazně složitější – má už 29 000 tranzistorů, tedy desetkrát více než jeho děda. Také je podstatně rychlejší, běží na 4,77 až 10 MHz. Ale to nic není – to je jednom začátek.
Dnešní procesory jsou někde úplně jinde. Jsou superskalární, umí vykonávat instrukce mimo pořadí (out of order) a dokonce spekulativně – a jsou naprosto obří. AMD Epyc Rome (2. generace) má 39 a půl miliardy tranzistorů. To je sedmnáct milionkrát složitější čip, než byl Intel 4004! I mobilní čipy, jako Apple A13, mají osm a půl miliardy tranzistorů. I ty jednodušší desktopové procesory mají kolem dvou miliard. To je, když se nad tím zamyslíte, naprostý masakr. Takto složité procesory nelze navrhovat bez počítačů, takže ano, dnes evoluci počítačů vlastně do jisté míry kontrolují samy počítače.
Cesta od Intelu 4004 k moderním procesorům byla šílená, se spoustou odboček a naprostých omylů. My jsme do ní jenom nakoukli – jen lehoučce, nedostali jsme se ani k šestnáctibitům. Pokud vás zajímá její pokračování, dejte vědět do komentářů!
Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz
No je, ale zase ty procesory tenkrat nebyly plne Spektra Melta chyb.
1. fyzicky pristup k PC
2. pristup k PC na dalku - to znamena musis se k tomu PC nejprve nejak dostat a teda hlavni hrozba to je pro virtualni pocitace, nebot muzes nabourat "souseda" na stejnem PC.
Z logiky veci necekej, ze ti nejaka firma bude hlasit, ze jejich virtualni PC, ktere pronajimaji zakaznikum, uz byly zneuzity.
Ja z toho taky ve svem komentari zadne drama nedelam, ale ty bezpecnostni problemy tu jsou, to je neodiskutovalne. A prispelo k nim prave to "umele" navysovani vykonu pres spekulativni vykonavani instrukci.
Nikdo nic hlásit nebude, protože v žádném případě nemůže dojít k ovlivnění cizího programu nebo cizí virtuální mašiny, všechny tyto zranitelnosti umožňují pouze čtení, nikoliv zápis, tedy pouze únik dat, nikoliv jejich změnu.
Pres javascript si NIC neprectes nastesti, protoze to male procento zneuzitelnosti, ktere to umoznovalo takto dakove pres prohlizec, bylo zalatano softwarove, akorat nebo bohuzel to prineslo snizeni vykonu.
Tudiz z tohoto pohledu opravdu neni co hlasit, ze zadneho zneuziti nemusi mit domaci uzivatel na svem domacim PC strach.
Asi ještě dožívá SPARC a v serverech ještě žije Power od IBM ale doba různorodosti je ta tam :-(
ARM vyhrálo kvůli nízké spotřebě.
Bez technologií z RISCů by byl svět x86 někde v oblasti Pentia 2 a to kdo ví jestli. Superskalarita, out of order instrukce, univerzální registry a i ty v článku uváděný cache paměti jsou převzatý z RISCů.
Nějakou dobu se o vývoj nezajímam (cokoliv od C2D je dostatčný) tak mi je záhadou, proč zmiňuješ pomalý paměti když dneska dokážou běžet prakticky na shodný frekvenci s CPU. Když dřív bylo CPU na 1 GHz a paměť na 133 MHz, OK ale dneska by neměl být problém posadit obojí třeba na 3 GHz a cache už vynechat, možná maji ještě menší latence jako jedinou výhodu.
Problem s x86 je jeho popularita. Dnes máš, nebojím se říct 40+ let softwaru napsaný pro x86 architekturu. Teď si představ, že Intel/AMD zítra oznámí, že mění architekturu svých CPU. Vývojáři software křičí, a o to hlasitěji křičí koncový zákazník/uživatel. Asi jako když křičí konzolista, že jeho knihovna her PS3 už nepůjde přehrát na PS4, apod.
Možná v budoucnu bude možnost, jak převést program navržený na 64 bit procesor x86 architektury na cokoliv dalšího v reálném čase nebo alespoň v rozumně krátké době na to, aby to uživatele neodrazovalo. Pak se dá přejít na cokoliv, i RISC. RISC je rychlejší a efektivnější, a většina uživatelů by si snad ani nevšimla. Sledovat internet, přehrávat video, hudbu a hraní her, občas office, to je 95% uživatelů PC dnes. Tím chci říci, že není nutné, aby procesor měl hromadu instrukcí, které člověk jednak neví co to je, a pak to ani reálně nevyužije.
Soucasne x86 procesory jsou procesory RISC. Protoze jen RISC muze prinaset vykon, ktery je dnes potreba. CISC proste uz davno odumrelo!
Vyjma architektury Pentium 4 vsechno ostatni na poli x86 vychazi z Pentium Pro a to je prvni RISC procesor Intelu. Protoze vsak Intel potreboval zachovat kompatibilitu s puvodni x86 (to znamena vse od 8086 az po Pentium) je v procesorech integrovana jednotka prevadejici instrukce x86 na RISC a temto dekodovacim instrukcim se rika micro-RISC.
Je to teda presne obracene nez to interpretujes. CISC x86 je jen soucasti dnesniho 64bitoveho RISC procesoru architektury x86-64.
O to vic je videt, ze by se tu nejaky do hloubku jdouci clanek hodil, ja ti to v komentari tezko vysvetlim, stejne bys napsal blabol, takze je to zbytecne.
BTC DWORD PTR [ebx*4 + ecx + 0x102010], eax
je RISC instrukce a teprve pak se můžeme bavit dál.
Důkaz zde: K RISC i860 byla celá platforma i periferie a stejně se to neujalo, protože prostě RISC nenaplnil očekávání: https://en.wikipedia.org/wiki/Intel_i860
Prostě během cca 10 let se na X86 začal stavět "výkon za pakatel", tak zvítězil.
Fiasco spočívalo v tom, že RISC v 90. letech minulého století slibovaly papírově 4x-5x větší výkon MIPS než CISC, ale praktická realita v reálných aplikacích byla horší než u konkurenčních CISC, proto se na to zákazníci z vysoka vys***.
(dnes už ale jsou optimální hybridy, dávno nemá smysl dělit procesory dělit na CISC a RISC)
Dnešní technologie CPU by potřebovala aby přímo paměťové buňky podporovaly rychlost 50 GHz, respektive aby byly 10x rychlejší než CPU, které jak je známo dneska mají 8-10 jader, tudíž se nároky na RAM zdesateronásobily.
Dále před i4004 se procesory skládaly z několika obvodů, i4004 je první komerčně úspěšný procesor na jednom kusu křemíku.
Nechybí tam něco?
https://wdc65xx.com/in-memoriam-of-chuck-peddle/
http://cevese.blogspot.cz/
http://vgamuseum.info/images/doc/cputree.png