DatTek Labb 4 + minnestekniker

Idag hade jag den fjärde och sista labben i DatTek och den var kul med skoj! Och egentligen mycket lätt, förutsatt att en gjort alla förberedelseuppgifter ordentligt ty själva labben gick egentligen bara ut på att kolla att de program en gjort i förberedelseuppgifterna fungerade.
 
Utrustningen vi hade på labben såg ut såhär:
 
 
Betrakta det gröna kortet i bilden ovan som en 2x4-matris. De delar vi använde oss av var 7-segment-displayen i ruta (1,2), lampan i (1,3), flaggan i (1,4) samt den röda knapp-panelen i ruta (2,2). Ett program skulle skriva ut en binär siffra från den röda knapp-panelen som en siffra på 7-segment-displayen. Ett annat program skulle få flaggan att rotera med en justerbar hastighet samt den sista labben skulle omvandla ASCII-koder från den röda panelen till morsekod som lampan skulle blinka. Alla program skulle skrivas i assembler.
 
Nedan är en bild från när jag skrev programmen.
 
 
Kul labb :)
 
Senare på dagen hade jag även föreläsning i DatTek. Då gick vi igenom olika minnestekniker (och nej, inte "minnestekniker" som jag tänkte först - tekniker för en människa att minnas saker - utan olika tekniker för en dator att lagra data på olika effektiva sätt). I större datorer än den enkla "FLISP-processorn" vi använt hittills i denna kurs behövs mer avancerade minnen än de vi haft. Framförallt för att det är minnesläsning som segar ned de flesta datorer idag när de ska köra ett program.
 
 
Det finns tydligen en hel hierarki av olika minnen (synd att jag glömde fotografera den sliden - den var rätt bra!) från "supersnabba men dyra" till "mycket långsamma men extremt billiga". Utan att gå in närmare på dem var hierarkin (om jag minns rätt): register - cache L1 - cache L2 - cache L3 - DRAM - SSD/hårddisk - band.