FPGA cpu vHenrik Dalsgager har gravet noget guld op. Her er en kopi af hans posting på linkedin. Henrik Dalsagers noteAugust 30, 2024 Jeg har fundet noget godt på internettet! Jeg har tænkt i årevis på om jeg skulle gå igang med at oversætte alt det jeg ved om computere, til noget let forståeligt materiale. Så man kunne blive hjulpet til at forstå, hvordan “det der jeg laver til dagligt”, egentlig virker, og hvorfor det ikke er sort magi, men bare er lag-på-lag af små seje tricks. Mens jeg har gået og drømt, er der nogen der har sat sig ned og rent faktisk lavet det! - og de har gjort det bedre end jeg kunne - med den eneste fejl at det er på engelsk. Så hvis du gerne vil vide hvordan en computer virker, men ikke vil bruge 2-3 semestre på universitetet på at læse elektronik og software, er der en videokanal her på youtube, jeg er nødt til at anbefale. https://www.youtube.com/@CoreDumpped Jeg har set det hele, og vil helt sikkert bruge den i forbindelse med Engineer the Future, da det her materiale både er en forsimpling, så de fleste kan være med, men indholdet er rent faktisk, sådanset rimelig rigtigt. Videoerne går hurtigt, men jeg ville godt nok gerne have haft det her som intromateriale, før jeg i sin tid begyndte at læse de store bøger om transistorer og mikrocomputerarkitektur etc. Her er den rækkefølge jeg ville vælge at se dem i: Start herJeg har set det hele, og vil helt sikkert bruge den i forbindelse med Engineer the Future, da det her materiale både er en forsimpling, så de fleste kan være med, men indholdet er rent faktisk, sådanset rimelig rigtigt. Videoerne går hurtigt, men jeg ville godt nok gerne have haft det her som intromateriale, før jeg i sin tid begyndte at læse de store bøger om transistorer og mikrocomputerarkitektur etc. Her er den rækkefølge jeg ville vælge at se dem i: Start herhttp://www.youtube.com/watch?v=HjneAhCy2N4 Den her tager dig igennem hvordan en transistor opfører sig, så man kan bruge transistorer som små switche. Den fortsætter med at vise hvordan man kan kombinere de små switches til “gates” - der er små kredsløb som laver kombinatorisk booleans logik, typisk på 2 bit signaler. Gates kan kombineres til at lave mere komplekse booleanske komponenter Derefter viser han hvordan man kan kombinere gates, til at lave matematik når man har binære tal som består af flere bits. INCIMG en forsimplet ALU (beregingsenheden i en CPU videoen afslutter med at forklare hvordan man bygger en beregningsenhed der kan lægge sammen, trække fra, etc, og hvordan man vælger hvilken regneoperation man gerne vil have lavet, og hvordan det hænger sammen med Assembly programmerings sproget. Fortsæt med det herhttps://www.youtube.com/watch?v=rM9BjciBLmg Her gennemgår han hvordan hukommelsen i en CPU kan bygges, så den kan huske på de tal den tidligere har arbejdet med. Her går vi fra gates, til kredsløb der kan huske på en bit - indtil det bliver bedt om at glemme det igen, og helt til, henover hvordan man gemmer arrays af bits, der kan addresseres enkeltvist. INCIMG En Flip/Flop kan huske om et bit har været sat eller ikke, og glemme det igen. array af latches, med addresser, så man kan gemme et bestemt bit, et sted. For så til sidste at vise hvordan man kan lave mange af de her kredsløb, og gemme hele tal, ved at gemme hver bit, i hver sin bank, og så adressere alle banke på én gang., INCLIM En hel masse forbunde adresserbare bit arrays Så denne herhttps://www.youtube.com/watch?v=GYlNoAMBY6o Den gennemgår hvordan man henter data ind fra den store programmerbare hukommelse, til CPU'ens interne registre, og derfra laver beregninger på dem, som gemmes i andre registre i CPU'en, og til sidste evt. flyttes tilbage i den store hukommelse igen. Til sidste gives et overblik over hele den nødvendige arkitektur i en CPU Så er vi klar til det med arbejdshukommelse, og programmeringssprog https://www.youtube.com/watch?v=7WnbIeMgWYA Her gennemgår har elegant det med hvordan RAM virker, og så er vi faktisk klar til at lære assembly. https://www.youtube.com/watch?v=Ui6QyzcD3_E&t=304s INCLIMGF og nu er du klædt på til at forstå hvad det er for nogle opgaver en compiler laver (der oversætte programmeringssprog til assembly) - og andre software begreber. god binge-watching! Links |