itgk-kurs-2021/main.md

6.6 KiB

ITGK Teori-kurs

Note: Introduksjon


OBS: Opptak

Note: PVV sin youtube-kanal

selv-introduksjon

Angående forelesningen


Generelt

Hva er IT

Kort Historie


Folk som er viktige

Von Neumann


Begreper:

  • PC
  • Operativsystem
  • Abstraksjon
  • Transistorer
  • IC
  • Hardware
  • Software
  • Kernel
  • WWW/Internet
  • High level/Low level
  • bit

Note: Operativsystem -> Ressursallokering -> Kernel -> Grafisk brukergrensesnitt


  • PC

  • bit
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}\)
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}\)

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.

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

Farge Rød Grønn Blå
#283681 28\(_{16}\) 36\(_{16}\) 81\(_{16}\)
#FF0000 FF\(_{16}\) 00\(_{16}\) 00\(_{16}\)
#C0FFEE C0\(_{16}\) FF\(_{16}\) EE\(_{16}\)
#FFFFFF FF\(_{16}\) FF\(_{16}\) FF\(_{16}\)
#000000 00\(_{16}\) 00\(_{16}\) 00\(_{16}\)
Farge Rød Grønn Blå
#283681 \(40_{10}\) \(54_{10}\) \(129_{10}\)
#FF0000 \(255_{10}\) \(0_{10}\) \(0_{10}\)
#C0FFEE \(192_{10}\) \(255_{10}\) \(238_{10}\)
#FFFFFF \(255_{10}\) \(255_{10}\) \(255_{10}\)
#000000 \(0 _{10}\) \(0_{10}\) \(0_{10}\)

Note:

Regn ut 1920x1080 x 24 bits


PAUSE


Algoritmer

Nettverk

Programvareutvikling