Įvestis.

Slides:



Advertisements
Similar presentations
BIOS Kas yra BIOS? Kaip BIOS užkrauna operacinę sistemą?
Advertisements

Atmintinė.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Struktūrinis Testavimas.
1 Komponentai, kurie turi būti patikrinti, yra objektų klasės, kurios realizuojamos kaip objektai. l Didesniems vienetams negu individuali funkcija “baltos.
Tinklo samprata. Etaloniniai tinklo modeliai. OSI modelis
Practical Session 11 Computer Architecture and Assembly Language Input &Output (I/O)
Sauga ir sveikata darbe rūpi visiems. Tai svarbu jums ir įmonei. Visos Europos nuomonių apklausa apie saugą ir sveikatą darbe Pavyzdys, skirtas 36-ioms.
1 Programų testavimo metodai. 2 ĮVADAS  Modulio paskirtis.
Lietuvos vardo kilmė Žmogus, nepažįstantis savo tautos namų – Tėvynės žemės, kurioje nuo seno tėvai ir protėviai gyveno, - nėra savo krašto pilietis! Įsisąmoninkime.
Muzikos ženklų karuselė
NORĖDAMI PAKEISTI SKAIDRĖS STILIŲ – SPUSTELĖKIT E DEŠINIUOJU PELĖS KLAVIŠU ANT SKAIDRĖS FONO IR PASIRINKITE > LAYOUT ARBA DARBALAUKI O ĮRANKIŲ JUOSTOJE.
Practical Session 11 Computer Architecture and Assembly Language Input &Output (I/O)
Vaizdinė užduotis. Kuriose iš šių valstybių galima pamatyti tokius gyvenamuosius namus? Jemene Tanzanijoje Mongolijoje Indonezijoje A B C D 1.
Duomenų struktūros KTU1 / 47 Kontrolinis – 2014 spalio d. Kontrolinis – tai teorinių žinių apie Java kalbos struktūras patikrinimas Bus vykdomas:
Operacinės sistemos (OS)
Network address translation Tinklo adresų vertimas
Kaip parašyti testavimo planą?
Core Audio API Emilis Armonas.
SYSTEM OF PROGRAMMING BUDGET
Algoritmai ir duomenų struktūros (ADS)
Smart none of us are as smart as all of us. smart none of us are as smart as all of us.
Daugiakalbė naudotojo sąsaja (Multilingual User Interface)
Physics 413 Chapter 10.
Programinės įrangos prototipų naudojimas
Sistemos modeliai Rapid software development to validate requirements
Darbą parengė: Viktorija Drūteikaitė IT2
Robert Andruškevič AT27D.   Tai yra operacinė sistema, daugiausia naudojama išmaniuosiuose telefonuose, nors ją galima įdiegti ir kituose mobiliuosiuose.
Trigeriai 10 Paskaita.
Esant PMS’ui ir klimakteriniam diskomfortui
Kiek Kainuoja GigaFlopas? arba Trimačio Vaizdo Spartintuvai
Kompiuterių architektūra
Algoritmai ir duomenų struktūros (ADS)
Loginė kompiuterio architektūra ir mikroprocesorius
Algoritmai ir duomenų struktūros (ADS)
Ugdymo plėtotės centras
Ernestas Kaukėnas MIF IT 3grupė
Bendrosios atminties lygiagretusis programavimas Shared memory parallel programming doc. dr. Vadimas Starikovičius.
Logika a.
JavaScript kalbos apžvalga
Gijos (Threads) Java kalboje
Kas yra arduino ? Parengė:Karolis Šumskis ir Mokytoja ekspertė Elena Šišenina.
Atvirojo kodo elektronika
Failai ir jų tvarkymas.
2006m 4 Paskaita 2006 Sarafinienė Nijolė.
Simple Network Management Protocol Paprastas tinklo valdymo protokolas
INTERAKTYVIŲ UŽDUOČIŲ KŪRIMO PROGRAMA
Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Distributed memory parallel programming.
Šlapimo nelaikymo korekcija: Vilniaus miesto Universitetinės ligoninės patirtis Dr. Gediminas Mečėjus I-ji Lietuvos uroginekologijos draugijos konferencija,
Antrosios kartos interneto technologijos
Windows Portable Devices
TMS320C5x Architektūros Apžvalga
Mikroprocesorius 2.
Windows Resource Protection (IŠTEKLIŲ APSAUGA)
2 skyrius Procesai ir gijos 2.1 Ką vadiname procesu 2.2 Proceso būviai
Virtualus kompiuteris
Programų sistemų testavimas
Langų kūrimas.
Funkcijos 9 paskaita.
Operacinė sistema Testas 9 klasė
Pertrauktys (Interrupts)
Daugelio dokumentų sąsaja (angl. Multiple document interface)
Asmeninis programų kūrimo procesas (PSP)
Judrus projektų portfelio valdymas
Windows Ribbon Framework
Algoritmai ir duomenų struktūros (ADS)
Klaviatūra.
Computer Architecture and Assembly Language
Simonas Vaicekauskas IT3 grupė
Presentation transcript:

Įvestis

Prievadas (port) Prievadas yra įranga, įgalinanti kompiuterį (procesorių) sąveikauti su išoriniais įrenginiais (klaviatūra, monitorius, diskiniai įrenginiai) Prievadas – tai sąsaja, kurios pagalba duomenys perduodami iš kompiuterio (procesoriaus) į kitus ąrenginius ir atgal. Kai kur prievadas nusakomas tiesiog kaip sujungimas, kuriuo išorinis įrenginys sujungiamas su sisteminiu bloku

Prievadas (port) Prievado adresas - buferinės ląstelės adresas Grupė Bazinis prievado adresas – žemiausias adresų grupės adresas

Pagrindinės įvesties/išvesties modulio funkcijos gali būti suskirstytos į tokias kategorijas: •  Valdymas ir taktavimas (control and timing). •  Komunikacijos su centriniu procesoriumi. •  Įrenginių komunikacijos. •  Duomenų buferizavimas. •  Klaidų aptikimas.

I/O modulio blokinė schema

      Kiekvienu atveju įvesties/išvesties modulis yra „įpareigotas vesti dialogą“ su periferine įranga. Rašymo operacijos dialogas atrodytų taip: Įvesties/išvesties modulis siunčia periferiniam įrenginiui valdymo signalą su prašymu leisti siųsti duomenis. 2. Periferinis įrenginys prašymą patenkina ir išsiunčia Acknowledge signalą. 3. Įvesties/išvesties modulis siunčia periferiniam įrenginiui duomenis po vieną žodį arba bloką, priklausomai nuo konkretaus įrenginio. 4. Periferinis įrenginys siunčia patvirtinimą apie priimtus duomenis.       Skaitymo operacija vykdoma analogiškai.

Pagrindinis mazgas, užtikrinantis įvesties/išvesties modulio veikimą yra vidinis buferis, kuriame yra saugomi tarp periferijos ir likusios kompiuterizuotos sistemos dalies siunčiami duomenys. Šis buferis įvesties/išvesties moduliui leidžia iškompensuoti sisteminės magistralės ir išorinių linijų spartos skirtumą.

    Pagrindinė problema, su kuria susiduriama kompiuterizuotose sistemose organizuojant įvesties/išvesties operacijas, yra labai didelis centrinio procesoriaus ir periferijos darbo spartos skirtumas. Šiuo metu žinomi ir naudojami trys įvesties/išvesties operacijos vykdymo metodai: programinis, pertraukčių, tiesioginės kreipties.

  Programinėje įvesties/išvesties operacijoje keitimasis duomenimis vyksta tarp centrinio procesoriaus ir įvesties/išvesties modulio. Šiuo atveju, centrinis procesorius vykdo taikomąją programą, kuri visiškai kontroliuoja įvesties/išvesties operaciją, t. y. nustato periferinių įrenginių būklę, valdo rašymo arba skaitymo komandas ir transliuoja duomenis. Išsiuntęs komandą įvesties/išvesties moduliui, centrinis procesorius laukia kol bus įvykdyta įvesties/išvesties operacija. Jei centrinis procesorius yra spartesnis už įvesties/išvesties modulį, procesorius įvesties/išvesties operacijos metu daugiau laukia nei dirba. Pertraukiančių valdomoje įvesties/išvesties operacijoje centrinis procesorius, pasiuntęs įvesties/išvesties komandą, tęsia kitų su įvesties/išvesties operacija nesusijusių instrukcijų vykdymą. Jo darbas vėl pertraukiamas, kai įvesties/išvesties modulis užbaigia savo darbą. Programinės ir pertraukčių įvesties/išvesties atvejais tik centrinis procesorius valdo duomenų skaitymą iš operatyviosios atminties jų išvesčiai (output) ir rašymą į atmintį jų įvesčiai (input). Alternatyva šiems metodams – įvesties/išvesties modulio tiesioginė kreiptis į atmintį (Direct Memory Access – DMA). Čia numatyta tiesioginė (betarpiška) operatyviosios atminties ir įvesties/išvesties modulio sąveika. Centrinis procesorius įvesties/išvesties operacijoje nedalyvauja.

Pertrauktimis valdoma įvestis •  pertraukčių linijų aibės; •  programinis sąrašas; •  deizi (daisy) grandinės (dar vadinamą techninės įrangos sąrašu arba vektoriuotoji); •  magistralės arbitravimo (vektoriuotoji).

Programinės ir pertraukčių valdomos įvesties/išvesties trūkumai      Pertraukčių valdoma įvestis/išvestis yra efektyvesnė už paprastąją programinę įvestį/išvestį. Tačiau ir ji reikalauja aktyvaus CPĮ įsikišimo į keitimąsi duomenimis tarp atminties ir įvesties/išvesties modulio procesą. Abiem atvejais visų duomenų siuntimo kelias eina per CPĮ. Tiek programinis, tiek pertraukčių valdomas įvesties/išvesties metodai turi du pagrindinius trūkumus: 1. CPĮ galimybės testuoti ir aptarnauti periferinius įrenginius riboja įvesties/išvesties keitimosi duomenimis sparta. 2. CPĮ įtraukiamas į įvesties/išvesties proceso valdymą ir kiekvienoje įvesties/išvesties operacijoje reikia įvykdyti labai daug instrukcijų.       Kai siunčiami dideli duomenų masyvai, reikalingas efektyvesnis metodas. Tam geriau tinka tiesioginė kreiptis į atmintį (Direct Memory Access – DMA).

Direct Memory Access    DMA metodui įgyvendinti reikia papildomo modulio sisteminėje magistralėje. DMA modulis „pavaduoja“ CPĮ ir perima iš jo kompiuterizuotos sistemos valdymą: Kai CPĮ turi skaityti arba rašyti duomenų bloką, jis siunčia DMA moduliui komandą su tokia informacija: •  Vykdomo veiksmo pobūdis – skaityti (priiminėti) ar rašyti (siųsti) duomenis. •  Naudojamo periferinio įrenginio adresas. •  Atminties pozicija nuo kurios bus pradėtas skaitymas arba rašymas. •  Skaitomų arba rašomų žodžių skaičius. Toliau CPĮ tęsia pradėtą arba kokį nors kitą darbą. Vykdomąją įvesties/išvesties operaciją centrinis procesorius perduoda DMA moduliui, o pastarasis ją vykdo. DMA modulis siunčia visą duomenų bloką po vieną žodį per vieną taktą tiesiai į atmintį arba iš atminties apeidamas CPĮ. Kai visi duomenys yra persiųsti, DMA modulis centriniam procesoriui siunčia pertraukties signalą. Taigi CPĮ į keitimosi duomenimis procesą įtraukiamas tik jo pradžioje ir pabaigoje.

Įvesties/išvesties funkcijų evoliucija Su kompiuterizuotų sistemų evoliucija jų komponentai darosi tobulesni ir sudėtingesni. Įvesties/išvesties funkcijų evoliucija vyko tokiais etapais: CPĮ tiesiogiai valdo periferinį įrenginį. Tai būdinga nesudėtingiems įrenginiams su mikroprocesoriniu valdymu. Papildomas valdiklis arba įvesties/išvesties modulis. CPĮ naudoja programinę įvestį/išvestį be pertraukčių. CPĮ šiek tiek atskiriamas nuo specifinių išorinio įrenginio sąsajos detalių. Pertrauktys. CPĮ nebereikia laukti įvesties/išvesties operacijos pabaigos – padidėja CPĮ efektyvumas. Įvesties/išvesties modulyje sukuriama tiesioginė kreiptis į atmintį per DMA mechanizmą. Įvesties/išvesties modulis gali siųsti duomenų bloką į atmintį arba iš jos neapkraudamas procesoriaus. Procesorius dalyvauja tik keitimosi duomenimis proceso pradžioje ir pabaigoje. Įvesties/išvesties modulis tobulinamas ir tampa procesoriumi su speciali-zuota instrukcijų sistema. CPĮ pakanka tik nurodyti, kad įvesties/išvesties procesorius iš atminties pasiimtų įvesties/išvesties programą ir ją atliktų. Įvesties/išvesties procesorius programos instrukcijas pasiima iš atminties ir jas vykdo be CPĮ įsikišimo. CPĮ tik nurodo, kad turi būti įvykdyta tam tikra įvesties/išvesties operacijų seka. Paties CPĮ darbas nutraukiamas tik tada ir tik pranešant, jog visa įvesties/išvesties operacijų seka atlikta. Įvesties/išvesties modulyje sukuriama nuosavoji atmintis ir jis, tam tikra prasme, tampa lokaliuoju „kompiuteriu“. Taip sukuriama galimybė valdyti daug įvesties/išvesties įrenginių beveik nedalyvaujant CPĮ. Tokios architektūros kompiuterizuotos sistemos tinka valdyti komunikacijas tarp interaktyviųjų terminalų. Valdant minėtuosius terminalus įvesties/išvesties procesorius valdo pagrindinę užduotį.

end

The Spectrums memory map is very simple: ROM is paged into address 0x0000 - 0x3fff RAM is paged into 0x4000 - 0x7fff on the 16K model, with the extra 32k if fitted paged into 0x8000 - 0xffff. There is but one IO port on a base Spectrum, 0xfe 0x7fff 0x4000 0x3fff 0x0000 Bazinis IO adresas žemiausias IO grupės adresas

Pagr atmintinė (Conventional) 10x64kB = 640kB F E D C B A 0600 0500 0400 0000 ROM BIOS Video RAM Pagr atmintinė (Conventional) 10x64kB = 640kB Dos duomenys ROM BIOS kintamieji ir duomenys Pertraukties vektoriai 256x4B (2word) 1024B I x86 mP atmintinės paskirstymas

Pagr atmintinė (Conventional) 10x64kB = 640kB F E D C B A 0600 0500 0400 0000 ROM BIOS Video RAM Pagr atmintinė (Conventional) 10x64kB = 640kB Dos duomenys ROM BIOS kintamieji ir duomenys Pertraukties vektoriai 256x4B (2word) 1024B I x86 mP atmintinės paskirstymas

Intel-CPUs contain address-registers for two different address-spaces. While there are a lot of different address modes available for the purpose of addressing in memory (done mostly by assembler mov-mnemonics), there is only one address mode in I/O-space (done by assembler in- or out-mnemonics). I/O-space is initially meant to do transfers to registers, which are part of controllers (could be memory-devices too). The ISA-bus once was the physical representation of this address space... Nowadays PCI allows settings of device-addresses done by program and not manually as needed in stone-age. Now the "I/O-addresses" could be mapped to memory too. There is no restriction for that mapping, done in I/O-space using the register of the PCI-bridge. But BIOS and drivers in OS’s need certain address - or fail.