THE ONE DECK TO RULE THEM ALL Flashcards
Varför har vi använt nand-grindar för att realisera alla andra grindar?
Om samma insignal läggs på både a och b i nand-grinden fås en notgrind, vilket i sin tur kan användas tillsammans med en nand för att realisera en and-grind, med vilka vi sedan kan realisera samtliga booleska funktioner.
Vilken annan grind än nand skulle vi kunna använda som grund?
Nor
Hur skiljer sig sekventiella kretsar från kombinatoriska?
Sekventiella har en tidsdimention, vilket innebär att den kan använda resultaten från tidigare körningar i nya körningar, dvs den kan minnas.
Vad är skillnaden på RAM och ROM?
RAM (Random Access Memory) är minnen som kan både läsas och skrivas men inte är stabila när strömmen till minneskretsen försvinner.
ROM (Read-Only Memory) är stabila minnen som kan läsas, men inte skrivas.
Vilka uppgifter utför en ALU?
Utföra enkla beräkningar och avgöra logiska utsagor i CPUn.
Vilka uppgifter utför registerna?
CPU:ns register fungerar som små men väldigt snabba minnesplatser där processorn kan spara värden som ALU och programräknaren enkelt kan komma åt.
Vad gör programräknaren?
Den håller koll på vilken instruktion som ska köras i nästa klockcykel. I normalfallet iinkrementeras räknaren efter varje klockcykel, men kan även ges en specifik adress för att hantera hopp i programmet.
Varför går maskinkod som körs på moderna datorer inte att göra på en gammal Commodore 64?
- De två datortyperna har olika långa ord.
- De två datortypernas minnesmodeller är olika.
- De två datortyperna har olika instruktionsset.
- De två datortyperna har olika många register.
Vad kallas den typ av kod som Java kompileras till?
Bytekod
(Java) Vad händer med bytekoden när den körs i JVM:en?
JVM:en komplierar ner bytekoden till maskinkod som kan köras på den aktuella maskinen. Därför måste JVM ha en backend för varje operativsystem och datortyp som den ska stödja.
Varför vill vi som regel inte kompilera direkt från källkod till maskinkod?
För att en direktkompilator för ett språk måste då skrivas för varje enskild datorarkitektur och operativsystem som vi vill stödja med vårt språk. Om vi istället kompilerar ner till ett mellannivåspråk kan flera programmeringsspråk dela på en assembler.
Vad är en d-vippa och vad används den till?
En d-vippa är en digital krets som kan spara en bit. Den används som grundsten i mer avancerade minneskretsar, exempelvis i enkla register.
Hur kan en ALU utföra parallella beräkningar?
Den byggs upp av flera delkretsar som var för sig utför en specifik operation. De matas alla med samma indata och utför därefter sina operationer/beräkningar oberoende av varandra.
Vilken typ av logisk grind används för att välja ut rätt värde av de parallella beräkningarna i en ALU?
En flerbitars-multiplexor.
En dator som exempelvis Commodore 64 har en databussbredd på 8 bitar och en adressbussbredd på 16 bitar. Vad betyder detta?
Det betyder att Commodore 64 hanterar tal som är 8 bitar stora och att den kan hantera en adressrymd på 2^16 (65536) minnesplatser. Detta ger att datorn klarar av att hantera 64kb minne.