DA Flashcards

1
Q

Von Neumann Modellen

A

3 Hårdvarusystem:

  • Central Processing Unit (CPU): ALU, CU & Register
  • Primärminne-system
  • I/O-system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Control Unit (CU)

A

Hämtar instruktioner från primärminnet och avkodar dem. Hämtar även efterfrågade operander och sparar dem till register.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Arithmetic Logical Unit (ALU)

A

Här utförs alla logiska och aritmetiska operationer. Sedan sparas resultatet i register eller minnet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Register

A

I register sparas alla operander som processorn behöver under exekvering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The Computer Level Hierarchy

A

Level 0: Digital Logic - kretsar, grindar etc.
Level 1: Control - Microcode eller Hardwired
Level 2: Machine - Instruction Set Architecture (ISA)
Level 3: System Software: Operativsystem
Level 4: Assemblyspråk - assemblykod
Level 5: High Level Language: Java, C++ osv.
Level 6: User - exekverbara program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Olika typer av bussar

A

Databussar: Överför bitar, data, från en enhet till en annan.
Adressbussar: Fastställer sändaren och mottagaren av datat.
Kontrollbussar: Avgör vilka enheter som ska ha tillgång till bussen samt registrerar enhetens syfte. Hanterar även förfrågningar från enheter, eventuella avbrott samt synkroniseringssignaler från dators klocka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Klocka

A
  • Alla datorer har minst en klocka som sköter synkroniseringen av aktiviteterna hos dess komponenter.
  • Ett fast antal klockcykler krävs för att utföra alla beräkningar och dataöverföringar i systemet.
  • Frekvensen som mäts i mega- eller gigahertz avgör hastigheten i vilken alla operationer utförs.
  • Datorns prestanda kan förbättras genom antalet nanosekunder i en klockcykel, antalet instruktioner i ett program eller antalet klockcykler per instruktion.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Interrupts

A
  • Ibland behöver man avbryta fetch/execute-cykeln exempelvis pga en timer, I/O-operationer eller om ett fel uppstår.
  • En enhet som vill att processorn ska göra ett avbrott antecknar detta i ett register, processorn kontrollerar efter varje F/E-cykel om ett avbrott begärts.
  • Om ett avbrott ska göras ändras programräknarens värde till det som indikerar avbrottshanteraren och det föregående värdet sparas i MBR och skrivs till minnet.
  • Maskable interrupts är avbrott som kan ignoreras.
  • Non-maskable interrupts måste tas om hand direkt för att garantera att hålla kvar systemet i ett stabilt läge.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad skiljer olika instruction set architectures (ISA) åt?

A

-Antalet bitar per instruktion
- Huruvida de är stack- eller registerbaserade
- Antalet explicita operander per instruktion
-Typer av operationer
osv

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Endianess

A

Byteordning.
Little Endian: Least significant byte först.
Big Endian: Most significant byte först.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hur lagrar CPU:n data?

A
  • Stack architecture
  • Accumulator architecture
  • General purpose register architecture (GPR) vanligast idag.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

General Purpose Register (GPR), tre typer.

A

Memory-Memory: två eller tre operander kan finnas i minnet.
Register-Register: Åtminstone en operand måste finnas i ett register
Load-Store: inga operander kan finnas i minnet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Adressering

A
  • Adresseringslägen specificerar vart en operand är belägen.

- Den faktiska positionen av en operand är dess “effective address”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Intermediate-adressering

A

Datan är en del av instruktionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Register-adressering

A

Adressen till datan finns i instruktionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Indirekt-adressering

A

Adressen till adressen som håller datan finns i instruktionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Register indirekt-adressering

A

Instruktionen innehåller ett register som har adressen till adressen till datan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Indexerad-adressering

A

Använder ett register som en offset och denna är adderad till adressen i operanden för att få ut adressen som innehåller datan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Instruction pipelining

A

Innebär att man gör det möjligt för processorn att utföra flera instruktioner samtidigt genom att köra dela upp fetch/execute-cykeln i mindre delar och köra dessa parallellt. Så när en instruktion avkodas på en pipeline hämtas nästa i en annan pipeline.
- För varje klockcykel utförs ett steg och stegen överlappas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Beskriv Fetch/Decode/Execute-cykeln.

A

FI: Fetch intstruction - Instruktionen hämtas från primärminnet av CU:n och läses in i IR (Instruction Register)
DO: Decode Opcode - Avkodar OP-koden och instruktionens operander.
CO: Calculate Operand - Beräknar “effective address” för operanderna
FO: Fetch Operands - Läs in operanderna (Op i reg behöver ej läsas in)
EI: Execute Instruction - Utför instruktionen och sparar till register.
SR: Store Result - Spara resultatet till primärminnet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Problem med instruction pipelining:

Resource Hazard

A

Flera steg i F/E-cykeln behöver tillgång till samma resurs samtidigt, instruktionerna måste då utföras seriellt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q
Problem med instruction pipelining:
Control Hazard (Branch Hazard)
A

Leder till att nästa instruktion inte kan avgöras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Problem med instruction pipelining:

Data Hazard

A

Data blir inkorrekt på grund av att data läses och skrivs i fel ordning. Exempelvis en operand hämtas innan en föregående instruktion är färdig med den och den nya instruktionen hämtar därför inte rätt värde.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Vad gör en buss?

A

En buss tillhandahåller kommunikation mellan olika enheter i ett datorsystem genom att varje enhet har tillgång till gemensamma ledningar för data, kontroll och adressering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Tekniker att hantera branch hazards

A

Branch Prediction: Man försöker förutsäga om en branch kommer att utföras eller ej, om man lyckas har man inte slösat några cykler.

Delayed Branch: Man utnyttjar faktumet att branch-instruktionen inte tar effekt på ett tag, på så sätt kan man lägga in ytterligare en instruktion efter branschen som hinner exekveras innan branchen utförs.

Multiple Streams: Man läser in båda instruktionsalternativen

Prefetch Branch Target: målinstruktionen läses in så att den redan är hämtad utfall branchen utförs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Cache

A

Syftet med cache är att öka processorns prestanda genom att snabba upp tillgången till data genom att lagra nyligen använd data nära processorn.
Temporal locality: Om data har refererats är det högst troligt att den kommer att refereras igen
Spatial locality: Om data har refererats är det högst troligt att data på en adress i närheten snart kommer att refereras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Direktmappad cache

A

Ett block i primärminnet mappas till exakt ett block i cachen.
Enkel hårdvara men data kan tvingas ut i onödan, risk för thrashing.

TAG BLOCK OFFSET

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Fully Associative cache

A

Ett block från primärminnet kan mappas till vilket block som helst i cachen.
Kräver komplicerad hårdvara för att se om den eftersökta datan finns i cachen eller inte samt vart.

TAG OFFSET

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Set-associative cache

A

Ett block från primärminnet mappas till ett set i cachen som kan innehålla två eller flera block. En kompromiss mellan direktmappad och fully associative cache.

TAG SET OFFSET

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Cache replacement policies

A

First in/First Out (FIFO): Blocket som har varit i minnet längst byts ut oberoende på när det användes sist.

Random: Ett slumpmässigt block väljs ut. Kan mycket väl vara ett block som snart ska användas men leder inte till thrashing.

31
Q

Virtuellt minne

A

Virtuellt minne behövs på grund av:
Om flera program körs samtidigt om några avslutas leder till till oanvändbara block i minnet (fragmentering) Virtuellt minne hjälper till med detta då processerna bryts upp i mindre block som kan sparas vart s

32
Q

Paging

A

Primärminnet och det virtuella minnet delas upp i lika stora sidor “pages”. Dessa sidor behöver inte sparas sammanhängande utan kan finnas på olika platser i primär- eller det virtuella minnet.
Hela adressutrymmet tillhörande en process behöver alltså inte finnas i primärminnet samtidigt.
Det virtuella minnet delar upp primärminnet i individuellt hanterade delar “page frames” som kan skrivas till disk då de inte används.

33
Q

Page Table

A

Mappningen mellan en virtuell och en fysisk adress. Varje process har en egen page table där information om vart en sida är sparad finns.

34
Q

TLB (Translation Lookaside Buffer)

A

Processorns minneshanterare sparar en cache som innehåller nyligen använda mappningar.
När en virtuell adress behöver översättas tittar man först i TLB:n, om mappningen inte finns söker man i processens page table och skriver den till TLB.

35
Q

I/O-moduler, varför & exempel

A
Olika I/O-enheter fungerar på olika sätt, därför fungerar det dåligt att koppla dem direkt till systembussen. 
I praktiken ansluts I/O-enheter till I/O-moduler som fungerar som ett gränssnitt mellan I/O-enheten och CPU:n.
Tekniker för att ansluta I/O-enheter:
Programmed I/O
Interrupt driven I/O
Memory-mapped I/O
Direct Memory Access (DMA)
Channel Attached I/O
36
Q

Programmed I/O

A

Processorn kontrollerar hela tiden om det finns ny information
Processorn är ansvarig för all hantering av I/O-enheter.
Enkel att implementera
Kan leda till “busy wait”-loop, att systemet måste invänta att I/O-enheten blir klar med sin operation.

37
Q

Interrupt Driven I/O

A

Istället för att processorn hela tiden tvingas kontrollera om det inkommit ny data, låter denna teknik I/O-enheterna avbryta F/E-cykeln. det skulle inte fungera om alla I/O-enheter kunde skicka interrupts direkt till processorn, därför behöver man en interrupt vector, avbrottshanterare. I/O-enheter skickar då avbrottet till avbrottshanteraren som i sin tur meddelar processorn. Processorn skickar då en bekräftelse på avbrottet och avbrottshanteraren kan skicka ytterligare information om avbrottet så att processorn vet vilken rutin den ska använda.

38
Q

Memory-mapped I/O

A

För att underlätta adresshantering låter man I/O-enheterna använda minnesregister.
Vi måste då veta på vilken minnesadress en I/O-enhet finns för att man ska kunna använda den.
Samma typ av instruktioner används för att exempelvis hämta från minnet som från en I/O-enhet.

39
Q

Direct Memory Access

A

Istället för att låta processorn läsa info från I/O sköter en DMA-controller det.
DMA-controllern får exempelvis i uppgift av processorn att hämta något från hårddisken. DMA-controllern gör detta, för in det i primärminnet och skickar ett avbrott till processorn om detta. Processorn har då under tiden kunnat ägna sig åt något annat.
DMA-controllern och processorn delar dock databuss vilket innebär att om den används av DMA-controllern kan inte processorn använda den.

40
Q

Channel I/O

A

Fungerar liknande DMA men har en mer intelligent processor (I/O-processor) för en eller flera enheter i systemet.
Denna I/O-processer kan utföra enklare program och kan därför bearbeta en del av datan innan den når processorn.
Varje processor ansvarar för en kanal “channel”

41
Q

Busshierarki

A

Systembuss: ansluter CPU:n med primärminnet, högpresterande enheter
Höghastighetsbus: ansluter höghastighetsenheter
Expantionsbus: ansluter de långsammare enheterna

42
Q

Data Transmission Modes (DTM)

A

Gränssnitt mellan enheter och bussen.
Parallella gränssnitt:
data överförs parallell med hjälp av flera datakablar
Seriella:
Data överförs seriellt med hjälp av en enda datakabel.

43
Q

Paritetsbit

A

Räknar ut antalet ettor i ett binärt tal.
Om antalet ettor är jämt blir den jämna paritetsbiten 0 och den ojämna 1. Ingen möjlighet att identifiera vilken bit som är fel.

44
Q

RAID

A

Redundant Arrays of Independent Disks
Uppfanns för att lösa problem med disktillförlitlighet och -prestanda, och -kostnad.
Data sparas över olika diskar med tillagda diskar som erbjuder felkorrigering.

45
Q

Varför operativsystem?

A

Annars kan vi inte köra flera program samtidigt
Två processer kan annars skriva sönder minnet för varandra
Vi har annars ingen möjlighet att kontrollera sekundärminnet
Att interagera med datorn utan ett OS är väldigt omständigt

46
Q

Processer

A

Program eller instans av ett program
En processorkärna kan endast köra en process åt gången
Upplever att den har CPU:n för sig själv

47
Q

Process Control Block (PCB)

A

Operativsystemets sätt att hålla reda på alla processer
Innehåller information om alla processer som ex: ID, användare, prioritet.
PCB sparas i primärminnet

48
Q

Processens tillstånd

A

New: när processen först skapas
Ready: redo att köra
Running: kör
Blocked: Då en process väntar på ex en I/O-enhet
Exit: processen lämnar tillbaka minnesutrymmet etc och avslutas

49
Q

Trådar

A

Små processer inom en process
Varje process kan använda trådar för att utföra flera saker samtidigt
varje tråd är en sekventiell följd av instruktioner

50
Q

Schemaläggning

A

Flera processer körs efter varandra, OS växlar fram och tillbaka mellan processerna och skapar illusionen att de körs samtidigt.
Schemaläggaren avgör vilken process som ska köra vid ett givet tillfälle

51
Q

Context Switch

A

Bytet av processer. Ju kortare tid processerna får köra desto längre tid går åt till att byta mellan dem och inget blir utfört.

52
Q

Time-slice

A

Den tid en process får köra

53
Q

Schemaläggningsalgoritmer

A

Icke-preemtiva: processen får köra tills den är klar (systemet kan bli instabilt ex vid oändliga loopar)
first come/first serve, shortest job first
Preemptiva: processen avbryts
Prioriterad, round robin, lottad schemaläggning

54
Q

Virtuella Maskiner

A

En virtuell maskin är en emulering av ett datorsystem. Man skapar en spegelbild av datorsystemet eller av ett annat system.
Den virtuella maskinen tror att den är en dator.
Kontrolleras av OS kontrollprogram (kärnan)
ex är Java Virtual Maschine

55
Q

Subsystem & Partitioner

A

Ett subsystem erbjuder tjänster till processer genom resurser den tilldelats av OS-kärnan.
Alla subsystem ska fungera oberoende av varandra.
Eftersom OS är så komplexa delar man in viss funktionalitet i subsystem, ex I/O.
Fördelen då subsystemen fungerar oberoende av varandra är att man kan inaktivera ett subsystem om man skulle behöva förändra det utan att påverka ett annat.
I vissa större system är subsystem inte tillräckliga då man behöver en mer separat arkitektur, då använder man partitioner.
En partition skapar separata maskiner som inte delar enheter med andra partitioner. Dessa kan betraktas som olika datorsystem.
De behöver använda sig av filutbytningsprotokoll såsom två olika datorsystem behöver göra.

56
Q

Prestandautveckling

A

Datorns prestanda påverkas kraftigt av processorns prestanda.
Processorns prestanda har ökat i takt med att man har ökat klockpulsen.
Även framsteg inom arkitekturen har påverkar prestandan positivt såsom pipelining och användning av cache

57
Q

CISC

A
Complex Instruction Set Computer
Syftet är att kunna utföra komplicerade operationer med korta instruktioner. Detta från början för att minska det semantiska gapen mellan vad man kan utföra i ett högnivåspråk och maskinkod. 
med CISC ville man förenkla för kompilatorn och förbättra exekveringseffektiviteten
Single register set
parametrar skickas genom minnet
Multipla cykelinstruktioner
Microprogrammed control
Less pipelined
58
Q

RISC

A
Strävar efter att göra intruktionsuppsättningen mindre så att fler instruktioner kan utföras per klockcykel.
Flertal registerset
register till register operander
en instruktion (nästan) per cykel
få instruktionsformat
enkel adressering
59
Q

Flynn’s taxonomy

A

SISD: Single Instruction Single Datapath - klassisk enkärning processor
SIMD: Single Instruction Multiple Datapath
MISD: Multiple instruction Single Datapath
MIMD: Multiple Instruction Multiple Datapath - those that share memory, those that don’t. those that are bus bases, those that are switch based

60
Q

Symetric Multiprocessors

A

Flerkärniga processorer (sådana vi använder)
Delat minne
bussbaserade, sammankopplade via minnet

61
Q

Massively Parallell Processors

A

Väldigt många kärnor
Distribuerat minne
sammankopplade via nätverk

62
Q

Parallell and Multiprocessor Architectures (PMA)

A

Parallell processerna klarar att ekonomiskt öka genomströmningen i ett system och samtidigt ge bättre feltolerans.
Oavsett hur bra parallelleringsalgoritmen är måste alltid några delar ske seriellt

63
Q

Superpipelined processors

A

Arbetar snabbare genom att korta pipelinestegen
Tittar på den längsta steget i f/e-cykeln, bryter upp alla stegen i mindre bitar så att stegen kan utföras snabbare och då öka klockpulsen
vissa steg kan utföras flera per klockcykel.

64
Q

Superscalar processor

A

Ökar prestanda med hjälp av hårdvara, olika funktionsenheter med varsin pipeline.
en komplicerad instruktionsavkodare avgör om instruktioner är oberoende av varandra och de kan då utföras samtidigt.

65
Q

Cache - skrivoptimeringar

A

Write back- minnesskrivningar sker till cacheminnet och överförs till primärminnet först vid rensning av cachen
Write through - Minnesskrivningar sker både till cachen och till primärminnet

66
Q

Cache coherence-lösningar

A

Snooping: alla processorkärnor jobbar mot samma bus så när en kärna utför en minnesskrivning “tjuvlyssnar” resten så att de kan ändra värdet
Directory register: ett register håller reda på vilka adresser som finns i de olika cacheminnena.

67
Q

TCP/IP-stacken

A

Application: förser användaren med data, kodning och dialogkontroll
Transport: Stödjer kommunikation mellan olika enheter över olika närverk.
Internet: Avgör den bästa vägen genom nätverket
Network Access: kontrollerar hårdvaran och mediet som utgör nätverket

68
Q

IP

A

Ett kommunikationsprotokoll som delar upp data i paket som skickas över nätverk med en sändare och mottagare. IP tar paket till nätverkets gräns där ARP (Address Resolution Protokoll) avgör MAC-adressen till mottagaren.
Best effort-protokoll, inga garantier att det levereras

69
Q

Network Access-lagret

A

Jobbar med att koppla ihop enheter inom ett lokalt nätverk
hanterar adressering och tillgång till mediet. MAC-adresser är endast giltiga inom ett nätverk, därför används IP för adressering utanför det lokala nätverket, detta för att lagren inte ska vara beroende av varandra. Protokoll: Ethernet, WIFI, Token Ring

70
Q

Internet-lagret

A

Skickar information mellan nätverk genom IP.

Hanterar transporten mellan nätverk hopp för hopp.

71
Q

Transport-lagret

A

Hanterar den logiska transporten mellan enheter.
Använder portar som adresserar en specifik process på en enhet, gör så att datan kommer direkt till webbläsaren, epostklienten, skype osv
TCP
UDP

72
Q

UDP

A

Snabbt och enkelt
Ger möjlighet till felkontrollering av data men i övrigt inga garantier.
I princip Internet-lagret plus portar
används för flera små protokoll och strömmande media

73
Q

TCP

A

Garanterar att:
alla meddelanden kommer fram och att de sätts ihop i rätt ordning
meddelandet är intakt
att nätverket och mottagaren inte översvämmas genom att data skickas för snabbt.

74
Q

Applikation-lagret

A

Kommunikationsprotokoll och gränssnitt för process-process kommunikationer över IP
Applikationslagret standardiserar kommunikationen men förlitar sig på transportlagret för att upprätta kontakt och genomföra dataöverföringen.