Tak ono právě mimo ČR potkat projekt ve VHDL není moc běžné a mimo Evropu nevím o nikom, kdo by VHDL používal. Komerční nástroje právě upouští od podpory VHDL, protože to firmy prakticky nepoužívají. Např naprostá většina RISC-V jader je verilogu případně system verilogu, těch pár projektů ve VHDL je z Evropy a upřímně o nich ví asi jen autoři té tabulky
https://github.com/riscvarchive/riscv-cores-list
Ať si každý používá co mu vyhovuje, ale většina firem už jede system verilog
25. 2. 2025, 13:54 editováno autorem komentáře
Já zase nechápu, když někdo na základě jakýchsi svých pochybných subjektivních dojmů činí zevšeobecňující závěry o "celém světě".
Osobně mám raději Verilog a používám ho na své bastlení, ale profesionálně (jeden korporát telekomunikace, druhý korporát průmyslová automatizace) to bylo v obou případech VHDL. Musím uznat, že ukecanost VHDL je částečně kompenzována tím, že když to projde bez chyb, tak to velmi pravděpodobně bude i něco dělat. Za sebe však tvrdím, že je mi to spíše protivné. Ovšem z pohledu čitelnosti a přehlednosti to má své přednosti, takže akademickou fetiš naprosto chápu. Asi jako svého času Pascal jakožto čitelný a pedantický výukový jazyk a C jazyk pro praktickou práci.
Jak jsem napsal v článku, vybral jsem si jazyk používaný v knize, podle které jsem začínal první pokusy s FPGA. Verilog a System Verilog neznám, proto je nechci hodnotit. Ale podle mých zkušeností s programováním dokáží jazyky, které dělají hodně kontrol staticky při překladu, ušetřit dost času při pozdějším ladění.
Souhlasím s tím, že Verilog na americké straně Atlantiku roky převládal a to přesto, že mu hodně možností, mapříklad strukturované signály, skutečné enum atd. velmi chyběly. Stejně jako striktní typová kontrola v době syntézy, kompilace. Proto ESA (a původně i armáda USA) vyžadují v kritických projektech jazyky, kde konverze nepovede k selhání třeba přistání na Mars (int jako int, metry jako stopy). Proto i roky armáda USA vyžadovala dodávky SW v jazyce ADA.
Souhlasím, že dnes USA a i mnoho dalších přechází na system verilog.
Na druhou stranu, pokud chcete používat volně dostupné nástroje od Intelu (základní verze Quartus) a i často od AMD/Xilinx, tak narazíte na tvrdá omezení v podpoře jen starších verzí HDL jazyků atd.... Takže možná že i dnes system Verilog je na Quartusu pro veřejnost no go. Myslím, že mi to kolega, který s ním učí, opět říkal, že na to naráží.
Ale souhlasím, že dnes je System Verilog dobrá volba. I když sám se kvůli těm vazbám na ESA a stále striktnější typové kontroly držím spíše VHDL, přesto, že je v něm psaní obtížnější a znamená více znaků a řádek. Na druhou stranu chyb, které by se neodhalily během syntézy nebo spíše elaborate, mi odchytal mnoho a jsem přesvědčený, že mnoho by ve Verilogu spíš odchyceno nebylo.
Jinak doporučuji k VHDL i logickým obvodům materiály kolegy, doktora Šusty https://susta.cz/FelUcebnice.aspx. Nyní připravuje i další materiály přímo pro předmět Logické systémy a procesory.
Vnitřnosti procesoru nanečisto si lze prozkoumat na našem simulátoru od single cycle po pipeline s cache, predikcí skoků, výjimkami i několika systémovými voláními na našem výukovém simulátoru QtRvSim přístupném i online na https://comparch.edu.cvut.cz/. Přes stránky našich předmětů se zle doklikat až na nahrávky přednášek.
Tak to dělají i studenti předmětu B4M35PAP - Pokročilé architektury počítačů, kteří mají za úkol si jednoduchý procesor s RISC-V, MIPS nebo vlastní instrukční sadou napsat nejdříve v single-cysle a pak pipeline verzi. Nabízená je i možnost jít dále, letos podle přednášek si jeden student napsal napsal ve VHDL parametrizovaný out-of-order procesor, kde může parametrizovat šířku dekódování instrukcí a i pak počet ALU. Jednotky load-store a branch jsou jen po jedné.
Jinak začíná se blýskat na lepší časy a jeden z předchozích návrhů procesoru (RVapo) se studentovi podařilo v hodně ořezané synstetizovat na iCE40 na ICE-V-Wireless i s využitím čistě otevřeného návrhového řetězce GHDL + YosysHQ.
Ten serial vypada z meho pohledu fakt silene. Jsem programator, sice jsem delal i v 8bit asm Z80, ale HW (tranzistory a dalsi divne soucastky) jsou pro me obestreny tajemstvim, jako byl kdysi obestren tajemstvim asm kdyz jsem znal jen sinclair basic. Uz se tesim na pokracovani.
Tak to jsme začínali podobně, já jsem postupoval od Basicu na Didaktiku Gama (československý klon ZX Spectra) přes assembler Z80 k dalším jazykům. Mně ten nápad poskládat si funkční procesor z hradel taky připadal trochu šílený. Asi nejvíc jsem byl překvapený tím, že nakonec to bylo jednodušší, než jsem na začátku čekal.
Dodnes mám sešit, kam jsem v 80káchá během 3 dnů, kdy jsem měl půjčenou "posvátnou" knihu "Bity do bitu" od Ladislava Zajíčka. Přepsal a překreslil většinu příloh, včetně všech instrukcí CPU Z80.
Čas běží, nádech magie zůstává.
A ještě bych vzpomenul papírový "počítač" z ABíčka https://cs.wikipedia.org/wiki/Pap%C3%ADrov%C3%BD_po%C4%8D%C3%ADta%C4%8D_CGS
Tesim sa na serial, vyzera to velmi zaujimavo. Tolko prace.. respekt pred autorom.
Pred par rokmi, ked som mal chut rozblikat LED na FPGA som riesil dilemu VHDL vs FPGA. Zaver po precitani zopar vlakien na zahranicnych forach je, ze v USA je viac pouzivany Verilog, v Europe viac VHDL. Na prvy pohlad (syntax) som mal lepsi subjektivny pocit z Verilogu, ale nakoniec som blikanie LED este nerealizoval. Mozno ma tento serial opat nakopne :)
Já nikdy ZX 80/81 na živo neviděl. Až ZX Spectrum.
Tak mě překvapilo, když jsem viděl na https://youtu.be/1Jr7Q1yJOUM?si=BopZPUdZpMl6r1dv
jak kvůli limitaci video paměti ubývají na ZX-80 zobrazované řádky BASICu :-)
"Asi každý programátor si někdy položil otázku, jak počítač uvnitř funguje"
Fakt? A to by clovek cekal ze to vi ... mno na tech vytvorech je videt, ze nejen ze nevi, ale ani o tom nikdy ani vterinu nepremyslel (jsou vyjimky, ale moc jich neni)
BTW: CPU se da SW cestou vytvorit v minecraftu. Netreba na to zadne mody, staci to co tam je = redstone.
Jiste ze on to resit nemusi ... to resej pak ti uzivatele, kdyz jim dojde ramka, nebo jim to sezere cely CPU na zobrazovani prazdneho okna atd atd ze?
Protoze proc si logickou hodnotu neulozit jako "Ano" (doslova) nebo jako 64bit float zejo ...
Tomu oknu co ve widlich nezobrazuje probihajici aktualizace (protoze ho soudruh programator neumi prekreslit) nestaci ani 30GHz. Staci ho zavrit a voiala ze?
Proč by 15 let starý počítač neměl *některým* uživatelům pro jejich potřeby stačit? Používám cca 10 let starý pracovní notebook a nevidím důvod k jeho výměně. Ubuntu na tom běží aktuální, vyměňovala se baterie, ještě jsem uvažoval o výměně hdd za ssd, ale není to zatím potřeba. Na to využití občas na cestách to bohatě stačí a ještě dlouho stačit bude.
To že Asie potřebuje točit ekonomiku a má zatím dostačující nerostné zdroje a že je "trendy" měnit elektroniku bezdůvodně co dva roky, není důvod mrhat zdroji a vyhazovat funkční zařízení.
Jestli je ajťák jen vybalovač krabic a neumí udržet zařízení ve vyhovujícím stavu jinak, než koupí nového, tak si nezaslouží výplatu.
Naopak jsem nedávno vyměňoval 7 let starý, plně funkční a vyhovují router jen proto, že výrobce není schopen dodávat aktualizace systému a už to bylo na pováženou. Přitom kromě novějšího standardu WiFi (dobře, hodí se, ale není doma nezbytný) je rozdíl jen v novém designu konfigurační stránky a pro bezpečnost dost špatné změny, kdy kombinace (nastavitelného) uživatelského jména a hesla byla nahrazena pouze heslem.
Ale ono jim viditelne nestaci a ve vysledku nadavaji na to, ze se tvurci aplikaci neprizpusobuji tomu, ze oni chteji ten 15 let stary pocitac stale pouzivat. Ano, vyvoj trosku zpomalil - takze dnes uz 15 let stary pocitac neni az takovy pain, jako byl pred patnacti lety pocitac, kteremu by dnes bylo tricet. A samozrejme to neni jen o tom veku - ono muzete mit 15 let stary vrak, co ma jen dve procesorova jadra na urovni Celeronu s 1GB RAM (ktery tehda stacily) a plotnovym diskem... a pak to bude jine, nez kdyz tam budete mit nejakou sestijadrovou i7 s tolik pameti, co deska dovoli a s nejakymi SSD. Aneb neni to jen o veku. Dulezitym aspektem je dnes i spotreba - aneb mnohdy ten vyssi vykon clovek ma s podstatne nizsim prikonem...
A tak ta podpora ze strany vyrobcu je je predevsim o penezich, ze? Lidi si predstavujou, ze levne koupi nejakou skatuli a donekonecna jim to bude zdarma nekdo zaplatovat - takovy "socialismus" prece take fungovat dost dobre nemuze. U vyrobku, kde je garantovan delsi zivotni cyklus si toto zpravidla v cene zaplatite. At uz v nakupni cene, nebo v naslednych servisnich poplatcich. Aneb lidi si radi delaji srandu z Apple, jak ze je to zbytecne drahy telefon... ale podivejte se, jak dlouho ve finale tu podporu mate.
U tech "levnejsich" (domacich) routeru precijen volbu mate - kdyz vhodne zvolite, jde tam nacpat OpenWRT a fungovat s tim. Samozrejme je treba dobre zvolit HW. Ale i tam se postupne dostave do stavu, kdy zarizeni s mene zdroji (RAM/flash) prestavaji byt podporovana - jednoduse proto, ze i vyvojari se s tou miniaturizaci jsou ochotni crcat jen do urcite miry...
Co se týká příkonu, chtěl bych vidět stroj, kde by dávala smysl výměna kvůli potřebě. Možná u nějakých výkonných serverových řešení nebo extra výkonných pracovníc stanic pro specializované použití, ale pokud bych si kvůli padesáti wattům příkonu měl kupovat za patnáct tisíc nový počítač, zaplatilo by se mi to tak za pět let.
Tak ono spotreba hraje roli treba i co se provozu na UPS tyce, nedejboze kdyz to optimalizujete v ramci provozu domaci FVE ciste proto, abyste co mozna nejmin odebiral z gridu. Jasne, muzete zrovnatak namitat, ze navratnost FVE je take strasne dlouha... ale to obligatne hodnotite podle ceny dnes. Nebo snad vlastnite kristalovou kouli a dokazete ctenemu publiku sdelit, jake budou ceny energii treba za dva roky? :-) Sem s tim.
Jasně. A teď tu o Karkulce.
1kWh mám za cca 5Kč. Abych z úspory za silovku zaplatil solární bestii za 200 000, potřebuju ušetřit 40 MWh. Mám rodinnej dům, sakum prdum se vším všudy průměr 4kWh/den. Takže návratnost 10 000 dní. To je nějakejch 27 roků a 4 měsíce, pokud bych tím pokryl 100%
Fakt se vyplatí kvůli tomu ještě co tři roky měnit spotřebiče za dalších 100 000, aby si to někde necuclo denní odběr za dvacku.
Ne, nemusim se vracet do jeskyne. Ale take si nemusim ospravedlnovat vrtani do kolena. Takze ano, treba se vzdam alespon tech par wattu zbytecne propalene energie. I tim clovek svou uhlikovou stopu snizi. Hromadu cest realizuji MHD, k preprave za vlidneho pocasi pouzivam treba kolobezku... tak a ted vy ;-)
I tim člověk svou uhlikovou stopu snizi.
Na tohle spojení už jsem doslova alergický. Říkám tomu bezuhlíkové náboženství. Protože nic jiného to není. Jeho apoštolové se samozřejmě snaží halit to do vědeckého hábitu, aby zmátli lidi, ale při bližším pohledu zjistíte, že je to ukázkový příklad pavědy, jejíž aplikace vede ke spoustě absurdit a rozporů typu zlikviduj něco, co slouží, abys to mohl nahradit něčím novým, co ve skutečnosti nepotřebuješ. Tedy žádná ekologie, ale pokus o jiný způsob řešení krize z nadprodukce. Ze své podstaty je to doslova antiekologické.
Čím dříve odpadnete od té své bezuhlíkové víry, tím dříve přestanete životnímu prostředí škodit.
Snizovani uhlikove stopy nerovna se zanda bezuhlikova vira. To by clovek musel prestat dychat, protoze i tim se CO2 uvolnuje, zejo :D Ne, to neni zadne nabozenstvi - to je ciste o tom, ze nedelam bordel kolem sebe, kdyz opravdu nemusim. Narozdil treba i od mnohych kuraku, kteri odhazuji vajgly kde se jim zlibi s tim, ze ono se to prece uklidi (idealne s dovetkem, ze proto prece plati dane). Lidi v Cesku maji ve zvyku se ke svemu okoli mnohdy chovat jak ignoranti - ale pak se divi, v jakem bordelu to zijeme.
Je videt, ze jste nikdy nezil na dohled od uhelne elektrarny a ani se nepriblizil k hnedouhelnemu povrchovemu dolu. Ono byste pak o tom, jestli se nekde nesviti zbytecne premyslel jinak ;-) A i kdyz to dnes udelate, tak to neni takovy marast jako to byl treba pred triceti lety...
Dětství jsem prožil v Kadani, se čtyřmi tepelnými elektrárnami a povrchovým dolem mezi nimi, vše ve vzdálenosti do 5 km. Stále si pamatuju, jak večer padal sníh a ráno byly vidět zářivě bílé stopy v šedém sněhu pokrytém vrstvou popílku. Pamatuju si i suché lesy v Krušných horách. Vím, jak se situace zlepšila, když byly nainstalovány technologie jako odlučovače popílku a odsíření, přestože elektrárny jely dál a dál produkovaly CO2.
Proto bych prosil, abychom rozlišovali CO2 a ostatní druhy znečištění. Způsobují problémy jinde a jiným způsobem. Zbavit se CO2 je mnohem větší technický problém, už z podstaty technologie (spalování paliv obsahujících uhlík) a probíhajících chemických reakcí.
Ale vy porad prehlizite tu cast procesu, kde se bere vlastni palivo. Krater v zemi, mesicni krajina... to vam odlucovace popilku ani odsireni nevyresi, zejo :-) Nikde nepisu o zbavovani se, pisu o omezovani produkce. A v souladu heslem "think globally, act locally" muzu zacit u toho, ze nejaky ten wattik usetrim i v ramci sve domacnosti.
Ale vy porad prehlizite tu cast procesu, kde se bere vlastni palivo. Krater v zemi, mesicni krajina... to vam odlucovace popilku ani odsireni nevyresi, zejo
Já vím, jak ta díra v zemi vypadá. To se fakt přehlédnout nedá.A souhlasím, že to je problém. Mě šlo o něco jiného, totiž abychom v argumentaci nemíchali znečištění, které se dá eliminovat relativně snadno/levně (třeba popílek a oxidy síry) a dopady, které se nedají odstranit bez zásadní změny technologie, což je mnohem nákladnější.
Také celkem souhlasím s názorem, že úroveň civilizace do značné míry souvisí s tím, kolik energie má k dispozici. Proto bychom se neměli primárně soustředit na šetření, ale na šetrnější výrobu (raději ITER, než úsporné žárovky). Když už šetřit, tak začít tam, kde to bude mít největší efekt. Ušetření pár wattů, i když to udělá každá domácnost, tu díru v zemi viditelně nezmenší.
No zrovna u te tezby je dost velky samotny prach.... a ten proste dopady ma treba i na zdravi, zeano. A ten oblak prachu, co zvlast v suchych letnich mesicich z dolu stoupa jaksi neprehlednete :-) Kdyz tedy chceme resit "naklady", pak by se mely ale zapocitavat vsechny externality, co to zpusobi. Ja vim, neni asi lehke to rozumne dopocitat... ale soucasne se nemuzeme tvarit, ze to je "beznakladove".
Diru v zemi zmensi - a i ten prach z tezby - odstrani jine zdroje. Jadro by bylo v necem fajn - a na mistech typu ETU by si zaslouzilo stat s ohledem na existujici infrastrukturu, ale je potreba si priznat ona ta tezba taky nebyla uplne slunickova. Jasne, oblibene "evropske" reseni je ty negativa outsourcovat nekam za hranice a tvarit se, ze u nas ten problem neni (aneb slavnostne jsme si tu hromadu fabrik zavreli a zbozi vozime z Ciny/Indie). Nedotazene porad mame ulozeni odpadu - co mame jsou provizoria. Pokud chceme ferove resit nakladovost, musime resit nejen to, za kolik se koupi palivova tyc, zejo. A ono jen postavit to... je beh na dlouhou trat.
ITER je jako mozny smer asi taky fajn, ale to jsme stale ve fazi experimentu... a pro realne provozni nasazeni vlastne nevite, kolik to bude stat - kdyz uz chcete pouzivat argument "drahych reseni". A misto te ETU to dnes nepostavite. Samotny experiment je jeden z nejdrazsich projektu na svete, zeano ;-) A terminy se spis odsouvaji... aneb nemate ani jistotu, ze to za tech 25 let realne pujde postavit, puvodni plany byly pritom optimistictejsi.
Takze kde tu energii brat? ;-) Dneska.... ne za ctvrt stoleti. Ono moc cest, nez jak skrtit tu spotrebu a aspon neco dofouknout skrze mene stabilni zdroje typu slunce/vitr asi neni. Pripadne voda.... ale ve vsech tehlech pripadech casto narazite na NIMBYsmus. A ne, do ty doby palit uhli tezene z prasiciho mesicniho krateru fakt reseni neni.
Danny, šmakují banány? A lacláče sedí dobře?
Optimální mix je jasný. 80% jádro + max. 10% solárů + voda. Nic jinýho u nás ekonomicky, technologicky ani ekologicky nedává smysl.
Pokud jde o těžbu, je sakra rozdíl vydolovat pět vagónů uranové rudy na reaktor a rok a vydolovat 300 vagónů uhlí + 100 vagónů vápence každý den na stejný výkon.
A s tím snižováním odběru opatrně. Ono se zařízení snadno vyhodí a koupí nový, ale napadlo tě, co se s tím vyhozeným stane? Třeba s blbým plošňákem - skleněný vlákna v pryskyřici smíchané se zpomalovačem hoření. Napadlo tě někdy, jak se to vlastně recykluje? Když už za sebou nechceš nechávat zbytečný bordel...
Banany moc nemusim, diky za optani :D Jadro... no, tak ty zdroje postavte. Realne je CEZ kasicka na penize, kterou si stat lata diry ve svem vlastnim rozpoctu. Kolik ze novych jadernych zdroju vzniklo? Aha, zadny. A planovane Dukovany - to je spis nahrazka za dozivajici reaktor, ono ty tam take nevydrzi vecne. CEZ si obcas hral "na byznys" a poustel se mj. do akci typu Rumunsko... kde se ve vysledku par miliadr pekne promhralo (odepsalo), ze? :-)
V prumeru 80% z toho, co na tech starych deskach mate recyklovatelne je. To mate zmereny, o tom nemusime dlouze polemizovat. Nerecyklovatelny zbytek se holt spali. Ale tu tepelnou energii muzete... premenit treba take v tu elektriku, ze? :-) Rozhodne to dava vetsi smysl, nez si kutat mesicni kratery v krajine. Nikde jsem mimochodem nepsal, ze se nema palit nic a nikde. Ale proc to ma byt zrovna uhli, kde ty externality kolem jeho tezby take zanedbavat nemuzete...? Ono i ta tezba, zpracovani a preprava od rypadla ke kotli krom jineho... zere elektriku. A ne uplne malo.
FR4 (sklolaminat a jakoze fakt dobrej) se vzniti pri nejakych 500-600 °C, pokud zajistite dostatecny prisun kysliku. I pri nizsi teplote (~300 °C) pri dlouhodobem pusobeni dochazi k degradaci materialu... A ze by se vsude pouzivaly ty nejkvalitnejsi materialy bych se netvaril. Ve skutecnosti se setri kde se muze, hledaji se cesty, jak neco ocurat, zvlast popularni china-import... :) Takze realne spis narazite na veci, co neodolaji zdaleka tak dobre co FR4. Ve spalovnach se bezne odpad pali pri 850-1100 °C. Aneb fakt se nebavime o nejakem domacim grillu, na kterym si opekate burger k veceri... :-)
Je videt, ze jste nikdy nezil na dohled od uhelne elektrarny a ani se nepriblizil k hnedouhelnemu povrchovemu dolu.
Vyrůstal jsem 4 km od tepelné elektrárny a v okruhu 20 km se nacházelo několik uhelných dolů. Většinu profesionálního života se pohybuji v průmyslu a většinou se to nějak týkalo energetiky (měření, automatizace, řízení...). Každý, s kým jsem se za poslední roky setkal a profesně nějak souvisel s energetikou, to viděl stejně jako já-prosazování zbytečných, drahých, nesmyslných opatření ve jménu bezuhlíkového náboženství lidmi, kteří ani rukávem nezavadili o technické vzdělání.
Neznám člověka, který by chtěl žít ve znečištěném životním prostředí. Ale bezhlavě se vrhat do nějakých zásadních, nepředstavitelně drahých opatření s dopadem na desítky let jen proto, že o nich kdosi prohlašuje, že je to ve jménu ekologie, a snad to tak prvoplánově může i vypadat, je nezodpovědné a hloupé. Elektromobilita na sílu, podpora OZE na úkor klasické energetiky, bezuhlíkové šílenství-to vše ve svém důsledku povede k ještě většímu poškozování životního prostředí a naši společnost to ekonomicky zničí.
Každý, s kým jsem se za poslední roky setkal a profesně nějak souvisel s energetikou, to viděl stejně jako já-prosazování zbytečných, drahých, nesmyslných opatření ve jménu bezuhlíkového náboženství lidmi, kteří ani rukávem nezavadili o technické vzdělání.
Na to nemusím být energetik. Stačí si vzít Excel (dobře, jsme na root.cz, tak LibreOffice Calc), najít si pár hodnot, vzpomenout si na základní vzorečky ze základní školy a začít počítat: současná spotřeba elektřiny, budoucí spotřeba po nahrazení fosilních paliv, výkon, účinnost, koeficient využití, cena a životnost různých zdrojů, potřeba akumulace pro pokrytí cyklů den-noc a léto-zima, alternativně udržování záložních zdrojů, pokrývajích výpadky těch udržitelných, atd. O přírodních zákonech sice můžeme zkoušet hlasovat, ale jejich platnost tím nezměníme...
Energetici v mnoha aspektech funguji jak ti vyvojari v kernelu. Lide leta programujici v Ccku hejti modernejsi rust. Mnoho lidi jednoduse odmita nove/jine postupy. Ono je jednodussi vymyslet tisic duvodu, proc neco "nejde", nez se zamyslet nad tim, jak to udelat smysluplne a treba jinak... zeano ;-)
Lide leta programujici v Ccku hejti modernejsi rust.
Do debaty o Rustu bych se tu radši nepouštěl. Seznam mých námitek proti Rustu by vydal nejmíň na jeden samostatný článek. Jedna z nich by asi byla ve smyslu: "Lide prosazující Rust hejtí léty prověřené C a C++." To odmítání může pramenit ze zkušeností, že "nové/jiné" nemusí znamenat "nové/lepší". Je na propagátorech toho nového dokázat, že je to lepší, ne že jim ostatní budou muset dokazovat, že zrovna ta jejich novika lepší není.
Ja tim jen chtel demonstrovat, ze to je tradicni stret neceho noveho a neceho stareho :-) Tohle se v lidske civilizaci cyklicky opakuje - a je fuk, jestli povedeme rec o IT, energetice nebo treba doprave. Ano, casto se jako argument u stareho uziva zkusenost - ale tim se spis maskuje ten strach z noveho ;-) Protoze to nutne znamena se neco noveho naucit, zkusit zmenit uhel pohledu... no a to se moc nechce, zvlast kdyz chcete mit ten klidek a pohodlicko a vydrzet s tim, co jste se doposavad naucil.
Ja tim jen chtel demonstrovat, ze to je tradicni stret neceho noveho a neceho stareho
Není důležité rozlišení nové/staré, ale lepší/horší. A určitě neplatí, že co je nové, je nutně lepší.
zkusenost - ale tim se spis maskuje ten strach z noveho
Málokdy je nové také úplně ve všem lepší než staré. Není to ani tak strach, jako spíš zkušenostmi podložená obava, že kromě inzerovaných pozitivních vlastností novinky existuje také řada negativních, o nichž se propagátoři nezmiňují. Buď záměrně, nebo protože na ně ještě nepřišli.
Protoze to nutne znamena se neco noveho naucit, zkusit zmenit uhel pohledu
Tohle jsem právě zkusil s Rustem. Na začátku mě tento jazyk zaujal, ale čím víc jsem se ho snažil pochopit a naučit, tím ve mně sílilo přesvědčení, že tudy ne.
Sorry, ale lidi, co vidí do energetiky ví, že
1) Elektriku nejde skladovat. Maximálně nepatrný zlomek toho, co by bylo potřeba.
2) Protože nefunguje skladování, musí se vyrábět v době spotřeby.
3) Mrazírny, datacentra, nemocnice atd. potřebují energii 24/7, takže stejně musí stát klasická elektrárna, která pojede, když nesvítí. Stavět dvě elektrárny a přehazovat je podle počasí je ekonomický nesmysl.
4) Postavit takovou FVE, to není sranda. Jenom ty panely - energeticky nejmíň náročná je výroba hliníku na rámy, to je elektrolýza eutektickýho roztoku Na3AlFe6 a Al2O3 při 960°C. Na druhým místě je sklo, tam sice odpadne elektrolýza, ale taví se při vyšších teplotách. No a článek samotný, s rafinací křemíku, dopováním arsenem,... No brr. Bez baterek (Li, fosfáty, plasty, měď) to navíc vůbec nedává smysl. A k tomu střídač, doprava,...
5) Když svítí u nás, svítí i v německu. Němci mají tolik solárů, že když u nás svítí, budou prodávat přebytky pod cenou. Nedává smysl investovat do něčeho, co vyrábí, jenom když je přebytek. Takže solární panely u nás, to je naleštěný odpad.
Samozrejme, ze energii skladovat lze. Realne se to deje i u konvencich zdroju - kdy se nadbytky z vyroby behem noci pouzivaly u precerpavacich elektraren k tomu, aby se v noci akumulovala voda do horni nadrze. Obcas staci jen zmenit mysleni... a tu precerpavacku naopak "vybijet" v noci, zeano ;-) Akumulace do baterii take uz nejaky patek funguje. Jiste, jsou u toho ztraty... ale to u te precerpavacky, co v noci akumuluje energii ze spaleneho uhli mate taky.
Vtipne, ze zminujete jen FVE, ale on to neni jediny mozny zdroj. Vitr vam fouka... i v noci. Voda take tece 24/7. Netvrdil bych, ze vyuzivame existujici potencial na maximum - spise hledame duvody (vymluvy), proc to "nejde". Jasne, nejsme Norsko - takze z te vody nevymackneme tolik, co oni - ale mezery rozhodne mame. A vyborne, sam popisujete realny problem energetiky - a tim je to trzni fungovani systemem "pet minut prodavam levne, pet minut draho", proste obycejne spekulovani. A kdyz se to "prodat nevyplati", tak se ta elektrika posila do maricu... a proste se topi panu bohu do oken. I tohle vymysleli ti vasi "energetici".
Ne, mluvím o vyrovnávání denních špiček, než naběhne stabilní zdroj. To je to omezený ukládání.
Spotřeba ČR je cca 60 TWh/rok. Předpokládejme, že je spotřeba rovnoměrná. Potřebuješ z OZE během 4 měsíců nachytat 40 TWh na osm dalších měsíců. Jak a do čeho to narveš? Nebo aspoň polovičku z toho...
Ukládat ve dne a vybírat v noci jde, ale ne když zvládneš uložit třeba 2GWh a máš 3GW přebytek výkonu. Za 40 minut máš plnou kapacitu a - zbytek prodáš pod cenou. No a v noci využiješ uloženou energii na 3-4h a - na zbytek noci nemáš nic.
Rocni spotreba je fakt irelevantni cislo. Podstatny je realny odber versus realna vyroba. No, zrovna v tuhle chvili (uz asi od pate vecerni) PVE do site realne dodavaji ~650MW... nebo chcete-li to jinak 5% aktualni potreby. CE dalsich ~370MW. Ty 4 mesice jste si vycucal kde? ;-) FVE dnes kolem poledne dodavaly nejakych 1800MW - jestli si myslite, ze FVE neco vyrobi jen 4 mesice v roce, tak jste co se energetiky tyce opravdu fachidiot :-)
Ano, tech PVE mame dnes relativne malo, ale to neni argument podporujici tezi, ze to nejde. Vyrobnich kapacit ve VE take moc nemame, ale za oboji muze spise NIMBY.
Prestante tu furt sermovat s tim "pod cenou". Obhajujete paleni uhli a vdechovani prachovych castic generovanych pri tezbe tim, ze to je "preci levny". Ale to je chucpe. Ty vicenaklady kolem zdravotnictvi mate zapocitany kde? ;-)
Rocni spotreba je fakt irelevantni cislo. Podstatny je realny odber versus realna vyroba.
Jak už jsem psal, je užitečné si hodit pár čísel do tabulky a trochu počítat. Když pominu, že v měřítku ČR přečerpávací elektrárny nezvládnou pokrýt většinu spotřeby ani celou noc, tak máme taky rozdíly během roku. Např. jedna konkrétní fotovoltaika loni v prosinci výroba 12 % červencové. Tohle fakt přečerpávačky nevyrovnají, natož baterky. Průměrný měsíční koeficient využití instalovaného výkonu 2,6 % v prosinci, 21 % v červenci. A mohl bych pokračovat, třeba o zimních inverzích, kdy týdny nesvítí a nefouká, FVE se vyšplhá na pár minut kolem poledne na krásných 5 % instalovaného výkonu...
28. 2. 2025, 20:27 editováno autorem komentáře
Ja nejak nechapu vasi nutkavou potrebu to roubovat na jeden konkretni zdroj. Kde pisu, ze jen PVE pokryjou vetsinu spotreby? V noci se povetsinou do PVE naopak cerpa (nabiji)... na to mate statistiku na CEPSu ;-) A limitou tady je prave to, ze jich moc neni. Ono se staci podivat k Herminovu, jake tanecky tam jsou kolem "nove prehrady". To je problem.... zijeme povetsinou z toho, co se tu postavilo pred revoluci... a ted si vemte ty Nory - ti vam klidne "vypnou" vodopad nebo klidne prokopou 20km stolu - a vetsinu te vody presmeruji do nejake trubky, aby to natahly na turbinu. U nas nemyslitelne... :D A jsou mista, kde realne spise dohanime resty - i potencial vltavske kaskady v tomto smeru neni zcela vyuzit, ze?
Hodne se upiname k systemu "nekolik velkych zdroju" - ale ono jich muze byt spousta mensich. Realne se spis cas podobne infrastruktury nechala zchatrat a k obnove se spis nemame - aneb kolik tady bylo mlynu a dalsich prumyslovych provozu, kde se voda jako zdroj energie pouzivala. A namisto snahy tvorit vicero mensich (ruznorodych) zdroju se upiname k tomu, ze secteme celkovou potrebu a pak to chceme vsecko obslouzit z par velkych elektraren - a na male zdroje hledame ruzne formy hejtu, zeano ;-) Ve finale je ale takova infrastruktura, kde mate jen tech "par nabusenych" zdroju zranitelnejsi podstatne snaz. No, a to jsme zase u zmeny mysleni... a samozrejme tradicni "energetik" zvykly na svych 5x 200MW v jednom arealu vas bude presvedcovat, ze jinak to preci nejde...
Ja nejak nechapu vasi nutkavou potrebu to roubovat na jeden konkretni zdroj.
Jen jsem napsal pár čísel je zdrojům, o kterých jste psal Vy...
V noci se povetsinou do PVE naopak cerpa (nabiji)
Vy jste tu navrhoval v noci "vybíjet".
No, a to jsme zase u zmeny mysleni... a samozrejme tradicni "energetik" zvykly na svych 5x 200MW v jednom arealu vas bude presvedcovat, ze jinak to preci nejde.
Energetik bude nejspíš technicky založený člověk, zvyklý řídit se fakty. Když mu ukážete, že to jinak jde, a dokážete vyvrátit jeho námitky, tak je dost pravděpodobné, že s Vámi začne souhlasit. Tak to zkuste, udělejte aspoň přibližnou realistickou analýzu alternativní energetiky. Jaká je spotřeba, jak se zvýší elektrifikací dalších odvětví a sníží úsporami? Jak je spotřeba rozložená v čase? Jaké zdroje přichází v úvahu, v jakém poměru? Co je dispozici a co se musí nově postavit? Kolik to bude stát a jak dlouho to bude trvat? Jak je výroba rozložená v čase a jak budete vyrovnávat výrobu a spotřebu, aby síť fungovala 24/7? To vše konkrétně, v číslech a v měřítku desítek až stovek TWh ročně.
Ano, navrhoval jsem v noci vybijet - a nabijet pres den tim, co z tech solaru mate problem udat - tu druhou cast jste demagogicky preskocil ;-) Vyroba z tech solaru se jen tak mimochodem predikuje pri dnesnich technickych moznostech vcelku dobre. Jen ti experti z hnedouhelne kotelny tyhle veci neznaji, zejo.
Neni potreba znovu vynalezat kolo - tohle je historicky proslapnuta cesta. Mensi lokalni zdroje se resi snaz, nez dve velke elektrarny, od kterych resite distribuci. Proc nemit vice mensich vodnich elektraren a temi vykryvat mistni spotrebu? Proc nemit vice solaru na strechach resici to same? Predsudky kotelniku stoji na te domele nepredikovatelnosti - ale uz to samo o sobe je obycejny FUD.
Doporučuji například tuhle přednášku - předesílám, že od docenta vyučujícího fyziku na VŠ - kde jsou ty horem dolem tlačené "zelené" alternativy včetně celého greendealového šílenství krásně konfrontovány s realitou: https://www.youtube.com/watch?v=tBXDDPKB9Jw
Je to veskrze prosté a stačí k tomu docela jednoduchá matematika, avšak někteří budou ochotni donekonečna tvrdit, jak se spása lidstva ukrývá ve FVE a větrníkách.
Mnoho lidi jednoduse odmita nove/jine postupy.
V technice se tomu říká inženýrský konzervatismus. Jiné obory, např medicína, jsou v tomto ohledu ještě mnohem konzervativnější.
Odpovězte si sám - vy byste snad dopustil, aby se vám na operačním sále v útrobách místo doktora medicíny hrabal někdo, kdo o medicíně neví zhola nic, ale zato má jasno v tom, že by vás určitě odoperoval moderněji a lépe?
Nech ho, on za to nemůže a nemocným se nemáme smát. Švára má stejnou diagnózu.
U toho se to projevuje tak, že ho strašně vytáčelo, že mu děcka nezhasínaly 5W LEDku v koupelně. Takže při rekonstrukci bytu koupil 2x větší rozvaděč, hodil tam 24V zdroj, PLC s expanzníma modulama, 20 stykačů, ke každým dveřím UTP s tlačítkem, v rozvaděči pro každý světlo stykač za 600 se spotřebou 2W. A tři dny práce týpka, co to programoval...
Celá tahle sranda ho prý vyšla na 60 litrů. Žere to trvale 45W (= cca 395kWh/rok) , ke každýmu zapnutýmu světlu navíc 2W když svítí. Ale má možnost kdykoliv z mobilu zhasnout 5W žárovku, která by jinak sežrala celých 0.04 kWh za osm hodin meziodchodem děcek do škole a jeho příchodem. A to se mu přece vyplatí...
"Co se týká příkonu, chtěl bych vidět stroj"
Takovej stroj neexistuje. Navic dodavatele HW davaji support uz 10let. Duvod je prosty, vyvoj veskery zadny a tlak zakazniku na zbytecne obmeny HW ktere jim nic neprinasi.
"Jasně. A teď tu o Karkulce."
Hele ale tech lidi ktery stejne jako danny nezvladaji 1+1 je tu par desitek tisic zcela jiste. Zrovna nedavno sem se jednomu vysmal ... poridil si solary ze prej usetri. Stalo to cca 1/2M a pulku dostal nejakou dotaci. Ale i kdyz budu pocitat jen tu pulku, tak na nule bude nekdy za 20let. Teda za predpokladu, ze elektrina bude stat porad stejne a ze mu to za rok cely neshori.
Jenze ony ty panely 20let neprezijou. Vsechny ty na tech dotovanych polich jsou uz mozna i nekolikrat vymeneny. Kdyz dostavas 17Kc/kW tak se to muze i vyplatit menit ...
Když se podíváte na bazary, tak můžete najít velké množství solárních panelů 10 a více let starých. Prodávají se za pár stovek, ale jsou stále funkční. Důvod proč se prodávají a tedy mění, není nefunkčnost, ale to že stejně velké panely mají dnes 3-4x větší výkon. Takže panely těch 20 let rozhodně ve velké většině vydrží.
Chápu dobře, že se postaví elektrárna dimenzovaná tak, že utáhne barák, s návratností 15-20 let. Ale co 5 let chcípnou baterky, co 10 let se mění panely za silnější a ještě se mezi tím kvůli spotřebě průběžně mění za dlouhý prachy stroje za něco s menším odběrem, než na co se dimenzovala ta původní slabá elektrárna...? Whiskey - Tango - Foxtrot?
Zaruka na slusne LFP akumulatory je dnes 10 let zaruky. Predpokladana zivotnost je 15-20let s umernym snizovanim kapacity.
Ke stridacum muzete prikoupit prodlouzenou zaruku v dobe nakupu. Predpokladana zivotnost je 15-20let s umernym snizovanim kapacity.
Poruchovost ocekavam zejmena u stridacu.
Co 10 let se meni panely - to mate odkud? Co 10 let mozna bude menit panely sam na svuj popud protoze budou ucinnejsi,lehci, mozna oboustranne ci si z nich postavite plot nebo fasadu.
Vyrobci deklaruji ze po 25% neklesne vykon pod 80%. Osobne si myslim ze tak realne 20 let.
Panely jsou na cele instalaci uplne nejlevnejsi polozkou. Vyrabi se jak bata cvicky. Mne treba jeden panel vysel jak mesicni vypalne cezu za elektrinu. Dnes uz bych za tu samou cenu (i po inflaci penez) poridil panel o 10% ucinnejsi.
3. 3. 2025, 15:46 editováno autorem komentáře
Ten support na 10 let jim ve finale vydela vic nez prodeje HW. Klasicky hromadkovy hospodareni... jeee, ja usetril na investicich. Super! No jo, ale vedle to zaplatim na sluzbach. Ale to nevadi, to je preci jina hromada penez :D Ve finale je jedno, jestli ty prachy vytahnete z leve nebo prave kapsy, proste je vytahnete...
Jenomze elektrina bude stale drazsi. A EV si tez poridi do 20 let.
Krom toho nezavisly kapotovany generator jako zalozni zdroj energie tez neni levny. A musite ho udrzovat. U solaru je uddzba levna.
17kc/kW nedostava vyjma prvnich solarnich baronu cca 15-20let nikdo. Kde jste na to prisel?
Solary lze vyuzit i jinak. Offload site nebo pokud maji akumulatory tak pro poskytovani sluzeb siti.
Umrtnost panelu je soucast business planu.
Myslite ze vodni elektrarna, parni nebo jaderna nepotrebuje udrzbu? Ze ji neodchazeji komponenty?
> Protoze proc si logickou hodnotu neulozit jako (...) nebo jako 64bit float zejo
Vskutku, proč ne?
No neviem. Viac krat som sa nad tym zamyslal, ale nikdy neskumal do hlbky.
Povedzme ze mam 32bit ARM, CortexM.
V kode nech mam 5 premenne typu bool. Zaberu
A: 5 pamatovych adries (1bit z kazdej adresy, zvysne bity su nevyuzite), berie viac RAM, z pohladu vypoctoveho vykonu bude jedno ci to bude 5x bool, 5x char, alebo int
B: 1 pamatovu adresu, kazda bool premenna bude napamovana na 1bit, setri to ram, ale mapovanie musi riesit procesor, co znizuje vypoctovy vykon
Je aj nejaka C moznost? Ako to je v skutocnosti?
Kterej Cortex konkrétně?
Všechny mají jednu hezkou věc, barrel shifter. Takže klidně do uintu hodím víc bitů a nemusím (na rozdíl třeba od AVR) řešit cyklus s posunem o jeden bit.
Ale pokud bych měl něco většího, řekněme M4, tak ta možnost C je celkem krásná. Jmenuje se Bit Banding. Části RAMky mají stínovou oblast, kde je každý jednotlivý bit vidět jako uint32. Viz např. https://www.st.com/resource/en/reference_manual/rm0090-stm32f405415-stm32f407417-stm32f427437-and-stm32f429439-advanced-armbased-32bit-mcus-stmicroelectronics.pdf kapitola 2.3.3
Ale tohle jsou zrovna věci, kde je fajn vědět, co ten procesor umí a kde jsou slabší místa...
Pokud použiješ C, tak to nemá booleovskou hodnotu. A přeloží se to podle toho, co napíšeš.
Jinak se přeloží
uint32_t a = ...
...
if(a) { .... }
a jinak
uint32_t a = ...
...
if(a & 0x80) { ... }
Ty musíš jako autor programu vědět, jak to budeš ukládat. Jestli máš málo RAMky, problém s nedostatkem FLASH nebo málo výkonu na extra bitový operace. A ideálně bys měl i tušit, co ti železo dovolí za minimální cenu, aby sis třeba nerozkopnul branch predictor rotací o několik bitů v cyklu...
Btw, typ "set" v Pascalu měl něco do sebe...
Pokud me pamet neklame, tak bool v C mame uz od C standardu ISO/IEC 9899:1999, tedy ctvrtstoleti, v podobe klicoveho slova _Bool, a pokud pouzijete std. knihovnu stdbool.h, tak mame i makro bool a hodnoty true a false (kap. 7.16). True a false maji hodnotu 1 ci 0, a tedy maji defaultni typ int. Ovsem s velikosti objektu typu _Bool je to jinak - v C99 neni velikost typu definovana, nicmene musi splnovat dva pozadavky standardu: A. Objekt typu _Bool musi byt tak velky, aby se do nej daly ulozit hodnoty 0 nebo 1 (kap. 6.2.5), a B. Objekt musi byt adresovatelny, pricemz nejmensi adresovatelny objekt v c je typu char. Povetsinou se kompilatory k _Bool stavi podobne jako k enum, tj., pokud je rank objektu takovy, ze se vejde do char, pouzije se v zajmu setreni mistem char. (Stejne tak ale mohou existovat kompilatory, ktere bool ukladaji do objektu velikosti int apod., a stale dodrzuji std. C99.)
Otazkou je, jak velky je char. Toto opet C99 nespecifikuje (implementation defined, cti kap. 6.2.6), pouze stanovuje, ze char musi mit alespon 8 bitu (makro CHAR_BIT v limits.h). Nastesti dnes v 99.999 % pripadu velikost char = byte.
No a pak tu mame vyjimku v podobe bitoveho pole, takze treba pro tri promenne typu bool muzete stvorit toto:
struct {
bool x : 1; // bit 0
bool y : 1; // bit 1
bool z : 1; // bit 2
} flags;
Kolik mista zabere objekt flags je opet implementation defined, ale typicky to dopada tak, ze x, y, z lezi na bitove pozici uvedene v komentari a flags se vejde do char. Kdyz se potom podivate na praci s temito bitovymi poli (log. operace apod.), tak prevazuji instrukce typu 'test' (~and) s konstantou v operacnim kodu/jmp a vysledky operaci se natahuji take jako konstanty v opkodu, posuvy se v podstate nepouzivaji (samozrejme zalezi na ISA).
Treba toto:
return flags.x && flags.y;
dopadne v gcc bez optimalizace takto:
movzx eax, BYTE PTR flags[rip]
and eax, 1
test al, al
je .L2
movzx eax, BYTE PTR flags[rip]
and eax, 2
test al, al
je .L2
mov eax, 1
jmp .L4
.L2:
mov eax, 0
(a ARM pouziva taky and) a s optimalizaci -Os pak takto:
.
mov al, BYTE PTR flags[rip]
and eax, 3
cmp al, 3
sete al
movzx eax, al
No a pak tu mame standard C23, ktery nahrazuje makra true a false klicovymi slovy true a false.
Uprimne, tam, kde jsem, C23 zatim nesmime pouzivat (pouzivame typ. C11, sporadicky C17), resp. asi by to nejak slo, ale nebylo by to jednoduche.
Nicmene co vidim jako problem, je stdbool.h. V C23 je "deprecated", takze tam to nepouzijete. Po naslednem posunu smerem k nizsim verzim bude ale stdbool chybet, resp. budou chybet bool, true a false. Resi se to tak, ze uz pri psani C23 kodu se include stdbool dava do #if/#endif, kde v podmince makra je symbol z prikazoveho radku kompilatoru, a ten se zase nastavuje v make/cmake/cokoliv jineho podle volby standardu. Videl jsem i varianty s testem na verzi kompilatoru v podmince, ale to je cesta do pekel.
Posun z Cxx -> C23 taky nebude jednoduchy, protoze ve starsim kodu bude include stdbool.
Praxi, kterou mj. z vyse uvedenych duvodu aktualne razim, je misto bool pouzivat chytre nazvanou promennou o delce <= sirka registru pouziteho hw (takze typicky uint..., pro vetsi portabilitu int nebo dokonce uint8_t). Pameti mame povetsinou dostatek a treba ten priklad s bitovymi poli bych pred auditorem obhajovat moc nechtel, prestoze je to pri optimalizaci ve vyslednem kodu efektivni.
Ony ty booleovský hodnoty v C obecně jsou pěkně na pytel. Hlavně proto, že nejsou vůbec některý věci jednoznačně definovány. Třeba u té struktury, jak se skládá do bytu několik menších polí, je zakopaný jezevčík v tom, že standard nečíká, kde je LSB a kde MSB. A zakopaný pudlík v tom, že pokud v GCC nedám __attribute__((packed)), tak na ARMech normálně háže enumy jako int32...
Samotný bool v tom jazyku není, aspoň ne v běžně používaných verzích. Takže se běžně dodefinovává stylem
typedef enum {
FLASE = 0,
TRUE = !false,
} bool_t
No a pak to nějaký blbec i začne používat, stylem
uint32_t x = 0;
...
bool_t a = x < 5000;
...
if( a == TRUE ) {...}
a je vymalováno... Tři chyby a když se to schová někde v kódu, je o zábavu na pár hodin postaráno.
Nerozumim vasemu tvrzeni, ze bool v C neni. Norma ISO/IEC 9899:1999 a nasledujici tvrdi jiz dvacet sest let neco jineho, viz kapitoly 6.2.5, 6.3.1.2, 7.16, 7.1.2 aj., a slusne kompilatory prebiraji normy bez extremnich zpozdeni.
Je smutne, ze nekdo po ctvrtstoleti stale kasle na normu a pacha neco takoveho, co uvadite vyse, ale predpokladam, ze mu to nekdo pri prvnim review hodil na hlavu.
Mimochodem, docela by me zajimalo, co dalsiho mel ten priklad jeste krome nekolika syntaktickych chyb&typos demonstrovat, protoze striktne vzato, v uvadenem undefined behavior neni a cele to mohl byt fikany zamer. Ale to je proste C.
Abych se vrátil k tématu článku, tohle mi připadá podobné, jako problémy na které jsem narazil s VHDL. Ten jazyk také existuje v různých verzích. V novějších se sice některé věci píší lépe, ale některé jejich vlastnosti vývojové prostředí nepodporuje. Anebo je sice umí pro syntézu, ale ne v simulaci, nebo naopak.
A pak najednou clovek narazi treba na DSP TMS32C..., ktery je plne 32bitovy !
I tam samozrejmne plati C-kove ze:
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long),
akorat tady jsou vsechny predesle
sizeof()
rovny 1, coz je ale 32 bitu!!!
Takze kdyz si do promenne typu char ulozite 0x12345678, tak to tam opet najdete ;-)
Fakt? A to by clovek cekal ze to vi ... mno na tech vytvorech je videt, ze nejen ze nevi, ale ani o tom nikdy ani vterinu nepremyslel (jsou vyjimky, ale moc jich neni)
Programovacie jazyky nie sú definované pre fyzický hardvér ale pre abstraktný stroj. Hardvér je až o poschodie nižšie. Často o viac poschodí. Aj keď je fakt, že niektoré časti špecifikácií berú do úvahy aj hardvérové aspekty. Ale aj bez týchto znalostí sa dá dostať dostatočne ďaleko. A nie je vôbec nutné, aby tieto veci vedel v rámci kolektívu úplne každý.
Pokud se nejedná jen o programování na okouzlení vedoucího nebo slečny, kdy díky obrovskému přebytky výkonu a velmi kvalitně programátory s hlubokou znalostí CPU naprogramovaným knihovnám a třeba i herních frameworků, opravdu stačí jen trochu kódu poslepovat, tak podle mě nelze rozsáhlejší aplikace nebo aplikace, kde je pro použitelnost nutné správně využít dostupnou energii, programovat.
Kritická je minimalizovat algoritmickou komplexita, k tomu je potřeba volit vhodné datové struktury, programovací jazyky atd. a pak je nutné uvažovat nad přístupovými vzory do paměti, podle mě i při programování v Pythonu nebo Javascriptu. Takže What Every Programmer Should Know About Memory by Ulrich Drepper. A opravdu to interpretuji doslovně "každý programátor", když nepočítám ty podvodníky, kteří chtějí jen shrábnout odměnu.
Dále již naráží vývoj na křemíku na strop s frekvencemi a tak je nyní paralelizmus. Zde je potřeba znát alespoň nějaké základy, u demanding aplikací jako je třeba DNS server pak ne jen ty, ale i dokázat využívat RCU a další... Hledejte články ke Konot DNS a resolveru... a pak tedy doporučuji pečlivě pročíst Is Parallel Programming Hard, And, If So, What Can You Do About It? by Paul E. McKenney.
Pokud pak jde o multimedia, věděcké počítání, vývoj kompilátorů a nebo o nasazení na serverech, kde ušetření jednoho procenta z počtu nasazených strojů znamená miliónové položky, tak má smysl optimalizovat kód a porozumět možnostem daného čipu ještě více, takže Software optimization resources by Agner Fog.
Zkuste se do těchto odkazovaných materiálů začíst a celkem rád se pak dozvím, jestli bylo jejich čtení a praktické využití možné bez trochu bližší znalostí procesorů. Pokud zjistíte, že vám ne vše je jasné, tak si projděte třeba naše kurzy odkazované z https://comparch.edu.cvut.cz/ a začtěte se znova do odkazovaných materiálů. Budu velmi rád, pokud pak poskytnete zpětnou vazbu jak situaci vidíte po těchto exkurzech. Přitom i naše pokročilé architektury počítačů končí většinou technikami, které byly pro superskalární procesory vymyšlené v devadesátých letech. Základní kurz pak odpovídá začátkům osmdesátých let.
Mne naozaj nemusíte vysvetľovať ako funguje pamäť, čo je to medzipamäť, po akých kvantách sa sprístupňujú dáta, aký vplyv má NUMA, atď. Rozhodne si ale nemyslím, že to musí vedieť každý a že keď to niekto nevie, nie je programátor.
Dá sa to povedať aj tak, že v súčasnom svete sa môžete/musíte rozhodnúť, či si vyberiete abstrakcie, ktoré vyhovujú prirodzenému spôsobu uvažovania alebo abstrakcie, ktoré vyhovujú platforme, pre ktorú píšete kód.
Keď sa rozhodnete pre to prvé, nechávate síce značnú časť výkonu nevyužitú, ale máte šancu, že dokončíte projekt a bude mu rozumieť väčšie množstvo ľudí ako v tom druhom prípade. Pritom výkonnosť riešení písaných druhým spôsob často nie je bezpodmienečne nutná.
Je ale samozrejme dobré, že ste to tu rozpísali a uviedli aj študijné materiály, aby sa s tým pohľadom zo strany čo najvyššieho využitia hardvéru mohli oboznámiť aj tí, ktorí sa tým ešte nestretli.
Predpokladám, že to nebolo písané len kvôli mne, veď nakoniec tieto diskusie nie sú/nemajú byť iba bilaterálne.
> Fakt? A to by clovek cekal ze to vi
Sorry jako, není rok 1976, dneska běžnému procesoru v detailu nerozumí ani odborníci, viz potomci spectre&meltdown. Jako jo, je hezký vědět, jak procesor funguje, ale zkus to aplikovat třeba v pythonu... Hradlo sem, hradlo tam, nad železem je operační systém, virtuální stroj pythonu a bajtkód. Programátor může být prase i přesto (anebo právě proto [1]), že ví, jak funguje procesor.
PS: licenčně (např. pro školy) může být zajímavé duo minetest [2]+mesecons - na rozdíl od pohledu minecraftu (analog+komparátor) mesecons pracuje s logickými hodnotami a logickými hradly.
[1]: předčasné optimalizace a neschopnost se zaměřit na skutečný problém - z takového člověka těžko vyleze něco dobrého...
[2]: dneska se to jmenuje Luanti, ale ne všichni přijali tuhle změnu dobře...
To ja vim ze dneska tomu drtiva vetsina matlalu nejen nerozumi, ale ani o tom nic netusi. A pak to vypada tak, ze jedna vyplata pro jednoho cloveka se na HW za 10M pocita 10 minut. A kdyz ma firma 10k zamestnancu, tak si prej ma posunout vyplatni termin ... nejlip tak o 2 mesice ...
A nebo si najme jednu pouzitelmnou mzdovou, ta to za tyden spocita v ruce.
No tak kdyz ten ucetni software je ze "zlatych casu FoxBase (pozdeji FoxPro)", tak ten vypocet logicky dlouho trva :-) Zrovna mzdove vypocty jde velmi dobre paralelizovat - ovsem to by ten software musel umet efektivne vyuzit hardware a nesmeli by to psat matlove z devadesatek, co vic nez jedno vlakno nezvladnou ;-)
No, u DBF to s temi implementacemi moc nezachranite ani IDX/CDX... :-) Vsak je to 42 let stary format, na svou dobu byl fajn, ale je uz davno prekonanej, zejo... Btw. ty IDX navic se musely otevirat rucne (musel na to vyvojar myslet). Ve finale v ramci ruznych "workaroundu" v tech bastlo-aplikacich je dodnes videt vselimozne "reindexovani", zvlast kdyz si ta vec neni jista integritou indexu - coz s IDX se delo bezne, kdyz se do DBF zapsalo pri zavrenem IDX...
V korporátu jsem zažil kolegu z Indie, co z hlavy nevěděl, kolik bitů má Byte. Psal firmware pro AVR. Ale co funkce, to vtip. Namátkově:
uint8_t byteToHex(uint8_t byte) {
uint8_t result = 0x00;
switch(byte) {
case 0:
result = 0x00;
break;
case 1:
result = 0x01;
break;
....
case 255:
result = 0xff;
break;
default:
result = 0x00;
break;
};
return result;
}
No ale to jsem trochu odbočil. Ono není potřeba, aby řidič věděl, jak funguje auto a že zrovna tahle hadička je od klimy. Ale pokud neví, při jakých otáčkách má nejvyšší krouťák, kde mu spadne spotřeba, kdy je optimální řadit a podobně, tak nikdy nevyužije auto optimálně a s velkou pravděpodobností mu akorát zkrátí životnost.
A programátor by měl vědět tím víc, cím víc se blíží k HW, nebo čím větší výkon aplikace požaduje. U "hello, word" je to obvykle jedno, ale ve chvíli, kdy řeší, jestli režie při zamykání sežere víc výkonu, než připojení dalšího fyzickýho jádra.
Jenom když se člověk podívá na blbý RAMky, tak ty se čtou po burstech, třeba 16x64b. Když data třídy zoptimalizuju do nich, tak komplet třídu dostanu na jeden cyklus paměti. Když dám blbý alignment, tak s třídou přelezu mezi dva bloky a sice (formálně) ušetřím RAMku, ale pak mám problém s rychlostí, protože se to tahá na 2x a ještě to může kolidovat s velikostí stránku v cache. A zrovna struktura RAMky proleze až do nejvyššího levelu...
Kdyz zminujes ramku ... danny a dalsi patlalove si samozrejme myslej, ze ramky je vsude neomezene, a pak to vypada tak, ze ti jeden zaznam trebas id,hodnota nactou do struktury ktera zabere MB. Sak MB neni zadny cislo zejo ... a jim to stema dvema zaznamama funguje.
Nebo ... chmm ... zaznamy z databaze cte danny tak, ze tam posila 10000x query na tema select top 1 * ... aby si z toho pak vzal jeden sloupec a misto toho aby napsal where a poslal to query jednou. Vysledek je ten, ze nacteni 100 zaznamu do gridu trva dannymu minutu, zatimco ja bridil to zvladnu za milisekundu. A vic zaznamu nacist neumi, protoze mu to lehne na nedostatek ramky, zatimco ja nactu tech zaznamu milion a zadny problem s tim nemam ...
Slibuju díky za příslib seriálu :)
Pochopitelně si dělám legraci, kdy narážím na to, že zatím to byl jen úvod. Ale ve skutečnosti už samozřejmě děkuju teď: za zajímavý projekt a za tu práci s jeho prezentací.
A nedá mi to, abych nevypíchnul jednu větu z článku a zároveň tím nezareagoval (v dobrém) na jednu opakující se otázku tady z diskuse: proč lidi "nevědí" jak funguje počítač? Protože je tam přesně ta díra ve znalostech, co je v článku popsaná: na osmibitech jsem programoval ve strojovém kódu (přímo v RAM) a z druhé strany znám princip hradel a základy práce se sběrnicí apod. Ale přesně ta díra mezi tím, to je ono! A její část dokonce není popsaná ani v jinak skvělých knihách pana Malého, pokud jsem něco nepřehlédl. Třeba jak se teda tehdy dělala instrukční sada? Ta je v tom CPU jako kde? Pak se člověk dozví něco o mikrokódu a řekne si: "hmmm, dobrý, ale tomu věří max. lidi od Z80/Intel, na M6502 to přeci nemohlo být takto, když tam instrukce trvaly dva takty - tak jak?!"
Takže se opravdu moc těším!
Ja len kebyze sa chce niekto skusat hrat s FPGA tak existuje aj zmysluplna varianta aku FPGA dosku kupit a tou je de10-nano na ktorej sa da vyzabavat, ale okrem toho aj rozbehat projekt MiSTer, kde mozete bezat HW varianty starych pocitacov od ZX81 cez ZX Spectrum az po Atari ST a Amigu. Okrem toho stare arcadove hry (tradicne z maringotiek) a starsie herne konzoly ... Ja viem, ze cena tejto dosky vyletela k 300 euram (ja som ju kupoval este hlboko pod 200) ale v poslednom case sa daju kupit cinske klony za prijatelnu cenu. Ja si myslim ze za projekt MiSTer to stoji :-)... Inak sa mi zda ze MiSTer bezi na Verilogu ale nie som si isty ... A na tento serial sa samozrejme tesim, mozno ma nakopne konecne skusit nakodit nejaky ten stary maringotkovy Arcade core do MiSTer-a ... A tu je link na de10-nano: https://rlx.sk/sk/fpga-altera-intel-xilinx-lattice-microchip-cpld-asic/8376-de10-nano-kit-development-kit-terasic-p0496.html
Sa ospravedlnujem za nepatricne vyjadrenie, ... len som chcel citatelov upozornit ze ked budu nahodou uvazovat o kupe FPGA dosky existuje aj nieco take ako je FPGA projekt MiSTer... Samozrejme ze cely projekt MiSTer s doskou de10-nano s FPGA Cyclone V je v uplne inej cenovej hladine. Na projekt MiSTer je totiz este potrebne dokupit dalsie dve dosky a staticku RAM, cize celkovo to vyjde ovela viac.
Ale napriek tomu ked sa pozriete na klon de10-nano od QMTECH tak sa cenovo velmi blizi k spominanym 3000 CzK a moznosti Cyclone V su v inej lige. (Dokonca som cital ze by sa tam mohla zmestit aj MC 68030 s koprocesorom, cize eventualne by sa dalo postavit Atari TT alebo Atari Falcon.... Ale tu si skor myslim ze treba pockat na de25 board a niekoho velmi namotivovaneho, ktory by to vo volnom case napisal)
Ten popis toho, co je VHDL, se mi moc nelíbí. Tyhle jazyky (my jsme na škole programovali FPGA ve Verilogu, ale je to skoro stejné) jsou zvláštní tím, že umožňují fungovat na mnoha úrovních najednou.
Část obvodu můžete popsat tím, co tam je a jak je to propojené. Jinou část popíšete pomocí funkcí a časování. Ještě jinou část zadáte jako stavový automat. O překlad těhle věcí na "hardware" se stará velice komplexní software, jehož součástí je obrovská knihovna popisující různý HW. Není to překlad jako u klasických jazyků, je to syntéza a jejím výsledkem je návod pro konfiguraci pro konkrétní FPGA nebo podklady pro jiný SW, který podle toho zpracuje návrh skutečného obvodu.
A pak je ještě další úroveň, že je to vlastně programovací jazyk. Má to smyčky, podmínky, funkce, proměnné. Vy si nadefinujete nějakou část obvodu a pak ji můžete opakovaně použít. Například si uděláte sčítačku na 4 bity a tu si nasekáte kam potřebujete, klidně ve smyčce. Překladač tenhle kód vykoná tak, aby získal výsledný celý obvod. A ten syntetizuje. A začátečníkům to podráží nohy tím, že část programu je sekvenční, ale výsledek je paralelní (ve smyslu ve smyčce to natáhlo 32 drátů mezi hradly/LUT/apod., ale ty už pak fungují všechny najednou).
Něco jako assembler + C + python + bash v jednom. Hodně lidí to z počátku mátlo, protože nevěděli jak začít. Ty jazyky vám dávají obrovskou volnost a vše se dá dělat mnoha různými způsoby a na jiných úrovních abstrakce. Ale také za to platíte tím, že musíte vědět, jak něco dělat a jak ne - protože fakt, že něco jde, neznamená, že je to tak dobře. I malá kosmetická změna může ve výsledku znamenat, že potřebujete větší FPGA. Respektive se vám prodraží výroba a i pár centů je znát, když to pak vyrábíte v sériích po milionech.
Důležité je se těch jazyků nebát. Experimentovat a simulovat. Zažijete mraky "aha momentů". A zábavy. Pro hračičky nutnost! Ale je lepší na to nebýt sám, protože tohle je hodně o snaze porozumět. A to se dělá nejlépe tak, že se to snažíte někomu vysvětlit.
Ten popis toho, co je VHDL, se mi moc nelíbí.
Já se chci soustředit na návrh CPU, nemám v úmyslu psát další tutoriál VHDL. Proto jsem se o něm v prvním dílu zmínil jen stručně a něco málo víc bude příště. Chtěl jsem je vypíchnout to, že kód ve VHDL nepopisuje algoritmus, ale zapojení obvodu.
A pak je ještě další úroveň, že je to vlastně programovací jazyk. Má to smyčky, podmínky, funkce, proměnné. Vy si nadefinujete nějakou část obvodu a pak ji můžete opakovaně použít.
Není to programování ve smyslu, že by ty smyčky, podmínky... vykonával výsledný obvod. Vyhodnotí se jednou při syntéze a podle výsledku se nakonfiguruje FPGA, Pro jednoduchost pomíjím simulace, kde se kód opravdu vykonává.
Chápu. Co jsem chtěl napsat já je, že VHDL nepopisuje nutně zapojení obvodu. Klidně v něm napiště algoritmus. Pokud použijete správné konstrukce (a knihovny), tak vám to dá očekávaný výsledek. Kupříkladu si můžete signály definovat pomocí výrazů: "X <= A when S = '1' else B;"
Syntéza se pak sama postará o to, aby navrhla nějaký HW, který tohle bude realizovat. V zásadě tak nemusíte vědět nic o věcech jako jsou komparátory, jak pospojovat D obvody apod. S tímhle si v zásadě hrají jen studenti a autoři knihoven.
Právě to, že můžete použít různé úrovně abstrakce a ty spolu míchat v jednom kódu, je pro tyhle jazyky specifické. CPU si v tom napíšete i v případě, že o obvodech moc nevíte. Zapojí je to za vás.
Také jsem si s tím hrál. Projekty typu programátor MCU, generátor VGA, či emulátor 6502. Nejvíce mě na tom rozladila ta nutnost si to jejich IDE (zde zmiňovaný Qurtus) stáhnout ve verzi, která dané FPGA ještě podporuje. Pak jsem objevil projekt yosis, což je open source syntetizér, který tuto nepříjemnou vlastnost privátních sad pro FPGA dobře odstraňuje.
Každopádně v dnešní době syntetizovat nějaké CPU pro jiné, než edukativni účely moc smysl nemá. Musí se vždy jednat o nějakou speciální aplikaci. Takže mám doma několik xilinxů, latticú i Atmelú bez využití.
Každopádně v dnešní době syntetizovat nějaké CPU pro jiné, než edukativni účely moc smysl nemá.
Proč myslíte, resp. jak jste na to přišel? Pokud z jakéhokoli důvodu nemůžete/nechcete sáhnout po sériově produkovaném CPU, máte v zásadě 3 možnosti: vlastní chip, který si necháte vyrobit v nějaké fabrice, nebo FPGA s vypálenou konfigurací dle vašich podkladů přímo od výrobce, nebo FPGA použité standardním způsobem. Řešení škálujete podle zamýšlené produkce od kusovek až po stovky u třetí možnosti, přes tisíce k desítkám tisíců u druhé možnosti, od stovek tisíc výše u první varianty.
A mohu vás ubezpečit, že je spousta aplikací, jež ze své podstaty vyžadují nějaký procesor, ale místo univerzální sériovky tam najdete tajemný integráč, z jehož označení nebudete schopen nic bližšího zjistit, leda firmu objednatele, hrdě vyhlížející, jako by se jednalo o jeho výrobce, ve skutečnosti nějaký ASIC na bázi sériového FPGA. Může to být nějaký SoC, který si chtěli ušít přesně pro své potřeby okolo nějakého běžného jádra (velmi populární dodnes je např. ARM7TDMI), ale taky to může být nějaký proprietární procesor. Setkal jsem se s obojím.
Pokud nekdo chce 'levne FPGA z aliexpresu' misto FPGA s 6K LUT za 3000 tak jedna moznost je Tang Nano 20k kolem 30-40 eur (nebo 9k,4k,1k za nizsi cenu)
zajimave projekty ktere to pouzivaji
https://github.com/harbaum/MiSTeryNano
https://github.com/vossstef/tang_nano_20k_c64
https://github.com/steve-m/hsdaoh
vyvojove prostredi nema gigabajty a je i uplne opensource varianta https://github.com/YosysHQ/apicula
na profi vyvoj to mozna neni ale na bastleni dobry