A0 - Arhitekture

Download Report

Transcript A0 - Arhitekture

Računarstvo i informatika III
Lekcija 1 – Uvod u mikroračunarske
sisteme
RS01 Uvod - 1
Matematička gimnazija Beograd
Sadržaj predmeta Računarstvo i informatika III
Mikroračunarski sistemi
Arhitektura i organizacija RS
Operativni sistemi
RS01 Uvod - 2
Matematička gimnazija Beograd
Sadržaj i svrha nastavnih tema
Mikroračunarski sistemi
Mikroračunarski sistemi
Mikroračunarski
Mikroračunarskisistemi
sistemi
Programiranje u asembleru
Programiranje u asembleru
Operativni sistemi
Operativni sistemi
U okviru ove grupe tema upoznaćete:





RS01 Uvod - 3
Pravce razvoja mikroračunarskih sistema
Sastav mikroračunarskih sistema
Procesore, mikročipove
Matične ploče, I/O magistrale
Periferne uređaje
Matematička gimnazija Beograd
Apstrakcije
° Kompjuterski sistemi su primer veoma složenih sistema
° Uvek kada radimo sa složenim sistemima pribegavamo apstrakciji ignorišemo detalje i koncentrišemo se na osnovne sastavne blokove
kompjutera
°  Kompjuter = kolekcija funkcionalnih blokova ili podsistema
° Svaki podsistem mora da obezbedi:
• Obradu instrukcija
• Pamćenje informacija
• Prenos podataka
• Ulaz/Izlaz
°  Organizacija računara: deo computer science koji proučava računare na
ovom nivou apstrakcije
RS01 Uvod - 4
Matematička gimnazija Beograd
Komponente računarskog sistema
1. Hardver – osnovni kompjuterski resursi (CPU, memorija, I/O
uređaji).
2. Operativni sistem – kontroliše i usklađuje korišćenje
hardvera.
Hardver mogu da koriste razni aplikativni programi i različiti korisnici.
3. Aplikativni programi – definišu kako se sistemski resursi
koriste za rešavanje zadataka korisnika.
4. Korisnici (ljudi, mašine, drugi kompjuteri).
RS01 Uvod - 5
Matematička gimnazija Beograd
Apstrakcija računarskog sistema - Slojevi
Ljudi
Programski interfejs
Korisnički programi
Interfejs OS
Operativni sistem
Hardverski interfejs/
Privilegovane Instrukcije
Disk / Trake / Memorija
RS01 Uvod - 6
Matematička gimnazija Beograd
Nivoi i hijerarhija apstrakcija
Apstrakcije
° Svi podsistemi koje ćemo proučavati sagrađeni su od logičkih
elemenata
° Ali za nas će logički elementi biti nevidljivi
•  pri proučavanju računarskih sistema koriste se različiti nivoi
apstrakcije
° Metodički pristup za rad sa apstrakcijom:
• Sistem S (kompjuter) sastoji se od više primitivnih komponenti
 S = {c1…..cN}
• Grupisanje komponenti bazirano na njihovoj funkcionalnosti proizvodi sistem
S = {A, B, C, …} sa manjim brojem komponenti
• Na najvišem nivou apstrakcije tretiramo sistem kao crnu kutiju
°  Hijerarhija apstrakcija
RS01 Uvod - 7
Matematička gimnazija Beograd
Apstrakcije na low-level hardverskom nivou
Apstrakcije
° Tako imamo sledeće apstrakcije
• logički element (gate) AND = 2 redno povezana tranzistora
• Jednobitni sabirač (1-ADD Circuit) = Logička mreža koja se sastoji od
25 NOT, AND i OR logičkih elementa
° Tranzistori: primitivne komponente od kojih se grade logički
elementi
° Logički elementi (Gates): sledeći nivo apstrakcije
° Logičke mreže (Circuits): viši nivo apstrakcije
RS01 Uvod - 8
Matematička gimnazija Beograd
Hijerarhija slojeva arhitekture kompjutera
Apstrakcije
Viši programski jezici
Softver
Programi na mašinskom
jeziku
Softversko/hardverska
granica
Hardver
Programi na simboličkom
(asemblerskom) jeziku
Application
Operating
System
Compiler
Firmware
Instr. Set Proc. I/O system
Instruction Set
Architecture
Datapath & Control
Digital Design
Circuit Design
Mikroprogrami
Layout
Logički dijagrami
Jezik registarskog prenosa Register Transfer Notation (RTN)
Circuit Diagrams
RS01 Uvod - 9
Matematička gimnazija Beograd
Nivoi programske reprezentacije
Apstrakcije
temp = v[k];
Program u VPJ
v[k] = v[k+1];
v[k+1] = temp;
Compiler
lw
lw
sw
sw
Program u asembleru
Assembler
Mašinski program
0000
1010
1100
0101
1001
1111
0110
1000
Mašinska interpretacija
Specifikacija kontrolnih signala
$15,
$16,
$16,
$15,
1100
0101
1010
0000
0110
1000
1111
1001
0($2)
4($2)
0($2)
4($2)
1010
0000
0101
1100
1111
1001
1000
0110
0101
1100
0000
1010
1000
0110
1001
1111
ALUOP[0:3] <= InstReg[9:11] & MASK
Jezik registrarskog prenosa
RS01 Uvod - 10
Matematička gimnazija Beograd
Hijerarhija projektovanja kompjutera
Nivo Naziv
1
Elektronika
2
Logika
Moduli
Primitivi
Gejtovi, Flip-flopovi… Tranzistori, Otpornici ...
Registri, ALU-ovi ...
3 Organizacija Procesori, Memorije
Low Level - Hardware
4 Mikroprogramiranje
Asemblerski jezik
Apstrakcije
Deskriptivni medijumi
Jezik za digitalno projektovanje
Gejtovi, Flip-flopovi …
Logički dijagrami
Registri, ALU-ovi …
Jezik registarskog prenosa
Mikroinstrukcije
Mikroprogramski jezik
ASM instrukcije
Asemblerski jezik
Firmware
5 Asemblersko programiranje
OS rutine
6 Proceduralno programiranje
Aplikacije
Drajveri ..
OS rutine
Viši programski jezici
Viši programski jezik
7
Sistemi
Proceduralne
konstrukcije
Problem-Orijentisani
jezik
Aplikacije
High Level - Software
RS01 Uvod - 11
Matematička gimnazija Beograd
Organizacija
°
RS01 Uvod - 12
Matematička gimnazija Beograd
Opis hardvera
° Vizualizacija hardvera:
• Blok dijagrami (prostorna vizualizacija):
- Dvodimenzionalna reprezentacija funkcionalnih blokova i njihove veze.
• Vremenski dijagrami (vremenska vizualizacija):
- Sinusoida koja prikazuje događaje u zavisnosti od vremena.
° Jezik registarskog prenosa (Register Transfer Notation -RTN):
• “Skraćena” notacija za mikrooperacije. Opisuje kompjuterske operacije u
terminima registara i transfera podataka među njima.
• Takođe opisuje uslovne informacije u sistemu koje uzrokuju da se neka operacija
izvrši.
° Jezici za opis hardvera:
• Jezici koji se koriste za lakše opisivanje i rukovanje digitalnim sistemima i za
njihovo povezivanje.
• Primeri: VHDL: VHSIC (Very High Speed Integrated Circuits) Hardware
Matematička gimnazija Beograd
Description Language, Verilog.
RS01 Uvod - 13
Arhitektura kompjutera : Organizacija kompjutera
° Termin Arhitektura kompjutera se ponekad pogrešno sužava na projektovanje
skupa instrukcija, dok se drugi aspekti projektovanja kompjutera nazivaju
implementacija.
° Preciznija definicija:
• Arhitektura skupa instrukcija: Skup instrukcija vidljiv programeru koji služi
kao granica između softvera i hardvera.
• Implementacija mašine ima dve komponente:
- Organizacija: uključuje aspekte višeg nivoa projektovanja kompjutera
kao što su: memorijski sistem, struktura magistrala (bus-ova), interni
CPU blok koji uključuje implementaciju aritmetičkih i logičkih
operacija, kao i operacija grananja i prenošenja podataka.
- Hardver: ukazuje na specifičnosti mašine kao što su npr. detalji
logičkog projektovanja i tehnologije pakovanja.
° U širem smislu, pod arhitekturom kompjutera podrazumevamo:
1 - Arhitekturu skupa instrukcija
2 - Organizaciju
3 - Hardver
RS01 Uvod - 14
Matematička gimnazija Beograd
Arhitektura skupa instrukcija (Instruction Set Architecture - ISA)
° “... the attributes of a [computing] system as seen by the programmer, i.e. the
conceptual structure and functional behavior, as distinct from the organization of
the data flows and controls the logic design, and the physical implementation.”
– Amdahl, Blaaw, and Brooks, 1964.
° Arhitektura skupa instrukcija:
• Organizacija programabilnih memorija (memorija i procesorski registri):
- Količina adresive memorije
- Broj raspoloživih registara
• Tipovi podataka i strukture podataka: kodiranje i registrovanje.
• Skup instrukcija: sve raspoložive instrukcije.
• Formati i dekodiranje instrukcija.
• Načini adresiranja i pristupanja podacima i instrukcijama.
• Uslovi za izuzetke.
RS01 Uvod - 15
Matematička gimnazija Beograd
Skup instrukcija
° Nezavisno od tipa kompjutera, strukture centralnog procesa i
hardverske organizacije, svaka mašinska instrukcija mora da
specifikuje sledeće:
• Opcod: Koju operaciju treba izvršiti. Primer: add, load,...
• Gde se nalazi operand (argument) ili operandi ako ih je više: u CPU
registrima, operativnoj memoriji, na I/O (ulazno/izlaznim) portovima.
• Gde treba smestiti rezultat, ako operacija proizvodi rezultat: može se
eksplicitno navesti ili se implicitno podrazumeva iz opcoda.
• Gde se nalazi sledeća instrukcija: Ako nije u pitanju instrukcija predaje
upravljanja (grananja, bezuslovni skokovi,...) sledeća se izvršava instrukcija
smeštena neposredno iza tekuće u OM, inače adresu sledeće instrukcije
specifikuje instrukcija predaje upravljanja.
RS01 Uvod - 16
Matematička gimnazija Beograd
Šta ćemo učiti
U ovoj lekciji...
° Algoritmi
• se izvršavaju na kompjuterima
• opisuju logičku strukturu rešenja datog problema
• problem-orijentisani su
° Do sada (u prva dva razreda) nismo učili kako kompjuteri
izvršavaju algoritme. To je zadatak predmeta Računarstvo i
informatika u trećem razredu!
° Treba da upoznamo sastav kompjuterskih sistema
• Mikroračunarski sistemi
° Zatim ćemo se upoznati sa načinom izvršavanja programa
• Arhitektura i organizacija računarskih sistema
• Operativni sistemi
RS01 Uvod - 17
Matematička gimnazija Beograd
Implementacija algoritama
Postoje tri metode za implementaciju algoritama
° Programska (software)
° Mikroprogramska (firmware)
° Hardverska (hardware)
RS01 Uvod - 18
Matematička gimnazija Beograd
Programska
Implementacija algoritama
ADD X,Y Saberi dva broja sa memorijskih lokacija na adresama X i
Y, i upiši rezultat u AC.
MBR
Load
X
ADD
Y
RS01 Uvod - 19
+
AC
Memorija
Prenesi sadržaj memorijske lokacije X u MBR i zatim u AC
Prenesi sadržaj memorijske lokacije Y u MBR, saberi ga
sa sadržajem AC i upiši rezultat u AC
Matematička gimnazija Beograd
Mikroprogramska
Implementacija algoritama
A
C
G
MAR
MBR
F
Memorija
D
+
AC
E
B
Prenesi sadržaj mem. lokacije X u MBR
Prenesi je u ALU
Provedi kroz ALU (bez sabiranja)
Prenesi rezultat u AC
Prenesi sadržaj mem. lokacije Y u MBR
Pošalji sadržaje MBR i AC u ALU i +
Upiši rezultat u AC
RS01 Uvod - 20
Logička kola za
Kontrolne signale
F,G
A
D
B
F,G
A, C, E
B
Matematička gimnazija Beograd
Hardverska
Implementacija algoritama
A
MBR
C
D
+
AC
F
E
Memorija
t0
t1
t2
t3
RS01 Uvod - 21
B
Pošalji kontrolni signal read memoriji sa adresom X i otvori gejt
F da je upamtiš u MBR
Pošalji kontrolne signale do D da preneseš podatak kroz ALU, i
do B da ga upamtiš u AC
Pošalji kontrolni signal read memoriji sa adresom Y i otvori gejt
F da je upamtiš u MBR
Pošalji kontrolne signale do A i C. Takođe pošalji kontrolni
signal do E za sabiranje i do B za memorisanje rezultata.
Matematička gimnazija Beograd
Poređenje metoda implementacije
Softverska
Brzina
spora
Cena
mala
Modifikacija jeftina
Proširivost
laka
RS01 Uvod - 22
Firmverska
srednja
srednja
srednja
srednja
Implementacija algoritama
Hardverska
velika
velika
skupa
teška
Matematička gimnazija Beograd
Karakteristike procedura
° Procedure koje se nikad ne menjaju jednom se implementiraju
• Aplikativne procedure za većinu mašina
- Hardverska implementacija je superiorna, specijalno za jednostavne
procedure
-
Prednost je brzina izvršavanja
° Procedure koje se često menjaju
• Aplikativne procedure za kompjutere
- Softverski, često je firmverska implementacija bolja
- Prednosti su fleksibilnost i manja cena implementacije
° Operativne procedure
• Kompjuter ima operativnu proceduru koja obično upravlja raznim mašinskim
resursima i nadgleda rad kompjutera
• Ona se naziva OPERATIVNI SISTEM ili jednostavno OS
RS01 Uvod - 23
Matematička gimnazija Beograd
Pitanja i zadaci
1.
Na koje se načine mogu implementirati alogoritmi?
2.
Uporedite metode imlementacije algoritama.
3.
Koje su dve osnovne vrste procedura koje se realizuju na kompjuterima i kako se
obično implementiraju?
4.
Kako se princip apstrakcije koristi u proučavanju kompjutera?
5.
Navedite nivoe apstrakcije u projektovanju kompjutera?
6.
Kako se opisuje hardver računara na najnižem nivou?
7.
Koji su nivoi programske reprezentacije?
8.
Kakav odnos postoji između arhitekture i organizacije kompjutera?
9.
Šta podrazmevamo pod arhitekturom skupa instrukcija?
10. Na šta treba sa ukazuje mašinska instrukcija?
RS01 Uvod - 24
Matematička gimnazija Beograd
Pogled unapred
Modul 1: Uvod u
mikroračunarske sisteme
Module 6:
Periferni uređaji
Mikroračunarski
sistemi
Modul 5:
UI magistrale
Modul 4:
Karakteristike izrade
mikroprocesora, mikročipovi
RS01 Uvod - 25
Modul 2:
Pravci razvoja
Modul 3:
Sastav, hw resursi
Matematička gimnazija Beograd