NITH 2005-2006 / Emner / Teknologiemner / ITK110 Maskinarkitektur og datakommunikasjon  

ITK110 Maskinarkitektur og datakommunikasjon

Emnekode
ITK110

Emnenavn
Maskinarkitektur og datakommunikasjon

Studiepoeng
12,00

Godkjenningsdato
16.05.2006

Hensikt
For å kunne bruke, programmmere effektivt og feilsøke konstruktivt trenger man innsikt i oppbyggingen og virkemåten til datamskiner og nettverk. Emnet skal gi en innføring i det digitaltekniske, logiske og praktiske grunnlaget for datamaskiner og datakommunikasjon.

Forutsetninger
Ingen utover opptakskravene til studiet.

Kompetansemål

Datamaskinarkitektur

Tallsystemer og kodingsteori. Studentene skal kunne:

  • forklare prinsippene bak posisjonstallsystemer
  • konvertere mellom desimale, binære, oktale, hexadesimale og BCD tall
  • forklare hvordan text, lyd og bilder kan kodes digitalt i formatene ASCII, UNICODE, BMP, WAV m.fl.
  • IEEE 754 standarden for flyttall-representasjon

Boolsk algebra og logiske funksjoner. Studentene skal kunne:

  • sannhetstabellene til de Boolske funksjonene og symbolene for AND, OR, NOT, XOR, NAND, NOR
  • forenkle logiske uttrykk algebraisk
  • konstruere logisk funksjoner med SOP-metoden
  • benytte Karnaugh diagram til forenkling av Boolske funksjoner

Kombinatoriske kretser. Studentene skal kunne:

  • tegne kretsskjemaet for et gitt sett logiske funksjoner med standard porter
  • sette opp sannhetstabell for, finne funksjonene til, og tegne skjemaet til en ripple-carry adder o.l. kretser
  • kjenne til høynivå beskrivelsespråk for kretser og anvendelsesområder for disse

Sekvensielle kretser. Studentene skal kunne:

  • forklare hva kontrollere, dekodere, tellere, registre og minne er, samt hva komponentene brukes til
  • tegne opp tilstandsmaskin, finne register-ligninger og tegne skjema for en enkel streng-gjenkjenner
  • beskrive og forklare timing-problematikk og lese timing-diagrammer
  • forklare virkemåten og anvendelsesområdet for D-, SR- og K- flip floper
  • forstå og anvende tilstandsmaskineri som konstruksjonsmetodikk for en enkel CPU med en enkel fetch-execute syklus og begrenset instruksjonssett

Grunnleggende PC systemorganisering CPU, busser, I/O-enheter. Studentene skal kunne:

  • forklare Von Neuman modellen og anvende denne til å analysere ulike datamaskinkonfigurasjoner
  • beskrive IBM PC arkitekturen
  • forklare sammenhengen mellom CPUens instruksjonsett, bussprotokoller, chipset og I/O-behandling.
  • forklare de ulike minnemodellene som er i bruk på Intel-baserte maskiner

Avanserte teknikker: pipelining, caching mm Studentene skal kunne:

  • definere og forklare ulike metrikker: MHz, MIPS, FLOPs; samt forklare hvorfor ulike benchmarks er i bruk.
  • diskutere hvilke faktorer som er avgjørende for samlet systemytelse
  • forklare og gjøre enkle ytelsesberegninger på pipelining av prosessor
  • forklare prinsippet bak ulike nivåer av caching
  • forklare hvordan ulike former for parallellisering øker ytelse, og hvilke teknikker og problemer som er forbundet med dette

Instruksjonssettarkitektur og (16 bit) assembly-språk Studentene skal kunne:

  • benytte DEBUG til å inspisere og skrive enkle assemblyprogrammer
  • forklare hva registrene IP, SP, AX, BX, CX, DX, segmentregistrene brukes til
  • forklare og benytte interrupt-mekansimen til å få tilgang til BIOS- og OS-tjenester
  • benytte instruksjonene MOV, CMP, JMP, JZ, INT, LOOP, IN, OUT m.fl. til å utføre beregninger, hente og lagre data i minne og utføre I/O-operasjoner mot ulikt utstyr f.eks. intern høytaler
  • skrive en enkel bootstrap-loader med meny (diskett) i 16 bit assembly

 

Datakommunikasjon

Generell datakommunikasjon Studenten skal kunne:

  • definere og forklare forskjellen på en fysisk og logisk kommunikasjonsmodell
  • definere begrepene internett, protokoll og header, samt forklare sammenhengen mellom header og protokoll
  • forklare forskjellen på linje- og pakke-svitsjing. Diskutere fordeler og ulemper ved disse teknologialternativene.
  • definere og diskutere tjenestemodellene klient/tjener vs P2P, samt forklare og diskutere forskjellen på forbindelsesorienterte vs forbindelsesløse tjenestemodeller
  • beskrive og foklare fordelene ved en funksjonsbasert lagdeling i en protokollstack
  • definere begrepene melding, datagram, segment og ramme i sammenheng med TCP/IP
  • benytte en pakkesniffer til å inspisere ulike protokoller og formater i sanntid, samt tolke og relatere sniffede data til overordnede prisnipper og teknikker i emnet

Applikasjonslaget Studenten skal kunne:

  • definere og forklare begrepet socket, samt gi et eksempel på bruk av sockets f.eks. i Java
  • beskrive funksjonsmåten og anvendelsesområdene til protokollene: HTTP 1.0 og 1.1., FTP, SMTP, POP3, DNS m.fl., her under oppbyggingen av meldinger og meldingsutveksling
  • definere begrepene ToS og QoS og knytte disse til tap, bånbredde og timing
  • forklare oppbyggingen av en URL
  • forklare funksjonsmåten til og nytten av en Web-proxy
  • benytte TELNET til å sende HTTP GET-meldinger, sende epost med SMTP og motta med POP3
  • benytte Windows standard kommandolinjeverktøyene IPCONFIG, NETSTAT, ROUTE, NSLOOKUP, NET, ARP, PING TRACERT til diagnostisering, skifte av nettverksparametre og generell feilsøking

Transportlaget. Studentene skal kunne:

  • forklare hensikten med transportlagsprotokoller.
  • forklare multiplexing/demultiplexing og sammenhengen med portnummer i TCP/IP-stacken
  • forklare prinsippene bak pålitelig dataoverføring, her under mekanismene: kvitteringsmelding, sekvensnummer, sjekksum, timer, pipelining, flyt- og trafikkork-kontroll
  • forklare hvordan mekanismene over er tatt i bruk i TCP med utgangspunkt i feltene i TCP-headeren
  • forklare anvendelsen av og beregne Internett-sjekksummen
  • definere og forklare begrepene MSS og MTU, samt diskutere sammenhengen mellom disse
  • diskutere bruksområder for UDP og TCP i sammenheng med ToS- og QoS-krav

Nettverkslaget. Studentene skal kunne:

  • beskrive forskjellen på routing basert på virtuelle forbindelser (VC med signalering) og datagram routing
  • forklare hvordan routing forgår i henhold til link-state og distance-vector algoritmene, og hvilke typiske problemer som er forbundet med disse algoritmene.
  • finne routingtabell for en router i et lite nettverk etter Dijkstras algoritme
  • kunne klassifisere og diskutere routingalgoritmer ihht dimensjonene global/desentralisert informasjon og statisk/dynamisk, samt kompleksitet, konvergens og feiltoleranse
  • definere Autonomt System (AS), samt forklare forskjellen mellom inter- og intra-routing
  • forklare hva et IP-nettverk er med utgangspunkt i begrepene IP-adresse, nettmaske og default gateway; her under subnetting, CIDR og klasse A-, B- og C-nettverk
  • beskrive funksjonsmåten til IP-, DHCP- og ICMP-protokollene.
  • forklare anvendelsen til de ulike feltene i IP-headeren
  • forklare virkemåten og anvendelsesområdene til til routingprotokollene RIP, OSPF, IGRP, BGP m.fl.
  • beskrive og diskutere router-arkitekturene med utgangspunkt i begrepene input port, switching fabric, routing processor og output port
  • forklare anvendelsesområdet og virkemåten til NAT protokollen

Datalinjelaget. Studentene skal kunne:

  • definere og forklare hvilke tjenestetyper som er tilgjenglige i nettverkslaget, samt knytte disse til Ethernet II headeren
  • forklare og beregne paritetsbit, todimensjonale paritetsbit og CRC
  • forklare hva som kjennetegner datalinje-typene punkt-til-punkt, kringkasting og svitsjet; samt gi eksempler på protokoller som benyttes i de ulike linktypene
  • definere de tre hovedtypene flerbruksprotokoller og diskutere disse mhp rettferdighet, effetivitet og enkelhet
  • forklare og diskutere tilfeldig tilgangsprotokolltypene TDMA, FDMA og CDMA
  • forklare prinsippene i CSMA/CD og relatere disse til Ethernet II
  • forklare bruk av ARP-protokollen i relasjon til MAC-adresser og IP-nettverk
  • forklare oppbyggingen av en Ethernet-ramme, hvordan denne kodes ut på linjen, og hvordan kollisjonshåndteringen fungerer
  • beskriver funksjonsmåten til komponenetene hub, bro, svitsj og router i forhold til Ethernet
  • forklare virkemåten, problemene som må løses og tjenestetilbudene i IEEE 802.11 standardene
  • forklare virkemåten og anvendelsesområdet til PPP protokollen
  • beskrive anvendelsene til ATM, X.25 og Frame Relay protokollsuitene

??

Gjennomføring
I høstsemesteret er det forelesninger, lærerstyrte øvinger og ett prosjektarbeid.
I vårsemesteret er det forelesninger og lærerstyrte øvinger.

Pensum

Nærmere spesifikasjon finnes på fagets intranettsider.

Karakterskala
Bokstavkarakter / Letter grade

Vitnemålstekst
Kursets første del har som mål å gi studentene en oversikt over det digitaltekniske, matematiske/kodingsteoretiske grunnlaget for datamaskinens organisering og virkemåte. Andre del er en innføring i generell datakommunikasjon og TCP/IP-baserte nettverksteknologier.




Litteraturliste:
Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur
Computer Networking. A Top-Down Approach Featuring the Internet  Kurose, James F. & Keith W. Ross  Pearson  2005  0-321-26976-4    Bok  Pensum 
Contemporary Logic Design  Katz, Randy H & Gaetano Borriello  Pearson  2005  0-13-127830-4    Bok  Pensum 
IBM PC Assemby Language And Programming  Peter Abel  Prentice Hall  2001  0-13-030655-X    Bok  Pensum 

Vurdering / Assessment

Vekting (%):
15

Vurderingstype:
Skriftlig / Written

Hjelpemiddel:
Ingen / None

Varighet:
180 minutter

Semester:
Høst / Autumn


Vekting (%):
30

Vurderingstype:
Prosjekt / Project

Hjelpemiddel:
Alle / All

Varighet:
5 dager

Semester:
Høst / Autumn


Vekting (%):
55

Vurderingstype:
Skriftlig / Written

Hjelpemiddel:
Ingen / None

Varighet:
180 minutter

Semester:
Vår / Spring