Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
1
1a. Von Neumannov model ra čunala
Razvoj programirljivosti računala:
• Univerzalni stroj [Turing36]– TS koji čita logičku funkciju s trake
• ENIAC (1943-1947): ručno prospajanje, prekidači (Mauchly, Eckert)
• EDVAC (1944-1949): računalo s pohranjenim programom (Mauchly, Eckert, von Neumann)– “First Draft of a Report on the EDVAC” [vonNeumann45]
• IAS (1952): program i podatci u zajedničkoj memoriji (von Neumann)
• IBM 704 (1954): Fortran
2
Struktura von Neumannove arhitekture:• Memorija pohranjuje program i podatke• Procesna jedinica : izvodi aritmetičke i logičke
operacije (→ ALU )• Upravlja čka jedinica : interpretiranje programa
ALU CU
Memorija
ACC IRPC
3
Pet funkcijskih jedinica von Neumannove arhitekture:
• Instrukcije svedene na numerički kod pohranjuju se kao i podatci, na jednak način i u istoj jedinici –memoriji
• Računalo – stroj za računanje mora imati jedinicu za izvršavanje osnovnih aritmetičkih operacija –aritmetičku jedinicu
• Jedinica koja “razumije” i tumači instrukcije te upravlja slijedom izvoñenja operacija –upravljačka jedinica
• Računalo mora imati mogućnost komunikacije s vanjskim svijetom, to mu omogućava –ulazno-izlazna jedinica
[Ribarić]
4
Upravlja čki tok i tok podataka
U/I jedinica
Periferniureñaji
ALUAritmetičko
logičkajedinica
MemorijaUpravljačkajedinica
Upravljanje
Tok podataka
CPU - centralna procesorska jedinica
(central processorunit)
Analizirati smjerove toka podatakai upravljačkog toka;
Objasniti “dvosmjernost” upravljačkogtoka;
[Ribarić]
5
Značajke Von Neumannove arhitekture:• numerički kodirane instrukcije spremljene zajedno s
podatcima u memoriji sa slučajnim pristupom • upravlja čka jedinica prevodi instrukcije u slijed
signala koji idu prema ALU i memoriji• izmjenjuju se faze pribavi i izvrši, grananje i uvjetno
grananje eksplicitnom promjenom programskog brojila
• paralelne operacije nad binarno kodiranim strojnim riječima, korištenje drugog komplementa
• dominantna arhitektura sve do početka 80-ih godina prošlog stoljeća
• glavni nedostatci: memorijsko usko grlo, mogućnost modificiranja programa
6
Primjer: računalo temeljeno na MC6800 (1974)
IRQRESETBADBEΦ2Φ1TSC
HALTNMIA0-A15
DB0-DB7
VMA
R/W
MPU
ROM
RAM
PIA
ACIA
DB0-DB7
DB0-DB7
DB0-DB7
A0-A9
A0-A6
EE
EE
E
EE
EEE
R/W
RS0RS1
CS0CS1CS2
CA1 CA2 PA PB CB2CB1
PARALLEL I/O (DATA AND CONTROL)
START UP
CLOCK
VMA
RS
CS0CS1
CS2
DB0-DB7
Tx Rx CTS DCD RTS
ERESR/W
IRQAIRQB
ER/WIRQ
SERIAL I/O (DATA AND CONTROL)
DATA
ADDRESS
CONTROL
Φ2Φ1VMA Φ2
+5V
A0-A9
A0-A6
A15A14
A15A14
A0A1
A2VMA A14
A15
A0
A3VMA A14
A15
VMA Φ2Φ2
R/WΦ2RESETΦ2
IRQ
IRQ
• CPU (MPU) radi u taktovima φ1 i φ2
• Identificirati funkcijske jedinice• Veze meñu funkcijskim jedinicama:
• sabirnica podataka• upravljačka sabirnica• adresna sabirnica
• Zajednički adresni prostor• memorija• ulaz – izlaz (periferija)
[Ribarić]
7
Vježba:
• Ilustrirati načelo jednoznačnosti adresa odreñivanjem dijela adresnog prostora koji je dodijeljen memorijskim (RAM, ROM) i perifernim (PIA, ACIA) sklopovima
• Komentirati “rastrošno” raspolaganje memorijskim prostorom
• Objasniti razliku izmeñu potpunog i nepotpunog adresnog (de-)kodiranja
[Ribarić]
8
Zadatci:
1.Statički RAM kapaciteta 4K x 8 bita i sljedećim važnijim priključcima A0-A11, D0-D7, CS0, CS1,CS2*, CS3*, R/W* priključite tako da se javlja na početnoj adresi $A000. Odrediti adresni prostor koji zauzima sklop. Nacrtati shemu priključenja ako su adresna i podatkovna sabirnica široke 16 odnosno 8 bitova.
2. Programirljivi ulazno-izlazni meñusklop ima četiri naslovljiva registra (R0-R3). Uz pretpostavku da meñusklop ima priključke RS0*, RS1*, E, E*, D0-D7, R/W* i φ, nacrtajte shemu priključenja na 16-bitnu adresnu sabirnicu te 8-bitnu sabirnicu podataka, tako da se meñusklop javlja na početnoj adresi $8008. Koristiti potpuno dekodiranje adrese, te adresni dekoder izvesti diskretnim logičkim sklopovima I, ILI, NE.
3. Riješiti 2. zadatak uporabom višeulaznog komparatora umjesto logičkih sklopova I, NE i/ili ILI.
[Ribarić]
9
Prikaz veličine adresnog prostora za Intelovu porodicuprocesora:
• Intel 8080 Adresna sabirnica: A0 – A1564 K memorijskih lokacija256 I/O lokacija
• Intel 8085 Adresna sabirnica: A0 – A1564 K memorijskih lokacija 256 I/O lokacija
• Intel 8086 Adresna sabirnica: A0 – A198088 1M memorijskih lokacija
64 K I/O lokacija• Intel 286 i Intel 386 SX A0 – A23
16 M memorijskih lokacija64 K I/O lokacija
[Ribarić]
10
Prikaz veličine adresnog prostora za Intelovu porodicuprocesora (nastavak):
• Intel 386 DX A0 – A314G memorijskih lokacija64 K I/O lokacija
• Intel 486 A0 – A314G memorijskih lokacija64 K I/O lokacija
• Pentium A0 – A314G memorijskih lokacija64 K I/O lokacija
• Intel-HP IA-64 A0 – A63 (264 bajtova)(Itanium) (memorijsko i izdvojeno I/O
preslikavanje)
[Ribarić]
11
Aritmeti čko - logi čka jedinica
Elementi ALU:• sklopovi za obavljanje aritmetičkih operacija• registri (spremnici) za privremeno
pohranjivanje operanada (operand – podatak koji sudjeluje u operaciji);
Prikaz podataka u binarnom sustavu:• lakša tehnološka izvedba • veća ekonomičnost predstavljanja brojeva• laka implementacija logičkih operacija
[Ribarić]
12
Aritmetika računala IAS: zbrajalo i sklop za posmak
• Cjelobrojni operandi duljine 40 bita (12 decimala)
• Oduzimanje – pribrajanje dvojnog komplementa
• Množenje i dijeljenje - pod programskim upravljanjem ponavljanjem uzastopnih operacija zbrajanja, odnosno oduzimanja i posmaka
[Ribarić]
13
U/I jedinica
A B PC I
ALU
S M
Memorija
Logika zaispitivanje
uvjeta
Sklopovi zageneriranjeupravljačkih signala
Upravljačkisignali
Upravljačkisignali
CPU
S - memorijski registar podatakaM – memorijski adresni registar (MAR)PC – programsko brojilo I - instrukcijski registar
A, B - akumulatori
[Ribarić]
14
Upravlja čka jedinica
• Generira upravljačke signale za ostale funkcijske jedinice
• Svaki korak algoritma predstavljen je jednom (strojnom)instrukcijom ili slijedom (strojnih) instrukcija.
• Strojne instrukcije odreñuju elementarne operacije kojesklopovlje procesora može izvesti
[Ribarić]
15
Duljina riječi 40 bita (podaci predočeni 40-bitnim kodom).
Strojne instrukcije duljine 20 bita.
Dvije instrukcije smještene u jednoj riječi u memoriji (lijeva i desna instrukcija):
Lijeva instrukcija
20 bita 20 bita
Desna instrukcija
8 bita 12 bita
op kod adresa op kod adresa
[Ribarić]
16
Akumulatorski orijentirana arhitektura• binarne operacije izvode se prema modelu A=f(A,M)• inicijalan podatak u A je “izgubljen” nakon operacije
Instrukcije su jednoadresne:• operacijski kod (8 bit): binarno kodirana instrukcija
– npr: 11001100 – kod instrukcije add –(zbroji)
• adresa (12 bit): jednoznačna memorijska lokacija– npr: 1001 0011 0111 - $937
• 12 bitova omogućava izravno adresiranje 4096 memorijskih lokacija
operacijski kod adresa memorijske lokacije
[Ribarić]
17
Programsko brojilo PC (Program Counter): • registar koji sadrži adresu sljedeće instrukcije• IASov 13-bitovni PC: 12 adresnih bitova +1 bit
za izbor lijeve ili desne instrukcije
Instrukcijski registar IR• registar koji sadrži instrukciju (op kod)
Skup strojnih instrukcija (ISA)• Aritmetičke i logičke instrukcije• Instrukcije za prijenos podataka• Instrukcije uvjetnog i bezuvjetnog grananja• Ulazno-izlazne instrukcije
[Ribarić]
18
PRIBAVI IZVRŠI
(FETCH) (EXECUTE)
PRIBAVI – iz memorije se pribavlja sljedeća instrukcija
Računalo se tijekom izvoñenja programa uvijek nalazi u jednoj od dvije moguće faze (ili stanja)
IZVRŠI – pribavljena instrukcija se izvršava• memorijski operand se dohvaća i obrañuje• akumulator se sprema u memoriju• memorijski operand se sprema u PC• ...
[Ribarić]
19
IZVRŠI
(FETCH) (EXECUTE)
PRIBAVI: 1. korak: MEM(PC) IR2. korak: PC + 1 PC3. korak: Dekodiranje operacijskog
koda instrukcije
[Ribarić]
20
PRIBAVI IZVRŠI
(FETCH) (EXECUTE)
IZVRŠI: 4. korak: (npr. pročitaj tj. dohvati operand iz memorije)
5. korak: (npr. izvedi aritmetičku operaciju nad jednim ili dvama operandima)
6. korak: ...7. korak: ...
•••
[Ribarić]
21
START
Postavi programsko brojilona adresu prve instrukcije
Sadržaj programskog brojilase prenosi glavnoj memoriji
Povećava se sadržajprogramskog brojila za 1Čita se riječ iz memorije iprenosi se procesoru
Da li je toprva riječ (operacijski kod)
instrukcije?
Operacijski kod sesmještava u instruk.registar i dekodira se
Riječ se smještava uinterni registar procesora
Da li supribavljene sve riječi
instrukcije ?
Izvrši instrukciju
DA NE
NE DA
A
AF
AZ
A P
RIB
AV
IF
AZ
A IZ
VR
ŠI
FA
ZA
PR
IBA
VI
Dijagram rada računala 1970-ih
[Ribarić]
22
Memorija u von Neumannovom modelu• Svakoj memorijskoj lokaciji
jednoznačno je pridružena adresa
• Memorija nema procesnih sposobnosti
• Memorijska jedinica – prateći modul
• Procesor – vodeći modul
• Izvedba: katodne cijevi (!!!)– elementi: bijela točka na zaslonu– osvježavanje svakih cca 100ms
– Vrijeme pristupa cca 50 us– 500 – 1000 bitova po cijevi– ukupno oko 2000 cijevi
001000
002003
00F010011012
... ...
...
Upravljačkisignal:
R/W
R/W = 1 čitaj
R/W = 0 piši
M - memorijskiadresni reg.
S - memorijskiregistar podataka
Adresa
[Ribarić]
23
Operacija čitanja (R/W* = 1)
001000
002003
00F010011012
... ...
...
Upravljačkisignal:
R/W
R/W = 1 čitaj
R/W = 0 piši
M - memorijskiadresni reg.
S - memorijskiregistar podataka
Adresa
00F
3F21FF02
4041F4ED
1
Adresa M
R/W 1
[Ribarić]
24
Stanje nakon isteka vremena pristupa memoriji
001000
002003
00F010011012
... ...
...
Upravljačkisignal:
R/W
R/W = 1 čitaj
R/W = 0 piši
M - memorijskiadresni reg.
S - memorijskiregistar podataka
Adresa
00F
3F21FF02
4041F4ED
40
1
• podatak s lokacije 00F “preslikan” u memorijski registar podataka S• operacija čitanja je nedestruktivnaoperacija!
[Ribarić]
25
Operacija Pisanja (R/W* = 0)
001000
002003
00F010011012
... ...
...
Upravljačkisignal:
R/W
R/W = 1 čitaj
R/W = 0 piši
M - memorijskiadresni reg.
S - memorijskiregistar podataka
Adresa
010
3F21FF02
4041F4ED
0
27
Podatak S
R/W 0
Adresa M
[Ribarić]
26
Stanje nakon isteka vremena pristupa memoriji
001000
002003
00F010011012
... ...
...
Upravljačkisignal:
R/W
R/W = 1 čitaj
R/W = 0 piši
M - memorijskiadresni reg.
S - memorijskiregistar podataka
Adresa
010
3F21FF02
4027F4ED
0
27
[Ribarić]
27
R
S Q
READ/WRITE
SELECT
OUTPUTINPUT
1011
1000
100100Stanje
Q
Ulaz SR
BCInput Output
Select
R/W
Bistabil kao element za izvedbu memorije :
[Ribarić]
28
R
S Q
READ/WRITE
SELECT
OUTPUTINPUT
1011
1000
100100Stanje
Q
Ulaz SROperacija Čitanja
1
1
0 ili 1
0
0
0
1 1
[Ribarić]
29
R
S Q
READ/WRITE
SELECT
OUTPUT
Operacija Pisanja
1011
1000
100100Stanje
Q
Ulaz SR
1
0
0Input
1
1
0
0
1
(Ilustrirati “destruktivnost” operacije pisanja)
[Ribarić]
30
RIJEČ 1
RIJEČ 0
RIJEČ 2
RIJEČ 3OMOGUĆIMEMORIJU
R/W
ULAZNI PODACI
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
IZLAZNI PODACI
A0
A1
DEKODER
2 na
4
BC Output
Select
R/W
Input
Izvedba memorije 4 x 3 bita
[Ribarić]
31
Zadatak:
Nacrtajte izvedbu memorije 16 x 4 bita uporabom BC ćelija ipriključite tako oblikovan modul na 16-bitnu adresnu sabirnicutako da je početna adresa memorije 8000.
[Ribarić]
32
2.6. Ulazno-izlazna jedinica
Grafička prikazna jedinica - katodna cijev
logička “1” – svjetlo polje logička “0” – tamno polje
Poštanski teleprinter s pomoćnom žičanom memorijom
[Ribarić]
33
Konceptualni nedostatak von Neumannove arhitekture
Memorija CPU
“von Neumannovo usko grlo”(J. Backus, začetnik Fortrana)
[Ribarić]
34
Turingov stroj Von Neumannov model računala
Algoritam obrade odreñen logičkom funkcijom
L
si
qj
skpql
Memorijska jedinica: beskonačna vrpca
Memorijska jedinica:konačna memorija
IGlava za čitanjei pisanje
...
SadržajAdresa
0000100002000030000400005
08AB7C9A78
2.7. Usporedba TS-a i von Neumannovog modela ra čunala
Algoritam obrade odreñen slijedom instrukcija u memoriji
[Ribarić]
35
Turingov stroj Von Neumannov model računala
Aritmetičko-logička jedinica objedinjena s upravljanjem
Ulazno-izlazna jedinica je beskonačna vrpca
Aritmetičko-logička jedinica izvedena zasebno
Ulazno-izlazna jedinica izvedena zasebno
[Ribarić]