Dator- och nätverksteknik · område 3 · lektion 9 och 10
Minnet och de binära talen
RAM-minnet är den enda delen i datorn som glömmer allt när strömmen bryts. Den här sidan förklarar varför — och lär dig räkna i det talsystem minnet själv använder.
Då är det här sidan att läsa. Avsnitt 1 till 3 är lektion 9, avsnitt 4 och 5 är lektion 10. Noderna i avsnitt 6 kan du göra själv, i din egen takt.
1. Minnet som glömmer
Varje bit i RAM-minnet är en liten kondensator — en behållare för elektrisk laddning. Är den laddad läses den som en etta, är den tom som en nolla.
Problemet är att laddningen läcker ur sig. Inte på timmar, utan på millisekunder. Lämnad ensam skulle varje etta i minnet sjunka mot noll och bli en nolla.
Lösningen heter refresh: minnesstyrenheten sveper igenom minnet rad för rad och laddar om varje cell innan den hinner blekna. Riktig DRAM gör det ungefär var 64:e millisekund — tusentals gånger i sekunden, hela tiden datorn är på.
Det är därför RAM kallas flyktigt minne. Stängs strömmen av stannar omladdningen, laddningen läcker ut, och allt innehåll är borta. Inte raderat — bara utrunnet.
Gå till ComputerExplorer → ram → dram-refresh. Stäng av refresh och vänta. Cellerna bleknar en efter en och räknaren Förlorade bitar tickar uppåt. Slå på den igen, skriv om data, och skruva sedan upp Läckagetakt tills minnet tappar data trots att refresh är på.
Flyktigt betyder inte trasigt. Det är konstruktionen, inte en defekt. Snabbheten är priset man betalar med glömskan — och på lektion 11 möter du två enheter som gjort motsatt val.
2. Adressen och de två bussarna
Minnet är inte en hög. Det är numrerade platser, och varje plats har ett eget nummer — sin adress.
Poängen är att processorn inte letar. Den pekar. Ska den läsa något lägger den adressen på adressbussen, och minnet svarar med innehållet på databussen.
| Buss | Bär | Riktning |
|---|---|---|
| Adressbussen | vilken plats det gäller | från processorn till minnet |
| Databussen | vad som står där | åt båda hållen |
En buss är samma sorts sak som PCIe och SATA från område 2 — en uppsättning ledningar som binder ihop två delar. Skillnaden är att de här ligger inuti, mellan processorn och minnet.
Att varje plats har ett eget nummer är hela anledningen till att RAM heter Random Access Memory: vilken adress som helst kan nås direkt, i valfri ordning, med ungefär samma hastighet.
Adressen är var. Värdet är vad. I noden Adressjakten ställs båda frågorna om vartannat, och det är den vanligaste förväxlingen i hela området.
3. Faktorn åtta
En byte är åtta bitar. Alltid. Prefixen är desamma som överallt annars: kilo, mega, giga, tera.
- Lagring och minne mäts i byte — GB, MB.
- Hastighet mäts i bit per sekund — Mbit/s, ofta skrivet Mbps.
Därför skiljer en gigabyte och en gigabit med faktorn åtta:
100 Mbit/s ÷ 8 = 12,5 MB/s
Du mäter i MB/s. Tillverkaren anger ofta Mbit/s. Blandas de ihop blir ditt resultat fel med en faktor åtta — och det är det vanligaste felet i hela labben.
4. Räkna binärt
Binärt använder bara två tecken, 0 och 1. Varje position har ett värde, och positionerna dubblas åt vänster:
128 64 32 16 8 4 2 1
Binärt till decimalt: summera positionerna som är ettor
128 64 32 16 8 4 2 1
1 0 1 0 0 1 1 0
128 + 0 + 32 + 0 + 0 + 4 + 2 + 0 = 166
Decimalt till binärt: börja från 128 och fråga "får det plats?"
Talet 200:
| Position | Får det plats? | Kvar |
|---|---|---|
| 128 | Ja → 1 | 72 |
| 64 | Ja → 1 | 8 |
| 32 | Nej → 0 | 8 |
| 16 | Nej → 0 | 8 |
| 8 | Ja → 1 | 0 |
| 4 | Nej → 0 | 0 |
| 2 | Nej → 0 | 0 |
| 1 | Nej → 0 | 0 |
Svaret är 11001000. Kontrollen: 128 + 64 + 8 = 200.
Börja alltid från det största talet och arbeta neråt. Den som börjar från 1 och räknar uppåt fastnar.
Åtta bitar rymmer talen 0 till 255. Det är 256 olika värden, inte 255 — nollan räknas med. Alla åtta bitar satta till 1 ger 255, det största ett byte rymmer.
5. Hex, kort
Noderna i avsnitt 6 visar adresser hexadecimalt. Hex är bara ett annat sätt att skriva samma tal: vi räknar 0 till 9 som vanligt, och när siffrorna tar slut fortsätter vi med bokstäver.
0 1 2 3 4 5 6 7 8 9 A B C D E F
A är 10, B är 11, C är 12, D är 13, E är 14 och F är 15. Ett tecken räcker alltså till sexton värden i stället för tio. Står det 0x framför betyder det bara "det här är hex".
Hex ingår inte i det du prövas på — det är där för att noderna använder det. Fastnar du, håll dig till adresserna 0 till 9 tills mekaniken sitter.
6. Noderna att öva i
Du hittar dem genom att klicka dig fram i Computer Explorer, i den ordning som står här:
| Vägen dit | Heter | Vad du ska se |
|---|---|---|
| ComputerExplorer → ram → dram-refresh | DRAM-uppdatering | Stäng av refresh och se minnet rinna ut |
| ComputerExplorer → ram → address-game | Adressjakten | Skilj frågan om platsen från frågan om innehållet |
| ComputerExplorer → ram → read-write-viz | RAM: 16 BYTE | Slå på Långsamt läge. Adressen läggs ut först, data sedan |
| ComputerExplorer → binary → counter | Binär räknare | Kryssa i Visa bitvärden — då står positionsraden under varje bit |
| ComputerExplorer → binary → arithmetic | Binär addition | Carryn som ripplar genom flera positioner |
ComputerExplorer → ram → stack-viz visar hur ett program använder minnet, och ComputerExplorer → binary → race-game tränar omvandlingen på tid. Ingetdera ingår i området — de är där om du vill.
7. Ordlista
Ordträning
| Ord | Betyder |
|---|---|
| RAM | Random Access Memory. Arbetsminnet, där vilken adress som helst nås lika snabbt i valfri ordning |
| Flyktigt minne | Minne som tappar sitt innehåll när strömmen bryts |
| Kondensator | Behållare för elektrisk laddning. En per bit i RAM-minnet |
| Refresh | Omladdningen av varje minnesrad, ungefär var 64:e millisekund, så att laddningen inte hinner läcka ut |
| Adress | Numret på en enskild plats i minnet. Talar om var, inte vad |
| Adressbuss | Ledningarna som bär adressen från processorn till minnet |
| Databuss | Ledningarna som bär själva innehållet, åt båda hållen |
| Bit | Den minsta enheten. Antingen 0 eller 1 |
| Byte | Åtta bitar. Rymmer talen 0 till 255 |
| Mbit/s | Megabit per sekund. Mäter hastighet. Dela med 8 för att få MB/s |
| Hexadecimalt | Talsystem med sexton tecken: 0–9 och sedan A–F |
| Carry | Minnessiffran som bärs vidare till nästa position vid addition |