Dagens tema. Datamaskinen LC-2 En kort repetisjon. Binære tall Litt om tallsystemer generelt. Binære tall. Heksadesimale og oktale tall
|
|
- Monika Holmen
- 7 år siden
- Visninger:
Transkript
1 Dagens tema Datamaskinen LC-2 En kort repetisjon Binære tall Litt om tallsystemer generelt Binære tall Heksadesimale og oktale tall Programmering av LC-2 Maskinkode Assemblerkode Kjøring av LC-2-programmer Instruksjonene add, ld, st og trap Ark 1 av 24
2 Datamaskinen LC-2 ALU N Z P Prosessor R0 R1 R2 R3 R4 R5 R6 R7 PC Registre Minne ALU-en kan + (og litt annet), men ikke, eller. De 8 registrene kan lagre tall 0 til eller til De cellene i minnet kan lagre samme type tall. De tre flaggene N, Z og P kan lagre 0 eller 1. PC-registeret forteller hva som er neste instruksjon.. Ark 2 av 24
3 Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret? Svaret ligger i at datamaskinen lagrer tall binært, det vil si med grunntall 2. Ulike tallsystemer ( i Englander-boken) I posisjonelle tallsystemer angir hvert siffers posisjon hvilken vekt det skal ha: 107 = = (Notasjonen «10 2» leses som «10 i andre» og betyr Generelt betyr a n («a i n-te») n ganger {}}{ a a a Ellers er det verdt å merke seg at a 0 = 1 uansett hva a er.) Her er grunntallet 10, men må det være slik? Ark 3 av 24
4 Ikke-desimale tallsystemer Tid og vinkler angis i et 60-tallsystem: Klokken Kursen er 82 14' 51" På dansk og fransk lever ennå restene av et 20-tallsystem: «ni-og-halv-fems»: 9 +(5 1 ) 20 = 99 2 «quattre-vingt-dix-neuf»: = 99 Gamle engelske hulmål økte med en faktor 2: 1 jack 0,071 liter 2 jacks = 1 gill 2 gills = 1 chopin 2 chopins = 1 pint 2 pints = 1 quart 2 quarts = 1 pottle 2 pottles = 1 gallon 2 gallons = 1 peck 2 pecks = 1 demibushel 2 demibushels = 1 bushel 2 bushels = 1 kilderkin 2 kilderkins = 1 barrel 2 barrels = 1 hogshead 2 hogsheads = 1 pipe 2 pipes = 1 tun 1160 liter Ark 4 av 24
5 Det binære tallsystemet Siden det er spesielt enkelt å lagre bit («binary digit) benyttes det binære tallsystemet i datamaskiner. I det binære tallsystemet er grunntallet 2 og sifrene 0 og For eksempel tolkes slik: = = 13 Norsk språkråd meneratdetbørhetebit (med lang i). Ark 5 av 24
6 Byte I en datamaskin kan man ikke operere med enkelt-bit; i stedet slås de oftest sammen i grupper på 8 og 8 kalt en byte. Her kan man lagre tall fra 0 til 255: = = = = Ord På de fleste maskiner slår man også flere byte sammen til større enheter kalt ord («word»). På LC-2 er disse 2 byte eller 16 bit, og man kan da lagre tall opptil : = = = = Ordet byte er et ordspill; bit kan bety en liten matbit, og da blir bite en hel munnfull. På norsk skal man helst bruke ordet oktett. Ark 6 av 24
7 Hex-tall En ulempe ved binære tall er at de tar så stor plass når man skriver dem. Derfor benyttes ofte heksadesimale tall med grunntall 16 ved innlesning og utskrift. Man slår da sammen 4 og 4 bit; dette gir en verdi 0 15 som angis med et hex-siffer: 0, 1, 2,..., 9, A, B, C, D, E, F Dette er kun en notasjon som skal gjøre livet enklere for oss mennesker. Eksempel = =49D 16 Oktale tall Tidligere brukte man ofte oktale tall med grunntall 8. Her slår man sammen 3 og 3bit. Ark 7 av 24
8 Negative tall ( i Englander-boken) Man kan også lagre negative tall i det binære tallsystemet. Det vanligste formatet for dette heter toer-komplement («two s complement»). For å negere et tall, må man da gjøre følgende: ❶ Snu alle bit-ene i tallet (0 1). ❷ Legg til 1. Eksempel = = Ark 8 av 24
9 Tallområde Når man lagrer negative tall, kan man ikke lagre så store tall lenger. I én byte kan man for eksempel lagre tall mellom 128 og 127: = = = = = = = Fortegns-bit Man kan teste om tall lagret som toer-komplement er negative ved å se på det venstre bit-et. Det er alltid 0 for tall 0 og1 for negative tall. Dette bit-et kalles derfor fortegns-bitet. Ark 9 av 24
10 Tall med og uten fortegns-bit Hvordan vet maskinen om den har et stort positivt tall uten fortegns-bit, eller et negativt tall med fortegns-bit? Det vet den ikke! Vi må holde rede på slikt. Dette er typisk for programmering på maskinnært nivå: Maskinen lagrer og opererer på bit-mønstre. Alt ansvaret for fortolkning av bit-mønstrene ligger på programmereren. Av og til er det nyttig å tolke et bit-mønster på ulike måter. Ark 10 av 24
11 Programmering av LC-2 ( i Patt&Patel-boken) Maskinen kan gjøre følgende: 0 Hoppe til en annen instruksjon 1 Addere to tall 2, 6, 10 Hente et tall fra minnet 3, 7, 11 Lagre et tall i minnet 4, 12 Hoppe til en rutine/metode 5 Nulle bit (logisk OG) 8 Avslutte et avbrudd 9 Snu bit (logisk negasjon) 13 Avslutte en rutine/metode 14 Finne en adresse i minnet 15 Kall operativsystemet Siden operasjonen kan kodes med tall 0 15, trengs det 4 bit til å lagre den x x x x x x x x x x x x ADD Ark 11 av 24
12 Addisjon Anta at vi ønsker å legge sammen R1 og R2 og plassere resultatet i R3. Dette kodes slik: ADD R3 R1 R2 Hvis R1 inneholder 6 og R2 er 18, blir nå verdien 12 lagt i R3. Økning av register Ofte vil vi addere med en fast verdi; denne kan da legges i en variant av add-instruksjonen: ADD R6 R6 1 Her økes R6 med 1. Ark 12 av 24
13 Maskin- og assemblerkode ( i Patt&Patel-boken) Vi ser fort at det å skrive slik binær maskinkode er tidkrevende og kjedelig, og det er lett å gjøre feil. Derfor fant man tidlig på å lage en assembler som kan oversette fra instruksjonsnavn til maskinkode. Det er mye lettere å skrive add R6,R6,#1 enn NB! En assembler er noe annet enn en kompilator som oversetter fra språk som C og Java. Med assemblerkode vet vi nøyaktig hvilken maskinkode som blir laget. En kompilator lager den koden den synes er best for den aktuelle maskinen koden skal kjøre på. Assemblerkode for én prosesser er ganske anderledes enn koden for andre. Et høynivåprogram kan kjøres uendret på mange typer prosessorer. Ark 13 av 24
14 I et redigeringsprogram lager vi filen inkr.asm: ; Dette programmet øker register R6 med 1..orig x3000 ; [Startadresse] add R6,R6,#1 ; Øk R6 med 1..end Her ser vi følgende: Kommentarer startes med et «;» og gjelder resten av linjen. Instruksjonen add skrives i klartekst med sine tre parametre. Desimaltall angis med «#» foran. (Foran hex-tall skriver vi en «x».) Direktivet.orig forteller assembleren hvor i lageret koden skal legges. Direktivet.end forteller assembleren at nå er det slutt. Under Unix vil vi bruke Emacs, på en Windows-maskin kan vi benytte LC2Edit som kan hentes fra Internett; se kursets hjemmeside. Ark 14 av 24
15 Assemblering Så kan vi assemblere filen: > lc2asm inkr.asm inkr Dette lager diverse filer; vi er interessert i inkr.lst viser den koden som ble generert: (0000) ( 3).orig 0x3000 (3000) 1DA ( 5) add r6 r6 0x0001 inkr.obj er koden som senere skal kjøres. Under Unix brukes kommandoen lc2asm, mens man bruker «Assemble» i Translate-menyen til LC2Edit når man sitter ved en Windows-maskin. Ark 15 av 24
16 Kjøring Nå kan vi kjøre programmet vårt. Siden vi ikke har noen ekte LC-2, må vi bruke en simulator: xlc2sim & Vi henter inn det assemblerte programmet inkr.obj ved å bruke «Load Program» i File-menyen. Da får vi et vindu med vår LC-2 på skjermen. På en Unix-maskin heter simulatoren xlc2sim; Windows-brukeren kan benytte Simulate som kan hentes fra Internett. Ark 16 av 24
17 Ark 17 av 24
18 Neste instruksjon er nr som er vår add. Vi utfører neste instruksjon ved hjelp av vinduet vi finner i «Step Program» i Run-menyen. Ark 18 av 24
19 Etterpå er situasjonen slik: Vi ser at to ting er endret: PC er økt til Register R6 er økt til 1. Vi har skrevet og kjørt vårt første assemblerprogram! Ark 19 av 24
20 Instruksjonene ld og st Vi trenger også instruksjoner for å flytte data til og fra minnet:.orig x3000 ; [Startadresse] ld R1,varA ; Kopiér vara til R1. st R1,varB ; Skriv R1 til varb. vara:.fill #-7 varb:.fill #0.end Instruksjonen ld (forkortelse for «load») henter data fra minnet til et register. Instruksjonen st (for «store») kopierer et ord fra et register til minnet. Direktivet.fill setter av plass i minnet og angir hva det skal fylles med når programmet starter. Foran.fill kan vi sette en merkelapp («label» på engelsk) som gir navn på denne lokasjonen. Ark 20 av 24
21 Instruksjonen trap Denne instruksjonen gjør det mulig å få kontakt med operativsystemet. På LC-2 er ikke dette mye: trap x20 ; Leser ett tegn fra tastaturet inn i R0. trap x21 ; Skriver tegnet i R0 på konsollet. trap x22 ; Skriver en tekst (pekt på av R0) på konsollet. trap x23 ; Ber om et tegn; ellers som x20. trap x25 ; Avslutter kjøringen. Ark 21 av 24
22 Et eksempel til Med disse instruksjonene kan vi skrive et nytt program som skriver en stor «A» på konsollet. Kodingstabellen for ISO forteller oss at «A» har kode ! " # $ % & ( ) * +,. / : ; < = >? ISO 8859 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ a b c d e f g h i j k l m n o p q r s t u v w x y z { } ~ A0 C0 E A1 C1 E A2 C2 E A3 C3 E A4 C4 E A5 C5 E A6 C6 E A7 C7 E A8 C8 E A9 C9 E A 2A 4A 6A 8A AA CA EA B 2B 4B 6B 8B AB CB EB C 2C 4C 6C 8C AC CC EC D 2D 4D 6D 8D AD CD ED E 2E 4E 6E 8E AE CE EE F 2F 4F 6F 8F AF CF EF B0 D0 F B1 D1 F B2 D2 F B3 D3 F B4 D4 F B5 D5 F B6 D6 F B7 D7 F B8 D8 F B9 D9 F A 3A 5A 7A 9A BA DA FA B 3B 5B 7B 9B BB DB FB C 3C 5C 7C 9C BC DC FC D 3D 5D 7D 9D BD DD FD E 3E 5E 7E 9E BE DE FE F ª «- ± ² ³ µ ¹ º» ¼ ½ ¾ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß F 5F 7F 9F BF à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ DF FF April 1995, DFL, Ifi/UiO Denne tabellen finnes på Ark 22 av 24
23 Programmet vårt ser slik ut: ; Dette programmet skriver ut en stor A og stopper..orig x3000 ; [Startadresse] ld R0,storA ; Hent tegnet i «stora». trap x21 ; Skriv ut tegnet. trap x25 ; Stopp stora.fill #65 ; A.end Vi velger «Run Program» i Run-menyen og får se vinduet Ark 23 av 24
24 Vi klikker så på Run og får se vår «A» dukke frem i konsollet: Oversikt over instruksjonene I læreboken (nærmere bestemt vedlegg A.3 på side 432 i Patt&Patel-boken) finner vi alle instruksjonene med nøye forklaring over hva de gjør. Ark 24 av 24
Datamaskinen LC-2. Dagens tema. Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret?
Dagens tema Datamaskinen LC-2 En kort repetisjon Binære tall Litt om tallsystemer generelt Binære tall Heksadesimale og oktale tall Programmering av LC-2 Maskinkode Assemblerkode Kjøring av LC-2-programmer
DetaljerIN 147 Program og maskinvare
Dagens tema: Tallsystemer (P&H: 4.1 4.2) Generelt Binære, oktale og heksadesimale tall Tall, bit og byte Negative tall Assemblerspråk (P&H: 3.1 3.3 + A.9) Datamaskinens oppbygging Enkel aritmetikk Flytting
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet ut? Variabler,
DetaljerDagens tema: INF2100. Utvidelser av Minila array-er. tegn og tekster. Flass- og Flokkode. prosedyrer. Prosjektet struktur. feilhåndtering.
Dagens tema: Utvidelser av Minila array-er tegn og tekster Flass- og Flokkode array-er prosedyrer Prosjektet struktur feilhåndtering del 0 Dag Langmyhr,Ifi,UiO: Forelesning 6. september 2005 Ark 1 av 19
DetaljerDagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering
Dagens tema Vektorer (array er) Tekster (string er) Adresser og pekere Dynamisk allokering Dag Langmyhr,Ifi,UiO: Forelesning 23. januar 2006 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til
DetaljerDigital representasjon
Digital representasjon Alt er bit! Hvordan lagre tall tekst bilder lyd som bit i en datamaskin Hvordan telle binært? Binære tall Skal vi telle med bit ( og ), må vi telle binært. Dette gjøres egentlig
DetaljerVektorer. Dagens tema. Deklarasjon. Bruk
Dagens tema Dagens tema Deklarasjon Vektorer Vektorer (array-er) Tekster (string-er) Adresser og pekere Dynamisk allokering Alle programmeringsspråk har mulighet til å definere en såkalte vektor (også
DetaljerDigital representasjon
Hva skal jeg snakke om i dag? Digital representasjon dag@ifi.uio.no Hvordan lagre tall tekst bilder lyd som bit i en datamaskin INF Digital representasjon, høsten 25 Hvordan telle binært? Binære tall Skal
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet
DetaljerOffentlig utvalg for punktskrift, OUP Norsk standard for 8-punktskrift punktskrift 24. oktober 2004 sist endret
Offentlig utvalg for punktskrift, OUP Norsk standard for 8-punktskrift punktskrift 24. oktober 2004 sist endret 19.10.2007 Desimal Hex Beskrivelse Tegnets utseende Punktkode 0 0000 4578
DetaljerDagens tema INF1070. Vektorer (array-er) Tekster (string-er) Adresser og pekere. Dynamisk allokering
Dagens tema Vektorer (array-er) Tekster (string-er) Adresser og pekere Dynamisk allokering Dag Langmyhr,Ifi,UiO: Forelesning 17. januar 2005 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til
DetaljerDigital representasjon
Hva skal jeg snakke om i dag? Digital representasjon dag@ifi.uio.no Hvordan lagre tall tekst bilder lyd som bit i en datamaskin Hvordan telle binært? Binære tall For å bruke bit (0 og 1) som tall, må vi
DetaljerVelkommen til INF2100. Bakgrunnen for INF2100. Hva gjør en kompilator? Prosjektet. Jeg er Dag Langmyhr
Kursopplegg Velkommen til INF2100 en en for INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering
DetaljerIN 147 Program og maskinvare
Dagens tema Mer om C Et eksempel til (med diverse forklaringer) Representasjon av tegn og logiske verdier Vektorer Statusverdi Innhenting av definisjoner Inkrementering og dekrementering av variable for-setningen
DetaljerISO Dagens tema. Tegn. Uttrykk. I Minila lagres kun heltall, men de kan tolkes som tegn. Det siste om Minila.
April 1995, DFL, Ifi/UiO Dagens tema Dagens tema Det siste om Minila og tekster Flink maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Flok kode Flass kode I Minila lagres kun heltall,
DetaljerVelkommen til INF2100
Kursopplegg Velkommen til INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering av fremmøte)
DetaljerVelkommen til INF2100
Kursopplegg Velkommen til INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering av fremmøte)
DetaljerDagens tema: Enda mer MIPS maskinkode
Dagens tema: Enda mer MIPS maskinkode (P&H: 3.6 3.8 + 6.1 + A.6 + A.10) Pseudoinstruksjoner Flere instruksjoner Mer om funksjonskall Stakken Avhengigheter Direktiver Alt er bit! Kommunikasjon med C Ark
DetaljerDagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt
Dagens tema Mer MIPS maskinkode (P&H: 4.4 + 3.6 + 3.3 + A.6 + A.10) Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt Ark 1 av 16 Forelesning
DetaljerOppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Grovt sett inneholder det En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.
DetaljerProsessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?
Prosessoren Bakgrunnen Innhold LMC Hva inneholder den? Hvordan utføres instruksjonene? Assemblerkode Oppsummering instruksjonene [Englander kap 6] Lagdelingen av en datamaskin Internett Lokalnett (LAN)
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Data.data Stakk %EAX %ECX %EDX %EBP %ESP Prosessor Kode Minne.text Hovedkortet Grovt sett inneholder et hovedkort En prosessor
DetaljerDagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter.
Dagens tema Mer programmering i assemblerspråk Masking Hopp, tester og flagg Varianter over ld og st Vektorer og tekster Rutiner Stakker Programmering i assembler Dere kjenner sikkert den gamle gåten:
DetaljerHvordan en prosessor arbeider, del 1
Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program
DetaljerAlle hele tall g > 1 kan være grunntall i et tallsystem.
Tallsystemer Heltall oppgis vanligvis i det desimale tallsystemet, også kalt 10-tallssystemet. Eksempel. Gitt tallet 3794. Dette kan skrives slik: 3 1000 + 7 100 + 9 10 + 4 = 3 10 3 + 7 10 2 + 9 10 1 +
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Hovedkortet Grovt sett inneholder et hovedkort En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.
DetaljerOverordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9
IT1101 Informatikk basisfag, dobbeltime 11/9 Hittil: sett på representasjon av informasjon og manipulering av bits i kretser Idag: hever oss til nivået over og ser på hvordan program kjører i maskinen
DetaljerTallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir =
Tallsystemer Heltall oppgis vanligvis i det desimale tallsystemet, også kalt 10-tallssystemet. Eksempel. Gitt tallet 3794. Dette kan skrives slik: 3 1000 + 7 100 + 9 10 + 4 = 3 10 3 + 7 10 2 + 9 10 1 +
DetaljerDagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner
Dagens tema Dagens tema Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Rasko-kode Raskas-kode Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Kompilator rusc
DetaljerEn overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.
Dagens tema Dagens tema Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Kompilator rusc raskas Rasko-kode 401020000000001...
DetaljerLæringsmål. INF1000: Forelesning 12. Hovedkilde. Kunne binærtall og heksadesimale tall og konvertering mellom ulike tallsystemer: Titallsystemet
INF1000: Forelesning 12 Digital representasjon av tall og tekst Læringsmål Kunne binærtall og heksadesimale tall og konvertering mellom ulike tallsystemer: Titallsystemet Det heksadesimale Det binære tallsystemet
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Data.data Stakk %EAX %ECX %EDX %EBP %ESP Prosessor Kode Minne.text Hovedkortet Grovt sett inneholder et hovedkort En prosessor
DetaljerAlle hele tall g > 1 kan være grunntall i et tallsystem.
Tallsystemer Heltall oppgis vanligvis i det desimale tallsystemet, også kalt 10-tallssystemet. Eksempel. Gitt tallet 3794. Dette kan skrives slik: 3 1000 + 7 100 + 9 10 + 4 = 3 10 3 + 7 10 2 + 9 10 1 +
DetaljerInnhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)
2 Innhold 1 Datamaskiner Prosessoren Primærminnet (RAM) Sekundærminne, cache og lagerhierarki Datamaskiner Matlab Parallell Jørn Amundsen Institutt for Datateknikk og Informasjonsvitenskap 2010-08-31 2
DetaljerTallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir =
Tallsystemer Heltall oppgis vanligvis i det desimale tallsystemet, også kalt 10-tallssystemet. Eksempel. Gitt tallet 3794. Dette kan skrives slik: 3 1000 + 7 100 + 9 10 + 4 = 3 10 3 + 7 10 2 + 9 10 1 +
DetaljerINF-103. Velkommen til. Første time. Fra brukergrensesnitt til maskinvare. eller Datamaskinen på tvers. Andre time
Velkommen til INF-103 Fra brukergrensesnitt til maskinvare eller Datamaskinen på tvers Motto: Hva er det egentlig som skjer? Første time Introduksjon til kurset Hva handler kurset om? Forelesere Pensum
DetaljerINF-103 Fra brukergrensesnitt til maskinvare
Velkommen til INF-103 Fra brukergrensesnitt til maskinvare eller Datamaskinen på tvers Motto: Hva er det egentlig som skjer? Ark 1 av 23 Første time Introduksjon til kurset Hva handler kurset om? Forelesere
DetaljerDagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.
Dagens tema Dagens tema Charles Babbage Datamaskinenes historie maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner kode kode Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.
DetaljerForelesning 5. Diverse komponenter/større system
Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall
DetaljerTDT4105/TDT4110 Informasjonsteknologi grunnkurs:
1 TDT4105/TDT4110 Informasjonsteknologi grunnkurs: Uke 39 Digital representasjon, del 1 - Digital representasjon - Tekst og tall - positive, negative, komma? Alf Inge Wang alfw@idi.ntnu.no Bidragsytere
DetaljerOppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering
Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om
DetaljerKapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte
Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte «Fluency with Information Technology» Sixth Edition by Lawrence Snyder Oversatt av Rune Sætre, 2013 bearbeidet av Terje Rydland, 2015
DetaljerINF1400 Kap4rest Kombinatorisk Logikk
INF4 Kap4rest Kombinatorisk Logikk Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU FIFO Stack En minimal RISC - CPU Komparator Komparator sammenligner to tall A og B 3
DetaljerTDT4105/TDT4110 Informasjonsteknologi grunnkurs:
1 TDT4105/TDT4110 Informasjonsteknologi grunnkurs: Uke 37 Digital representasjon, del 1 - Digital representasjon - Tekst og tall - positive, negative, komma? Rune Sætre satre@idi.ntnu.no Slidepakke forberedt
DetaljerDebugging. Tore Berg Hansen, TISIP
Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...
DetaljerLæringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om
DetaljerTALL. Titallsystemet et posisjonssystem. Konvertering: Titallsystemet binære tall. Det binære tallsystemet. Alternativ 1.
TALL Dagens plan: Tallsystemer (kapittel 6) Titallsystemet Det binære tallsystemet Det heksadesimale tallsystemet Representasjon av tall (kapittel 7) Heltall Negative tall Reelle tall Gray-kode (les selv!)
DetaljerPensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering
Oppsummering Pensum Grovt sett er alt fra forelesningene og øvingsoppgavene pensum. Detaljert oversikt finnes på kurssidene. Hovedtanker fra kurset Litt om eksamen Hvorfor har dere lært dette? Ikke mange
DetaljerUnicode. Unikt vakkert eller unisont håpløst? En vandring gjennom tegnkodingens historie. Dag Lamgmyhr, Ifi/UiO Ark 1 av 23
Unicode Unikt vakkert eller unisont håpløst? En vandring gjennom tegnkodingens historie Dag Lamgmyhr, Ifi/UiO Ark 1 av 23 Hva er tegnkoding? Tegnkoding er bare å definere en tabell over hvilke tegn man
DetaljerINF1040 Digital representasjon TALL
TALL Dagens plan: Tallsystemer (kapittel 6) Titallsystemet Det binære tallsystemet Det heksadesimale tallsystemet Representasjon av tall (kapittel 7) Heltall Negative tall Reelle tall Gray-kode (les selv!)
DetaljerDen siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen
Den siste dagen Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen En oppsummering Oppsummering Pensum Læreboken til og med kapittel 7, kompendiet, forelesningene
DetaljerEn oppsummering (og litt som står igjen)
En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de
DetaljerFor å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.
Kuprat Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Norsk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon I dette kurset skal vi introdusere programmeringsspråket Python. Dette
DetaljerINF1040 Oppgavesett 7: Tall og geometrier
INF1040 Oppgavesett 7: Tall og geometrier (Kapittel 7.1, 7.4-7.8, 8 + Appendiks B) Husk: De viktigste oppgavetypene i oppgavesettet er Tenk selv -oppgavene. Fasitoppgaver Denne seksjonen inneholder innledende
DetaljerModulo-regning. hvis a og b ikke er kongruente modulo m.
Modulo-regning Definisjon: La m være et positivt heltall (dvs. m> 0). Vi sier at to hele tall a og b er kongruente modulo m hvis m går opp i (a b). Dette betegnes med a b (mod m) Vi skriver a b (mod m)
DetaljerTDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU
1 TDT4110 - ITGK - Hardware Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte Terje Rydland - IDI/NTNU 2 Læringsmål Vite om å forstå hvordan prosessoren er oppbygd (5 deler, PC)
DetaljerVelkommen til INF2100
Kursopplegg Velkommen til INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Programmeringsspråket C En kort
DetaljerPotenser og tallsystemer
1 Potenser og tallsystemer Mål for opplæringen er at eleven skal kunne regne med potenser og tall på standardform med positive og negative eksponenter og bruke dette i praktiske sammenhenger gjøre rede
DetaljerForhistorien Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Dagens tema
Forhistorien Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Dagens tema Datamaskinenes historie Når, hvor og hvorfor ble de første datamaskiner laget? Charles Babbage Midt på 1800-tallet
DetaljerDatamaskinenes historie Når, hvor og hvorfor ble de første datamaskiner laget? Hvordan har utviklingen gått? Hva inneholder en datamaskin?
Dagens tema Datamaskinenes historie Når, hvor og hvorfor ble de første datamaskiner laget? Hvordan har utviklingen gått? Hva inneholder en datamaskin? Intel-prosessoren Enkel assemblerprogrammering Dag
DetaljerMer om representasjon av tall
Forelesning 3 Mer om representasjon av tall Dag Normann - 21. januar 2008 Oppsummering av Uke 3 Mandag 14.01 og delvis onsdag 16.01 diskuterte vi hva som menes med en algoritme, og vi så på pseudokoder
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang
2 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 3 https://www.youtube.com/watch? v=nkiu9yen5nc 4 Læringsmål og pensum Mål Lære om
DetaljerDiskret matematikk tirsdag 13. oktober 2015
Eksempler på praktisk bruk av modulo-regning. Tverrsum Tverrsummen til et heltall er summen av tallets sifre. a = 7358. Tverrsummen til a er lik 7 + 3 + 5 + 8 = 23. Setning. La sum(a) stå for tverrsummen
DetaljerITPE/DATS 2400: Datamaskinarkitektur og Nettverk
ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning 9: Instruksjonsettarkitektur 3 Knut H. Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and
DetaljerOppsummering av Uke 3. MAT1030 Diskret matematikk. Binære tall. Oppsummering av Uke 3
Oppsummering av Uke 3 MAT1030 Diskret matematikk Forelesning 3: Mer om representasjon av tall Dag Normann Matematisk Institutt, Universitetet i Oslo 21. januar 2008 Mandag 14.01 og delvis onsdag 16.01
DetaljerTall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall
Tall To måter å representere tall Som binær tekst Eksempel: '' i ISO 889-x og Unicode UTF-8 er U+ U+, altså Brukes eksempelvis ved innlesing og utskrift, i XML-dokumenter og i programmeringsspråket COBOL
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerLøsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006
Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006 Oppgave 1 Papirsimulering av utførende enhet Styreordsekvens Registeroperasjon 011 011 001 0 0010 0 1 R3 R3 + R1 ; R3 = 01100111
DetaljerPotenser og tallsystemer
8 1 Potenser og tallsystemer Mål for opplæringen er at eleven skal kunne regne med potenser og tall på standardform med positive og negative eksponenter og bruke dette i praktiske sammen henger gjøre rede
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start
DetaljerDagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and
Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Enkoder/demultiplekser (avslutte fra forrige gang)! Kort repetisjon 2-komplements form! Binær addisjon/subtraksjon!
DetaljerTDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
DetaljerTeori og oppgaver om 2-komplement
Høgskolen i Oslo og Akershus Diskret matematikk høsten 2014 Teori og oppgaver om 2-komplement 1) Binær addisjon Vi legger sammen binære tall på en tilsvarende måte som desimale tall (dvs. tall i 10- talssystemet).
DetaljerForelesning 15.11. Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B
TDT4160 Datamaskiner Grunnkurs Forelesning 15.11 Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B Dagens tema Datatyper (5.2) Heltall Ikke-numeriske datatyper Instruksjonsformat (5.3) Antall
DetaljerSprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen
Sprettende ball Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Naturfag, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon:
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 30.08.2005 inf1060 H05 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 30.08.2005
Detaljerhvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.
Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan
DetaljerOppgaver MAT2500. Fredrik Meyer. 11. oktober 2014
Oppgaver MAT2500 Fredrik Meyer 11. oktober 2014 Oppgave 1. La ABCD og A BC D være to parallellogrammer med felles vinkel ABC = A BC. Vis at linjene gjennom DD, A C og AC er konkurrente. Løsning 1. Det
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060
DetaljerProgrammeringsspråket C Del 2
Et eksempel Programmeringsspråket C Del 2 Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no inf1060 1 inf1060 2 Forklaring:
DetaljerDagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen
Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerDagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form
Dagens tema Dagens temaer hentes fra kapittel 3 i læreboken Repetisjon, design av digitale kretser Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works
DetaljerSprettende ball Introduksjon Processing PDF
Sprettende ball Introduksjon Processing PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Processing. Det ble laget for å gjøre programmering lett for designere og andre som
DetaljerKapittel 3. The fun starts
Kapittel 3 The fun starts Introduksjon I dette kapittelet vil jeg prøve å gjøre ting på en annen måte. Siden vi nå skal begynne å faktisk lage noe, tenkte jeg at jeg vil gjøre det slik at kapittelet blir
DetaljerHusk å registrer deg på emnets hjemmeside!
IT Informatikk basisfag 28/8 Husk å registrer deg på emnets hjemmeside! http://it.idi.ntnu.no Gikk du glipp av øving? Gjør øving og få den godkjent på datasal av din lærass! Forrige gang: HTML Merkelapper
DetaljerINF2100. Dagens tema: Flink-maskinen Litt datamaskinhistorie. Registre og lagre. Instruksjoner. Flass-koden
Dagens tema: Flink-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Flass-koden Dag Langmyhr,Ifi,UiO: Forelesning 30. august 2005 Ark 1 av 20 Datamaskinenes historie Menneskene har alltid
DetaljerITPE/DATS 2400: Datamaskinarkitektur og Nettverk
ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied
DetaljerJavas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)
Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerResymé: I denne leksjonen blir de viktigste tallsystemer presentert. Det gjelder det binære, heksadesimale og desimale tallsystem.
Geir Ove Rosvold 23. august 2012 Opphavsrett: Forfatter og Stiftelsen TISIP Resymé: I denne leksjonen blir de viktigste tallsystemer presentert. Det gjelder det binære, heksadesimale og desimale tallsystem.
DetaljerDagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)
Dagems temaer Fra Kort Organisering Register kapittel 4 i Computer Organisation and Architecture om hurtigminne (RAM) av CPU: von Neuman-modellen Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerDagens tema. Nyttige programmer Programmet make. Hvis én fil endres, hvilke filer må da kompileres på nytt?
Dagens tema Nyttige programmer Programmet make Flyt-tall Representasjon av flyt-tall Standarden IEEE 754 Systemkall i Unix Programmet make Det er mange praktiske problemer forbundet med programmering av
DetaljerTall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS
Tall jfr. Cyganski & Orr 3..3, 3..5 se også http://courses.cs.vt.edu/~csonline/numbersystems/lessons/index.html Tekst ASCII, UNICODE XML, CSS Konverteringsrutiner Tall positive, negative heltall, flytende
DetaljerTegn og tekst. Posisjonssystemer. Logaritmer en kort repetisjon. Bitposisjoner og bitmønstre. Kapittel August 2008
Posisjonssystemer 10 5 (100 000) 10 4 (10 000) 10 3 (1 000) 10 2 (100) 10 1 (10) 10 0 (1) Tegn og tekst \yvind og ]se N{rb}? 2 7 (128) 2 6 (64) 2 5 (32) 2 4 (16) 2 3 (8) 2 2 (4) 2 1 (2) 2 0 (1) Kapittel
Detaljer7034 Trondheim - NTH 1.1 KILDEPROGRAM S KOMPILERING OG ASSEBMLERING S LENKING AV OBJEKTFILER S UTFØRELSE AV PROGRAMMET S.
INFOAMASJON FRA RUN IT "IQNISINTIilIT "ed UNIVEfllSiTlTlT I TJIIIONCMelM ~ostadr.: Elgeseter at. ~O Telex: 55 620 sintf n Teleqram: COMPf.i'TING NTB 7034 Trondheim - NTH Tlf. ; (8i) 593 l:c (07)593028
DetaljerINF1040 løsningsforslag oppgavesett 7: Tall og geometrier
INF1040 løsningsforslag oppgavesett 7: Tall og geometrier (Kapittel 7.1, 7.4-7.8, 8 + Appendiks B) Hvis du finner feil i løsningsforslaget er det fint om du gir beskjed om dette ved å sende en mail til
Detaljer! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon
agems temaer Oppbygging av RAM! ra kapittel i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering!
Detaljer