326 lines
6.6 KiB
Markdown
326 lines
6.6 KiB
Markdown
<link rel="stylesheet" href="./static/main.css"/>
|
|
|
|
<!-- .slide: data-background-color="#283681" -->
|
|
|
|
# ITGK Teori-kurs
|
|
|
|
<img src="./static/graphics/PVV-logo-blue.svg" width=40%/>
|
|
|
|
Note: Introduksjon
|
|
|
|
---
|
|
|
|
## <span class="red">⏺ **OBS:** Opptak</span>
|
|
|
|
Note:
|
|
PVV sin youtube-kanal
|
|
|
|
selv-introduksjon
|
|
|
|
Angående forelesningen
|
|
|
|
---
|
|
|
|
## Generelt
|
|
|
|
Hva er IT
|
|
|
|
Kort Historie
|
|
|
|
---
|
|
|
|
Folk som er viktige
|
|
|
|
Von Neumann
|
|
|
|
---
|
|
|
|
<!-- .slide: data-auto-animate -->
|
|
|
|
### Begreper:
|
|
|
|
<div class="columns">
|
|
<div class="column">
|
|
|
|
- PC <!-- .element: data-id="pc" -->
|
|
- Operativsystem
|
|
- Abstraksjon
|
|
- Transistorer
|
|
- IC
|
|
|
|
</div>
|
|
<div class="column">
|
|
|
|
- Hardware
|
|
- Software
|
|
- Kernel
|
|
- WWW/Internet
|
|
- High level/Low level
|
|
- bit
|
|
|
|
</div>
|
|
</div>
|
|
|
|
Note:
|
|
Operativsystem -> Ressursallokering -> Kernel -> Grafisk brukergrensesnitt
|
|
|
|
----
|
|
|
|
<!-- .slide: data-auto-animate data-transition="zoom-in"-->
|
|
|
|
- PC <!-- .element: data-id="pc" -->
|
|
|
|
---
|
|
|
|
- bit <!-- .element: data-id="2" -->
|
|
|
|
<div class="columns">
|
|
<div class="column">
|
|
|
|
| Enhet | Størrelse |
|
|
|------------|-------------------|
|
|
| byte | 8 bits |
|
|
| kilobyte | \\(1000\\) bytes |
|
|
| megabyte | \\(10^6\\) bytes |
|
|
| gigabyte | \\(10^9\\) bytes |
|
|
| terabyte | \\(10^{12}\\) |
|
|
| petabyte | \\(10^{15}\\) |
|
|
| exabye | \\(10^{18}\\) |
|
|
|
|
</div>
|
|
<div class="column"> <!-- .element: class="fragment" data-fragment-index="1" -->
|
|
|
|
| Enhet | Størrelse |
|
|
|------------|-------------------|
|
|
| byte | 8 bits |
|
|
| kilobyte | \\(1000\\) bytes |
|
|
| megabyte | \\(10^6\\) bytes |
|
|
| gigabyte | \\(10^9\\) bytes |
|
|
| terabyte | \\(10^{12}\\) |
|
|
| petabyte | \\(10^{15}\\) |
|
|
| exabye | \\(10^{18}\\) |
|
|
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
### Datatyper
|
|
|
|
- Integer
|
|
- Character
|
|
- Float
|
|
- Array
|
|
- String
|
|
|
|
Note:
|
|
|
|
char -> ASCII 7b, Extended ASCII 8b, UTF-8
|
|
|
|
Finnes flere, men disse
|
|
|
|
Objekter
|
|
|
|
---
|
|
|
|
Tallsystemer
|
|
|
|
Forventet å kunne octal, binær, heksadesimal
|
|
|
|
går tom for siffer
|
|
|
|
delbarhet
|
|
|
|
hexadesimal i 4 binær chunks om gangen
|
|
octal i 3 binær chunks om gangen
|
|
revers
|
|
|
|
Note:
|
|
lurt å trene på
|
|
|
|
brukt ca. 20 min
|
|
|
|
---
|
|
|
|
*Slide med konversjon fra binær til octal og heksadesimal*
|
|
|
|
---
|
|
|
|
Negative tall
|
|
|
|
Signed magnitude
|
|
|
|
bruker første biten
|
|
|
|
0000 = 1000
|
|
kaster bort en plass
|
|
|
|
Løsning: Twos complement:
|
|
|
|
0001 = 1
|
|
0000 = 0
|
|
1111 = -1
|
|
|
|
1000 = MIN_INT
|
|
|
|
Algoritme:
|
|
- finn ut hva minste negative tall er
|
|
- ta resten av bitsene, og konverter til desimal
|
|
- regn ut offsett
|
|
|
|
---
|
|
|
|
Flyttall
|
|
|
|
Matematisk tilnærming
|
|
|
|
Signed bit, exponent - 2^?, signifikant?
|
|
|
|
består av 3 biter, kan gi rare utregninger iblant
|
|
|
|
---
|
|
|
|
# Hardware
|
|
|
|
# Datamaskin
|
|
|
|
Består av mange forskjellige biter.
|
|
datamaskin er bare et begrep vi bruker.
|
|
Kan gå galt på veldig mange lag i prosessen.
|
|
Moores law, antall transistorer i en IC dobles hver 2. år.
|
|
|
|
---
|
|
|
|
## Hovedkort (Motherboard)
|
|
Limet som fester alle de andre bitene sammen.
|
|
Inneholder litt logikk for konfigurasjon av alle bitene, men lite ellers.
|
|
|
|
<img src="./static/graphics/motherboard2.png" width="50%"/>
|
|
|
|
https://toppng.com/show_download/226517/motherboard-png-photos-intel-server-board-s7200a/large
|
|
|
|
---
|
|
|
|
## CPU
|
|
Viktigste biten. Gjør alle beregningene.
|
|
Består av 3 biter, kontrollenhet, minneenhet, ALU
|
|
Kjører raskt, gHz
|
|
Har et visst sett med ting den kan gjøre, kalt et instruksjonssett.
|
|
Setter du disse på rad, så har du et program.
|
|
|
|
---
|
|
|
|
# Fetch Decode Execute Cycle (De 5 stegene)
|
|
|
|
*5 steg* hver gang den skal kjøre en instruksjon
|
|
|
|
PC - program counter
|
|
Branching - hopp til andre steder/loop
|
|
Kjører en instruksjon for hver klokkesykel, men gjør flere steg samtidig. Verdt å merke seg.
|
|
|
|
---
|
|
|
|
## Minne
|
|
|
|
Primær, sekundær-minne
|
|
|
|
Primær - RAM
|
|
tilfeldig access - kan nå hvor som helst øyeblikkelig
|
|
volatilt - uten strøm så forsvinner dataen.
|
|
|
|
Sekundær - Harddisk
|
|
Tregt - cd som spinner
|
|
Sekvensiell aksess - Må lete for å lese på riktig sted.
|
|
ikke volatilt - holder på data uten strøm
|
|
SSD - Nesten random access, ligner på ram, men er ikke volatil
|
|
CD, DVD, Ekstern harddisk, USB, osv.
|
|
|
|
> https://www.pngall.com/ram-png/download/48267
|
|
|
|
> https://pixabay.com/vectors/hdd-hard-disk-drive-disk-hard-disk-154463/
|
|
> https://pixabay.com/vectors/dvd-cd-rom-compact-disc-cd-digital-152917/
|
|
> https://pixabay.com/vectors/usb-disk-disc-storage-technology-47552/
|
|
|
|
---
|
|
|
|
# Digital Representasjon
|
|
|
|
Analog vs Digital
|
|
|
|
Analog kan du måle bortimot så nøyaktig du vil
|
|
Digital har et visst sett med 0 og 1
|
|
|
|
(bilde av lydbølge)
|
|
|
|
ADC - inn på computeren
|
|
DAC - ut fra computeren
|
|
|
|
Note: Skal gå inn på diverse måter å representere ting digitalt på
|
|
|
|
---
|
|
|
|
# Piksler
|
|
|
|
Piksler er en måte å representere bilder
|
|
En piksel er en liten bit av bildet, med en farge.
|
|
Ofte tilsvarer 1 piksel 1 LED på skjermen
|
|
Den fargen er representert som en sammensetning av 3 farger
|
|
Pleier ofte å være RGB
|
|
|
|
----
|
|
|
|
## RGB
|
|
|
|
Hver verdi er mellom 0 og 255
|
|
|
|
Kan derfor representeres som et hexadecimal med 6 tegn
|
|
|
|
<style>
|
|
.rgb-pvv {color: #283681;}
|
|
.rgb-red {color: #FF0000;}
|
|
.rgb-cof {color: #C0FFEE;}
|
|
.rgb-whi {color: #FFFFFF;}
|
|
.rgb-bla {color: #000000;}
|
|
</style>
|
|
|
|
<div class="replacable-fragment">
|
|
<div style="font-size: 0.8em;">
|
|
|
|
| Farge | Rød | Grønn | Blå |
|
|
|--------------------------------------|---------------|---------------|---------------|
|
|
| <span class="rgb-pvv">#283681</span> | 28\\(_{16}\\) | 36\\(_{16}\\) | 81\\(_{16}\\) |
|
|
| <span class="rgb-red">#FF0000</span> | FF\\(_{16}\\) | 00\\(_{16}\\) | 00\\(_{16}\\) |
|
|
| <span class="rgb-cof">#C0FFEE</span> | C0\\(_{16}\\) | FF\\(_{16}\\) | EE\\(_{16}\\) |
|
|
| <span class="rgb-whi">#FFFFFF</span> | FF\\(_{16}\\) | FF\\(_{16}\\) | FF\\(_{16}\\) |
|
|
| <span class="rgb-bla">#000000</span> | 00\\(_{16}\\) | 00\\(_{16}\\) | 00\\(_{16}\\) |
|
|
|
|
</div> <!-- .element: class="fragment fade-out" data-fragment-index="1" -->
|
|
|
|
<div style="font-size: 0.8em;">
|
|
|
|
| Farge | Rød | Grønn | Blå |
|
|
|--------------------------------------|----------------|----------------|----------------|
|
|
| <span class="rgb-pvv">#283681</span> | \\(40_{10}\\) | \\(54_{10}\\) | \\(129_{10}\\) |
|
|
| <span class="rgb-red">#FF0000</span> | \\(255_{10}\\) | \\(0_{10}\\) | \\(0_{10}\\) |
|
|
| <span class="rgb-cof">#C0FFEE</span> | \\(192_{10}\\) | \\(255_{10}\\) | \\(238_{10}\\) |
|
|
| <span class="rgb-whi">#FFFFFF</span> | \\(255_{10}\\) | \\(255_{10}\\) | \\(255_{10}\\) |
|
|
| <span class="rgb-bla">#000000</span> | \\(0 _{10}\\) | \\(0_{10}\\) | \\(0_{10}\\) |
|
|
|
|
</div> <!-- .element: class="fragment fade-in" data-fragment-index="1" -->
|
|
</div>
|
|
|
|
Note:
|
|
|
|
Regn ut 1920x1080 x 24 bits
|
|
|
|
---
|
|
|
|
# PAUSE
|
|
|
|
---
|
|
|
|
|
|
# Algoritmer
|
|
# Nettverk
|
|
# Programvareutvikling
|