FPGA cpu v

Henrik Dalsgager har gravet noget guld op. Her er en kopi af hans posting på linkedin.

https://www.linkedin.com/pulse/begejstret-anmelder-henrik-dalsager-christensen-4arvf/?trackingId=KoiryKzaR5udT5jw4s%2B3hQ%3D%3D

Henrik Dalsagers note

August 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 her

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 her

http://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 her

https://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 her

https://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