Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.

Slides:



Advertisements
Liknande presentationer
EDA 480 – Maskinorienterad Programmering
Advertisements

Simulering av MIPS32 4K med TLB och CACHE Andrei Krougliak Simon Olsson Luleå tekniska universitet 2005.
Datavetenskapens roll. Datavetenskap •Vad är datavetenskapens roll i kognitionsvetenskapen?
En avancerad miniräknare
Flynns taxonomi ● Single Instruction, Single Data (SISD) – en instruktion i taget opererar på ett värde i taget ● Single Instruction, Multiple Data (SIMD)
Introduktion till C för enchipsdatorer
Översikt av operativsystem (kap 1 & 2)
The Ubiquitous Interactor Mobila tjänster med flera användargränssnitt.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 10: Objektorientering Objektorientering och abstrakta datatyper Dynamisk bindning.
William Sandqvist System Management functions S Burd, Systems Architecture ISBN Figure 11-2 CPU Management Memory Management.
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
23 August 2014 IS1200 Datorteknik vt09, föreläsning 10, (E och I mfl)1 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory.
1 2G1518 Datorteknik Föreläsning 5, våren 2007 Bussar In- och utmatning – I/O Pollning Handskakning.
Inkapsling.
Programmering II C#, ID1304.
Programmeringsteknik K och Media
Programkodens uppbyggnad
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
GK/ÖK:ITO HT06 IT i organisationer.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kap 3 & 4: Processer & trådar.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 9: Virtuellt minne.
Java. Kortfattat om Java Syntaxen påminner i hög grad om C++ Stöd för objektorientering Kod kan köras i en virtuell maskin som finns tillgänglig för nästan.
Redesign of the Oz Compiler Av Markus Bohlin och Lars Bruce.
Introduktionskurs för användare Del 1
Pekare och speciell programstruktur i inbyggda system
Välkommen till Del 1.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Introduktion till DITA
OPERATIVSYSTEM WINDOWS
Partitionering av programvara SESAM Rikard Johansson Saab Aerosystems, Programvarupartitionering efter kritikalitet Rikard Johansson, Saab Aerosystems.
Styrteknik: Programmering med MELSEC IL PLC2A:1
William Sandqvist C:s minnesmodell.
Systematiskt kvalitetsarbete i våra kommuner
Föreläsning 14 ”Enkel” Filhantering.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 6: Process- synkronisering.
Datorsystem 1 & Datorarkitektur 1 – föreläsning 7 onsdag 7 november 2007.
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 3
31 March 2015IS1200 Datorteknik, förel 101 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory Access 3. Byte-code i JAVA.
31 March 2015 IS1200 Datorteknik ht2009 föreläsning 2, (D2)1 IS1200 Datorteknik Föreläsning 2 Vi bygger en processor Kursboken, valda delar av kapitel.
IS1200 Datorteknik Föreläsning CE F2 Vi bygger en processor Kursboken, delar av kapitel 7 31 March IS1200 Datorteknik föreläsning CE – F2.
1 386 Från s bits adressbuss –=>4GB minne kan adresseras 32 bits databuss max klockfrekvens: 40MHz Protected mode –virtuellt minne –segmentering.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Emulatorkonstruktion Schema Inledning Andra metoder Mina metoder Demonstration av min C64-emulator Sammanfattning och frågor.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
2G1518 Datorteknik Föreläsning 5 Bussar In- och utmatning (Input/Output, I/O) Programstyrd pollning hösten 2005 för D3 och CLMDA m fl.
Lennart Edblom & Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
22 April 2015IS1200 Datorteknik, föreläsning 11 IS1200 Datorteknik Föreläsning 1 Introduktion.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
Formella metoder i MDI Behovet Vad menas med formell? Verktyg Exempel Att läsa: Kapitel 14 i kursboken.
Föreläsning 1 Introduktion till kursen. Algoritmer
Restricted / © Siemens AG All Rights Reserved.siemens.com/answers Motion Control med SIMATIC & SINAMICS Speed & Positioning axis.
IT och medier1 Utgående från boken Computer Science av: J. Glenn Brookshear Grundläggande datavetenskap, 4p Kapitel 3 Operativsystem.
Introduktion till The Rational IT Model
Så fungerar en dator Mental bild av en dator
Python.
Datorer och nätverk.
Bygga dator: CPU och minne
Tekniska system.
RMI Av: Josefina & Sarah DS04.
Grundläggande datavetenskap, 4p
Programmera dina klasskamrater
Datorer och nätverk.
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Presentationens avskrift:

Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering i Real-Time Java och C Minneshantering

Mål: – Att visa hur olika modeller av processer och deras kommunikations- och synkronisering- mekanismer kan utvidgas för att modellera och kontrollera komponenter – Att betrakta effektiv realtids-minneshantering

Hårdvara: Input/Output-mekanismer Två klasser av dator-arkitektur: CPU Memory Devices Data Address Data Address Separate Buses for Devices and Memory

Minnes-”mappad” arkitektur Memory CPU Devices Data Address

Real-Time Java RTJ tillåter access till minnes-mappade kontroll-register via konceptet raw memory En implementering kan tillåtas stödja en rad minnestyper, t.ex. IO_Page – den minnesdel dit I/O-register allokeras

Sammanfattning För att programmera komponent-drivare i hög- nivå-språk krävs: –möjligheten att skicka data- och kontroll-information till och från komponenten –möjligheten att hantera interrupt Kontroll- och data-information skickas via komponent-register Dessa nås antingen via speciella adresser, eller via speciella maskin-instruktioner

Sammanfattning Interrupt-hantering kräver context switching, komponent- och interrupt-identifiering, interrupt- kontroll, och komponent-prioritering Ett viktigt krav på ett högnivå-språk är att det tillhandahåller en abstrakt modell för komponent- hantering Inkapslings-möjligheter krävs också så att icke- portabel kod i ett program kan separeras från den portabla delen

Sammanfattning Det finns flera olika sätt att modellera interrupt I en renodlad shared-variable-modell, kommunicerar drivaren och komponenten genom att använda delade komponent-register (shared device registers), och interrupten tillhandahåller villkors-synkronisering

Sammanfattning Real-Time Java stödjer access till minnes- mappade I/O-register genom RawMemoryClass ; emellertid saknas uttrycksfull förmåga att manipulera komponent-register Interrupt betraktas som asynkrona händelser

Sammanfattning Lågnivåprogrammering innehåller också den mer allmänna uppgiften att hantera processorns minnesresurser Real-Time Java –erkänner att minnes-allokerings-policyn i Java inte är hållbar för realtids-system –tillåter minne att allokeras utanför the heap –stödjer begreppen immortal memory och scoped memory