Upload
mirko-mirkovic
View
52
Download
12
Embed Size (px)
DESCRIPTION
organizacija racunarskih sistema tf cacak predavanja i vezbe
Citation preview
I 18. 2013.
:
1. ; 2. ; 3. / ; 4. .
. . :
William Stallings, Organizacija i arhitektura raunara Projekat u funkciji preformansi CET . WEB http://csl.tfc.kg.ac.rs / PDF , . , WEB PDF .
: ; ; .
( ) :
; ; ; .
, WEB .
. . . von Neumann . . :
; .
: ; .
, . :
(Common Memory) ;
(Message Passing) .
. von Neumann .:
(Control Driven) .
von Neumann 1.
PROCESOR MEMORIJA
U/I
OKRUENJE 1. von Neumann
1. predavanje - 20130219
,
, I
19. 2013.
, :
1. ; 2. ; 3. ; 4. / ; 5. .
. . :
William Stallings, Organizacija i arhitektura raunara Projekat u funkciji preformansi CET . WEB http://csl.tfc.kg.ac.rs / PDF , . , WEB PDF .
: ; ;
( ) :
/ ; ;
, WEB .
: . . ( ). :
, . . :
/ 1.
1.
. / . / /, :
1. ;
2. , .
/ . :
3. / . .
, , . , . .
2. predavanje - 20130225
II 25. 2013.
:
1. .
2. .
, , :
, ;
. :
3. .
1. .
1.
COP . , , . . , . ( ) . , . :
. / ;
. 2. / . .
2. / /
, . . / . . . (READ WRITE) .
, , . (MEMREAD MEMWRITE). / (IOREAD IOWRITE), .
. , , .
, . .
. ( , ), ROM (CD/DVD ) ROM (Flash , , .). . 3.
3.
ROM . , von Neumann , ROM . , . R/W ROM ROM R/W .
:
1. , (MAR) ROM , ( ). ROM , MAR , . FFF...FF, 1 ().
2. , . R/W . .
. . Master Reset (MR). 4.
4. MR MR :
1. , R C. . t=0
t
CCeVtu)( , RC .
, . . , . Tt ,0 .
2. P , C
R. P . 1 . 2 . 21,TTt .
2. predavanje - 20130226
,
, II
26. 2013.
von Neumann :
;
, , . , . , 2.1.
2.1
a . , {, }. . , 2.1()
2
. von Neumann . 2.1(). :
OP ; DST , .
; SRC1 , .
; SRC2 , .
. 1
, :
, .
, :
, , . . . , . . , .
, . . .
:
;
/ . :
o , .
o .
2.1 .
1 . , .
3
2.1 1. LOGICAL 2. CARDINAL 3. INTEGER 4. CHARACTER 5. ENUMERATED
6. SUBRANGE
7. REAL
8. COMPLEX
9. BIT STRING
10. CHARACTER STRING
11. ARRAY 12. SET
13. RECORD
14. BIT STRING 15. CHARACTER
STRING
16. SET 17. ARRAY 18. STACK 19. QUEUE
20. FILE
21. LIST 22. TREE
23. POINTER
.
Instructions Set Architecture (ISA). , , . . , . , . , . 2.2 /
2.2 /
4
, . . :
1. ; 2. ,
. ; 3. .
3. predavanje - 20130304
III 4. 2013.
, . , 1.
1.
.
, :
Random Access Memory (RAM). . , ;
Serial Memory Access (SAM). .
.
2.
2. RAM (Random Access memory)
. , . . . (/ ) .
, /. 3.
3. SAM (Serial Access Memory)
/ . / . / , , . /
( ) . . :
0,22 min
maxminmax tttttsr
. CD/DVD . 4.
4.
/ . / , . . / , . , . . .
. . . , , / Read/Wite (R/W). , Read Only Memory (ROM).
,
: 1.
.
, . a :
nMLK 2 , n , KML
, , . ;
2. . 4 () : ( ), . . ;
3. . R/W , , . . , , , , 2ROM (Electrical Erasble Read Only Memory);
4. , . . . Bit Byte .
,
( , , , ). , . , 5.
5.
, . . . ( ) ( ). :
; (CD/DVD) E2ROM Solid State Disks ( ).
3. predavanje - 20130305
,
, III
26. 2013.
. :
1. ; 2. ,
. ; 3. .
. . , . , . .
:
1. , , . ;
2. ;
3. / ;
4. .
2
1. :
1. 2. 3. ( ) 4. ( ) 5.
, .
1. (NI) 2. (AND) 3. (OR) 4. (EX OR) 5.
. , , .
1.
. . ;
2. . . ( 1);
1.
3
3. . .
4. . ( 2).
2.
, . :
Zero (Z) ;
Z=1 =0; Z=0 0;
Negative (N) ;
N=1 0; N=0 - 0;
Overflow (O) :
=1 ; =0 ;
Carry (C) ; =1 ; =0 ;
Parity (P) ; =1/0 / ; =1/0 / .
, , , . 3 Aritmethical Logical Unit (ALU).
3.
4
( ) . ( 3 m) . m=8, 16, 32, 64, ... 8 , 16 , 32 , 64 .
, , .
:
; ;
; .
+ (Sign
& Magnitude) m , ( =0 , =1 ), 4.
4.
, : 0 ;
+0 00000000 - 0 10000000
. . . 0 , 1 . :
+6 00000110 - 6 11111001
0 , : +0 00000000 - 0 11111111
. .: 1100 0000 = - 63 0100 0000 = +64 1 0000 0000 = +1 0000 0001 = +1
. , .
5
( ) 1. .:
+6 0000 0110 +6 1111 1001 +1 - 6 1111 1010
0: 0000 0000 = +0 1111 1111 = +1 0000 0000
: 1100 0001 = - 63 0100 0000 = +64 1 0000 0001 = +1
12 n 12 1 n . 0
.
: ;
. p.q p
, q . 5 16 , 10 , 5 1 .
5.
:
ebmR :
R m b e
32 6.
6.
: m=0,1bbbbbbb
6
m[0,1 1). :
m=1,bbbbbbbb m[1 2).
, . . , , . ASCII (American Standard Code for Information Interchange). 7 . ASCII .
7. ASCII
ASCII EBCDIC (Extended Binary Coded Decimal Interchange Code). UNICODE, ISO 10646. U+0041.
4. predavanje - 20130311
IV 11. 2013.
, :
; ; ;
. , 1.
1.
:
:
.
, . :
.
, . , Register File (RF) , .
2
, . , 2.
2.
(Dul Port Memory). . . , . , . .
: 1. , .
. Solid state Disks;
2. , ;
3. (CD/DVD/Blue Ray Disks). R/W
: Static Memory (SRAM) ,
(flip flop). , ;
Dynamic Memory (DRAM) , . . . DRAM .
3
(Fetch) , . , (Cache) . , 3.
3.
(Cache)
, . . SRAM . . ( hit) ( miss). . . , . :
; ,
;
.
.
4. predavanje - 20130312
,
, IV
12. 2013.
:
1. () ;
2. ;
3. ( ) / ;
4. .
. , . , , , .
, . (LOAD) , (STORE) . LOAD Ri Mj
Ri STORE Rk Ml Rk
l.
.
2
. MOVE i Mj i
.
(MOVE) . 1 .
1.
. . :
:
: iMj : MiMj+0
, : , .
: ; , .
. :
; .
3
, 2.
2.
, (DEVn), (Ri). :
. , IN(PUT);
() , OUT(PUT).
3.
3. INPUT/OUTPUT
4
, . . / . 4 .
4.
. w
5
, . . NEXT ADDRESS .
:
, . 6.
6.
NEXT ADDRESS , (. , , .);
Program Counter (PC). 1 . , .
, , .:
; ; ; ; ; ; ; ; ; ;
, .: ; ; .
5. predavanje - 20130318
V 18. 2013.
. . , 1.
1.
n .
nAJK 2
/ . . , (byte), 8 . 2 4 , 16/32 . (half word) (double word). 1 : T 1.
2 1 4 4 2 8
2
, , . (B) n :
nBK 2
2 , 0 , 2.
2.
1 n-1, n-1 KW
12 nWK 2 0 0 0 , 1 1.
4 , 0 1 , 3.
3.
2 n-1, n-2 KW
22 nWK 4 2 0 1 . 2.
1 0 0 0 0 0 1 1 1 0 2 1 1 3
SRAM, DRAM R/W PROM , . . . .
3
4 SRAM 32K8 . 321024 . 321024=25210=215 . 15 .
4. SRAM 32K8
Chip Enable ( EC ) Output Enable ( EO ) three state . Write Enable ( EW ) / . EC EW / ( 70 // OIOI ) ( 140 AA ). EC EO , EW . / .
18 1byte . 1byte n=20 . SRAM 32Kbyte SRAM :
32222
321 5
15
20
kbMbNm
n=20 32 SRAM . 32 SRAM 5.
15 A[14:0] 32 . 5 1 32 . A[19:15] . 5 1 32 , . . 00000 CS0/. . . 10000. 16
4
CS16/. CS/ . CS/ , 3. 3. CS/
CS/ CS0/ 0 CS1/ 1
... ... CS31/ 31
SRAM . . OE/ / , . :
16CSWEOE 4. 4. OE/
OE/ WE/ CS16 1 1 () 0 / 0 1 () 1 / 1 0 () 0 1 0 () 1 /
5.
32 SRAM 32Kbyte 5 ,
( CSi/) NI OE/.
DRAM
5
. , . 6 DRAM 14 .
6. DRAM 14
DRAM SRAM . DRAM , . , Column Address Strobe (CAS), Row Address Strobe (RAS) . DRAM . DRAM 7.
7. DRAM
7 : [19:0]
,
6
. ;
ALE (Address Latch Enable) ;
WE/ (Write Enable) . ;
CL ;
CR . ;
[9:0] . . ;
RAS/ (Row Address Strobe) DRAM ;
CAS/ (Column Adress Strobe) DRAM ;
OE/ (Output Enable) . , . .
ROM (Read Only Memory) Mask programmed ROM . :
Programmable Read Only Memory (PROM) (One Time Programmable ROM) , . PROM . (Fuses/Antifuses) . PROM ;
Erasable Programmable Read Only Memory (EPROM) ( 10 ). . EPROM 1000. EPROM (Chip). (. ) .
Electrcally Erasable Programmable Read Only Memory (EEPROM E2PROM) EPROM,
7
, . . EEPROM ( ) ROM R/W ( );
Electrically Alterable Read Only Memory (EAROM) EEPROM . ( 12V) . ROM . setup .
Flash Memory EEPROM 90 . EEPROM . flash , , . 32GByte . , USB Flash Drive.
5. predavanje - 20130319
,
, V
19. 2013.
. . . 1.
1.
. , . :
lndi 3 . . n=32, l=8 di=104 . . . . .
3
2.
2
2.
:
)2()1( SRCSRCDST SRC1 SRC2 DST. , , .
, . .
2 3.
3.
:
)2()1(1 SRCSRCSRC
SRC1 SRC2 SRC1. SRC1 , (. TMP).
)1(SRCTMP . (SRC1) (TMP) .
1
, 4. .
4.
:
)()( SRCACCACC (ACC) SRC .
3
. , , , :
)(ACCMEM - (STORE ACC) )(MEMACC - (LOAD ACC)
5.
5.
. , 6.
6.
(stack). LIFO (Last Input First Output) , . . 7.
7.
.
4
, . .
Stack Pointer (SP). / . Top of Stack (TOS). ( ) PUSH, ( ) POP. PUSH POP / / . :
PUSH MEM PUSH REG REG
PUSH POP MEM
POP REG REG POP
: [1]
. . : TOS(MEM) (REG) (ACC) SP(SP)+1 : SP(SP)-1 (MEM) (REG) (ACC)(TOS)
[2] . , . : SP(SP)+1 TOS(MEM) (REG) (ACC) : (MEM) (REG) (ACC)(TOS) SP(SP)-1
. . Stack Empty (SE), Stack Full (SF).
. , . 8.
:
YXZ , : : ADD Z,X,Y Z(X)+(Y)
5
: MOV Z,X Z(X) ADD Z,Y Z(Z)+(Y) : LDA X ACC(X) ADD Y ACC(ACC)+(Y) STA Z Z(ACC)
8.
: PUSH Y TOS(Y); SP(SP)+1 PUSH X TOS(X); SP(SP)+1 ADD POP Z SP(SP)-1; Z(TOS) (ADD) : OP1(TOS) POP OP1 OP1(X) OP2(TOS) POP OP2 OP2(Y) TOS(OP1)+(OP2) PUSH (OP1)+(OP2) TOS(X)+(Y) , POP PUSH . POP PUSH .
6
. 50 . . 1920. .
, . . x*(u+v) xuv+* vu+3*. (1+2)*4)+3 12+4*3+. ( ):
PUSH 1 1 PUSH 2 2,1 ADD 3 PUSH 4 4,3 MULTPLY 12 PUSH 3 3,12 ADD 15
, , .:
;
;
, .
:
;
, . .
: ; .
, . : 1.
; 2.
; 3. ( )
.
7
. , 9.
9.
, , 10.
10.
8
. . . 100 .
, . . , , :
MVI ADRESA,1000 ADRESA 1000 MVI BROJAC,100 BROJAC (100) JN: MOV TMP,[ADRESA] TMP ADRESA ADD TMP,TMP TMP MOV [ADRESA],TMP ADRESA ADDI ADRESA,1 ADRESA 1 SUBI BROJAC,1 BROJAC 1 JNZ JN BROJAC 0 JN
6. predavanje - 20130325
VI 25. 2013.
:
:
( ); ( ); (
); ( );
: ; .
. . , .
. . / . () () .
( +) . , ,
2
. . , 1.
1.
, . . . . . , , . , , , 1.
, . . , . (root). 2.
2.
3
(file name) . ( )( )( ). , . , .
. 3.
3.
3 . , / , . . :
ND ; HH / /, .
; NT ; NS .
, , 512 . , , . , , . / .
, , . . , . . ,
4
. , . 4.
4.
:
;
.
, 5.
5.
6.
6.
. (Page Fault). . . .
6. predavanje - 20130326
,
, VI
26. 2013.
. , . , . , . . . , , , , 1.
1.
2
, , . , :
;
.
. , . , 2. n n+l.
2. ,
. 3 . p+l n.
3.
3
, , , . 4. - .
4.
(RB), . displacement. ()
)(RBEA (l),
. l .
, . , . , . . . (RX) / . , . 5.
5.
:
)()( RXRBEA
4
. . . / . .
. , . 6.
6.
:
)(RBEAJUMP , , . :
)(PCEAJUMP
. . , :
; ;
. , , . . , , . , , . , .
5
. . .
. . .
, . .
. . EQU DEFINE. :
MEM1 EQU 101011110101 MEM1 DEFINE 101011110101
, . . , B , O H .
( 16 , ):
00101100 ; 100010101000 ; 100010101001 ; 100 .
. ADI addition, I immediate. :
BROJ EQU 100010101000B SUMA EQU 100010101001B SABIRAK EQU 100
( 100 01100100):
00101100100010101001100010101001011000100 :
ADI SUMA,BROJ,SABIRAK , , SUMABROJ .
, .
6
. , (assembler). .
. . MEM1 EQU 100010000000B Deklarisanje imena memorijske lokacije
MEM1 MEM2 EQU 100010000001B Deklarisanje imena memorijske lokacije
MEM2 MEM3 EQU 100010000010B Deklarisanje imena memorijske lokacije
MEM2 CONST1 EQU 100 Deklarisanje konstante CONST1 ... PONOVO: ADD MEM1,MEM2 Sabiranje sadraja dve memorijske
lokacije u dvoadresnom formatu MEM1(MEM1)+(MEM2)
ADI MEM1,CONST1 Sabiranje sadraja memorijske lokacije sa neposrednim operandom MEM1(MEM1)+CONST1
JZ PONOVO Provera da li je dobijeni rezultat jednak nuli i ukoliko je uslov ispunjen program se nastavlja na instrukciji koja je osznaena labelom PONOVO
SUB MEM1,MEM3 Oduzimanje sadraja dve memorijske lokacije u dvoadresnom formatu MEM1(MEM1)-(MEM3)
...
:
ADD, ADI, JZ, SUB , ;
MEM1, MEM2, MEM2 ;
CONST1 ; PONOVO
. ,
, , . , . . , . . . .
7
, . 7.
7.
. 8.
8.
. .
8
. PONOVO 100000001000. . , . . . . . 9.
9.
. . ( ASCII) . Hash .
7. predavanje - 20130401
VII 1. 2013.
. . . . , . 1.
1.
Bi Pj,k . , .
2
. , . , .
. . :
; ; .
(page) p (word) w , 2.
2.
wp2 , w2 . , (block) b (word) w , 3.
3.
wb2 , w2 . page table (PT) 4. , .
, :
(V); ,
(D); (R , W , X
); (Block); (Disk).
4. , . page . . l2 . l page .
3
4.
: (segment) s (word) w . 5.
5.
s2 w2 .
a a2 .
(ST) 6. . . . (STP). ST , , .
: (V); (D);
4
(I , R , W );
(lenght w); (saddr ); (disk d).
6.
,
. :
1. segment . l2 . To l segment ;
2. ST . ST . , V, IRW, length saddr ;
3. saddr word .
: (segment) s , (page) p (word) w . . 7 .
5
7. -
7. predavanje - 20130409
,
, VI
9. 2013.
:
1. ; 2. ; 3.
, . (fetch) :
.
( ) . .
( ) / . .
. . . , .
.
2
. . 1.
1.
.
. 2.
2.
: IR (Instruction Register) .
.
3
:
( );
; ; .
RFA, RFB (Register File) . (Dual port Memory). RFA RFB , ( ). , ;
LA, LB (Latch A, Latch B) . . , ;
ALU ;
. R (mory Address Register) ;
PC (Program Counter) . MAR PC , ;
MAR (Memory Address register) .
7. predavanje - 20130409
,
, VI
9. 2013.
:
1. ; 2. ; 3.
, . (fetch) :
.
( ) . .
( ) / . .
. . . , .
.
2
. . 1.
1.
.
. 2.
2.
: IR (Instruction Register) .
.
3
:
( );
; ; .
RFA, RFB (Register File) . (Dual port Memory). RFA RFB , ( ). , ;
LA, LB (Latch A, Latch B) . . , ;
ALU ;
. R (mory Address Register) ;
PC (Program Counter) . MAR PC , ;
MAR (Memory Address register) .
8. predavanje - 20130408
VIII 8. 2013.
/
, . , , , 1.
1.
. , . . :
;
.
. .
2
, , , . 2.
2.
/ / . .
. USB (Universal Serial Bus).
, . , , . . . / . , , , . , . . , . 3.
3.
3
Control Register (CR) . . :
/ ; ( ); .
Status Register (SR) . . :
; (
);
. Data Register (DR)
.
9. predavanje - 20130415
VIII 15. 2013.
/
. / :
. .
, . . , . ( ) . , . , 1.
1.
, , . , . 2 , .
2. :
Address Bus; Control Bus; Data Bus.
2
2.
() , . , . . (Enable) . , .
, :
1. ;
a. / ;
b. ; c. , .
2. / ;
3. ;
4. .
/
: ; ; .
. . . ,
3
. . , , :
Address Bus Control Bus Data Bus.
.
10. predavanje - 20130422
VIII 22. 2013.
/ /
( ) . . , . :
, ;
.
: ; .
/ . / / . / 2.
/ . / . . , . 0 , 1 ( 1).
1.
2
1. /
2 . , . , / . . , . , / .
/ / . , / , . . 3.
3.
, 0 / , 1 . 7 , / / . / , 6. /
3
. , , . . . / . , .
. , . , . .
. . .
:
1. ;
2. .
. 1. 1.
. .
I 7. 2013.
:
1. ; 2. ; 3. ; 4. / ; 5. .
. . :
William Stallings, Organizacija i arhitektura raunara Projekat u funkciji preformansi
CET . WEB http://csl.tfc.kg.ac.rs / PDF , . , WEB PDF .
: ; ; .
:
/ ; ; .
, WEB .
( 022 ) 032/302 721 http://csl.ftn.kg.ac.rs :
. . . von Neumann . . :
; .
: ; .
, . :
(Common Memory) ;
(Message Passing) .
. von Neumann .:
(Control Driven) .
von Neumann 1.
PROCESOR MEMORIJA
U/I
OKRUENJE 1. von Neumann
I 7. 2013.
. , .
, , , , :
William Stallings, Organizacija i arhitektura raunara - Projekat u funkciji performansi. , i
CET 2006. ( 7. ) 2013. ( 9. ). http://csl.ftn.kg.ac.rs
Nastava/Osnovne studije LITERATURA-AR-RI PDF .
:
022
. :
III 14. 2013.
. Instructions Set Architecture (ISA). , , . . , . , . , . 1 /
1. / , .
a . :
1. ; 2. ,
. ; 3. .
. . , . , . .
: 1.
, , . ;
2. ;
3. / ;
4. .
1 ,
:
, .
, :
, , . . . , . . , .
, . . .
:
;
/ . :
o , .
1 . , .
o .
1 . 1
1. LOGICAL 2. CARDINAL 3. INTEGER 4. CHARACTER 5. ENUMERATED
6. SUBRANGE
7. REAL
8. COMPLEX
9. BIT STRING
10. CHARACTER STRING
11. ARRAY 12. SET
13. RECORD
14. BIT STRING 15. CHARACTER
STRING
16. SET 17. ARRAY 18. STACK 19. QUEUE
20. FILE
21. LIST 22. TREE
23. POINTER
II 14. 2013.
: . . ( ). :
, . . :
/ 1.
1.
. / .
/ /, :
1. ;
2. , .
/ . :
3. / . .
, , . , . .
von Neumann :
; ; ; ;
, , . , . , 2.
2 a
. , , , {, }. . , 2()
. von Neumann . () 2(). :
OP ; DST , .
; SRC1 , .
; SRC2 , .
. :
DST(SRC1)(SRC2) :
SRC1 SRC2 DST
, . , :
Z = X + Y Z , X Y . (assignment).
1-1
RAZVOJ ELEKTRONSKIH RAUNARA
Grubo govorei, periode u razvoju raunara moemo podeliti na dve epohe:
1. Period pre pojave elektronskih raunara (do 1946. godine)
2. Period nakon pojave elektronskih raunara (nakon 1946. godine).
Pre pojave elektronskih raunara, raunanje se vrilo korienjem nekoliko ureaja:
1. Abakus (najee se realizuje kao drveni okvir sa icama po kojima se pomeraju
kuglice. Vrednost kuglice zavisi od toga na kojoj se ici kuglica nalazi: na jednoj
ici jedna kuglica ima vrednost 1, na sledeoj vrednost 10, na sledeoj vrednost
100).
2. Paskalina (konstruisao je Blez Paskal 1642. godine, zasnovana na mehanizmu
spojenih zupanika, a prikazivala je decimalne brojeve, do 8 cifara).
Slika 1. Paskalina
3. Lajbnicova maina sa etiri operacije (sabiranje, oduzimanje, mnoenje i
deljenje), 1694. godine. Lajbnic je bio prvi koji je predstavio binarni brojni
sistem 1697. godine).
1-2
Slika 2. Lajbnicova maina
4. akarov tkaki razboj sa buenim karticama (1801. godine, koristio je
buene kartice za kontrolu operacija, razliite kombinacije rupa na kartici
kreirale su razliite are i dezene istkanog materijala).
5. Bebidova analitika maina (u teoriji predstavlja mainu koja bi automatski
radila na paru, imala bi memoriju za skladitenje 1000 promenljivih. Programi
su bili ispisani na buenim karticama. Ada Bajron, erka engleskog lorda
Bajrona, smatra se prvim programerom, poto je napisala detaljan opis
izraunavanja Bernulijevih brojeva na analitikoj maini).
Slika 3. Analitika maina
1. Elektromehaniki raunari:
1. Analogni raunar konstruisan na MIT-u (1925-1942), analogni raunar koji je
imao elektrini motor, korien je prvenstveno u vojne svrhe.
2. Z1, prvi programabilni raunar, konstruisao ga Konrad Zuse 1934. godine.
1-3
Slika 4. Z raunar
3. Colossus, projektovao ga 1941. Alen Tjuring, a konstruisao ga Don fon
Nojman. Tjuring je 1936. godine razvio ideju univerzalne maine koja moe da
izvri svaki algoritam koji se moe opisati i predstavlja osnovu za koncept
raunarstva. Fon Nojman je 1945. god,u svom izvetaju opisao arhitekturu
raunara koja se i danas koristi u najveem broju savremenih raunara,
koncipirana na unutranjem programu. Program se pri izvravanju uva kao i
podaci za obradu. Fon Nojmanova maina imala je 5 delova: memoriju,
aritmetiko logiku jedinicu (ALU), upravljaku jedinicu (upravlja programom)
i ulaznu i izlaznu jedinicu. U okviru ALU postojao je akumulator, pa tipina
instrukcija sabira memoriju sa sadrajem akumulatora ili sadraj akumulatora
upisuje u memoriju.
4. Harvard Mark I, II i III (1937-1944.), konstruisao je Haurad Hajken, uz
podrku IBM-a. Maina je imala ulazni i izlazni ureaj, memoriju, aritmetiki i
upravljaki organ. Ulazni podaci i instrukcije unoeni su pomou buene
magnetne trake, ili pozicioniranjem prekidaa. Radila je sa 20-cifrenim
brojevima, brzinom od 3 operacije u sekundi. U memorijskoj jedinici je moglo
da se uskladi 60 brojeva. Koriena je do 1959. Prilikom jedne demonstracije
maina je prestala da radi. Razlog je bila bubavaba koja je ula u relej. Odatle
potie termin za greke u programima (bug).
1-4
Slika 5. Harvard Mark I
2. Elektronski digitalni raunari
Prvi elektronski digitalni raunar projektovao je 1939. godine Don J. Atanasov, uz
pomo svog studenta, na Ajova univerzitetu. Maina je nazvana ABC, nikada nije bila
kompletirana, a projekat je naputen 1942. godine.
ENIAC (Electronic Numerical Integrater And Computer) je bio prvi uspean
elektronski raunar opte namene. Kod njega program nije bio uskladiten u centralnoj
memoriji, ali je mogao da izvodi operacije elektronskom brzinom (1000 puta bre nego Mark
I). Maina je programirana da izvrava operacije ukluivanjem i iskluivanjem kablova i
prekidaa, a prema potrebi i prelemlavanjem ica, to je trajalo i po nekoliko dana, kada je
raunar reprogramiran za reavanje novog problema. Buene kartice su koriene za ulaz i
izlaz podataka. ENIAC je imao dimenzije 10*20 m i teio preko 30 t. Po tome je raunarski
sistem bez programa, nazvan hardver. Raunar se sastojao od 70 000 otpornika, 10 000
kondenzatora i 6 000 prekidaa. Za povezivanje ovih komponenti trebalo je zalemiti preko
500 000 spojeva. Mogao je da radi samo kada su sve komponente bile u ispravnom stanju, a
proseno vreme izmeu dva kvara bilo je sedam minuta. Na njemu je stalno radilo est
tehniara. ENIAC je kompletiran u decembru 1945. godine, poto je rat zavren. Negova
prva raunanja su bila u vezi s projektovanjem atomskog i balistikog oruja. Korien je i u
mnoge druge svrhe, ukluujui i prvu raunarsku prognozu vremena. Bio je u upotrebi do
oktobra 1955. godine.
1-5
Slika 6. ENIAC
EDVAC (Electronic Discrete Variable Automatic Computer). Za vreme razvoja
ENIAC-a, grupi na univerzitetu Pensilvanije koja je poinjala rad na drugom raunaru, 1944.
pridruio se i Don Fon Nojman. Ova maina je trebala da ima samo desetinu komponenti od
kojih je bio sastavlen ENIAC, a da ima sto puta veu memoriju. U konceptu projekta maine
Fon Nojman je naveden kao editor. Kluni koncept kod ove maine je bio uskladitenje
programa po kome maina radi u memoriju. Do tada su se podaci sa kojima je maina radila i
program po kome je radila unosili odvojeno u memoriju. Fon Nojman je predloio da se i
program i podaci dre uskladiteni u memoriju raunara u isto vreme. Na taj nain se program
mogao menjati podjednako lako i brzo kao i podaci. Ovaj princip programiranja raunara
zadran je do dananjih dana. Raunar EDVAC zavren je 1949. godine i bio je prva maina
koja je imala magnetne diskove. Pored ENIAC-a i EDVAC-a, krajem etrdesetih i poetkom
pedesetih godina razvijeno je vie raunara zasnovanih na istim principima, tehnologiji i
uglavnom slini:
1. 1948. razvijen EDSAC na univerzitetu u Kembridu
2. 1948. IBM uvodi elektronski kalkulator 604
3. 1948. IBM pravi SSEC raunar sa 12 000 cevi
4. 1949. Dej Foster u raunaru Whirlwind koristi kao glavnu memoriju, magnetnu
memoriju.
1-6
Slika 7. EDVAC
Pobolanje u raunarskoj tehnologiji nastavla se i poetkom pedesetih godina. Ona su
se odrazila i na raunarima proizvedenim u tom periodu. Raunari proizvedeni posle ovog
perioda kvalifikovani su u generacije. Svaka generacija ukluila je neka vea pobolanja
koja su ih inila brim, efikasnijim i monijim. Oko definisanja prve tri generacije postignuta
je opta saglasnost. Meutim, etvrta i peta generacija, o kojoj se esto diskutuje, nisu tako
dobro definisane.
2.1 Prva generacija raunara
Osnovna karakteristika prve generacije bilo je korienje vakumskih cevi kao aktivnih
elemenata. Ovi elementi su esto bili i veliine kunih lubimaca. Troili su mnogo struje i
proizvodili veliku koliinu toplote. Druga karakteristika ove generacije bila je memorija za
skladitenje programa i podataka. Razvijane su razne vrste memorija kao na primer,
magnetne trake i doboi. Cil je bio razvoj bre i jeftinije memorije. Poetkom pedesetih
godina dva otkria su izmenila sliku o elektronskim raunarima - od brzih nepouzdanih, oni
su postali relativno pouzdani, a mogunosti su im jo i poveane. To su otkrie magnetne
trake i tranzistora. Ova tehnika otkria brzo su nala primenu u raunarima, pa je tako i
kapacitet memorije komercijalnih raunara do poetka 60-ih godina narastao sa 80 000 na 64
000 rei. Nije bilo viih programskih jezika, ve se programiralo u mainskom jeziku, to je
zahtevalo vrlo detalne instrukcije. Ove maine su bile skupe za korienje i za iznajmlivanje,
a bile su skupe i za korienje zbog trokova odravanja i programiranja. Raunari su se
uglavnom nalazili u privatnim laboratorijama, dravnim ustanovama, ili velikim raunarskim
centrima u industriji i o njima je brinulo mnogo osobla za podrku i programera. Zbog toga
su mnogi korisnici zajedniki koristili raunarske kapacitete ovih maina.
1-7
Softver prve generacije raunara je pisan na mainskom jeziku. Svaki raunar je imao
svoj mainski jezik koji je bio usklaen sa elektronskim komponentama tog raunara.
Programeri koji su pisali programe na mainskom jeziku pisali su binarni kod za beleenje
instrukcija, za adresiranje memorije i za beleenje podataka. Programiranje na mainskom
jeziku bilo je veoma teko i podlono grekama. Rani raunari su mogli da izvravaju samo
jedan po jedan program, a posle zavretka rada jednog programa, raunar je morao da se
dovede u poetno stanje da bi moglo poeti izvravanje drugog programa.
2.2 Druga generacija raunara
Druga generacija obuhvata raunare proizvedene krajem pedesetih i u prvoj polovini
60-ih godina. Ova generacija zasnovana je na tranzistorima. Iako su tranzistori otkriveni
1948. godine, do 1959. godine nije bilo tehnologije i proizvodnih metoda za njihovo
korienje u raunarima. Raunari druge generacije sadrali su oko 10 000 pojedinanih
tranzistora koji su se runo privrivali na ploe i povezivali drugim s drugim elementima
icama. Tranzistori su imali odreene prednosti nad elektronskim cevima. Bili su jeftiniji,
brzi, manji, troili su manje elektrine energije i razvijali manje toplote. Prvi komercijalni
raunar koji je koristio tranzistore bio je Philco Transac S-2000, ali najvei uspeh u to vreme
je postigao IBM sa raunarom 1401. Ova maina se tako dobro prodavala da se broj raunara
u svetu udvostruio, a IBM postao vodei proizvoa. Osim navedenih tehnikih unapreenja,
pojavili su se i prvi programski jezici: Flow-Matic, iz koga se kasnije razvio COBOL,
FORTRAN, ALGOL i LISP.
U ovom periodu pojavljuju se veliki proizvoai raunara. 1959. godine IBM je izbacio
na trite raunare IBM 7090 i IBM 1401 koji su se zasnivali na tranzistorima. Raunar IBM
1401 se zasnivao na buenim karticama I bio je vrlo popularan - proizveden je i prodat u
12.000 primeraka. Imao je memoriju od magnetnih jezgara od 4000 (kasnije 16.000) rei.
Raunar je podravao decimalnu aritmetiku. Godine 1960. DEC (Digital Electronic
computers) je proizveo PDP-1 koji je prvenstveno bio namenjen istraivakim laboratorijama.
Godine 1961. Burroughs je proizveo B5000, prvi raunar sa dvostrukim procesorom i
virtualnom memorijom. Godine 1962. Sperry Rand je proizveo UNIVAC 1107, prvi iz vrlo
uspene serije UNIVAC 1100 raunara.
Raunari druge generacije mogli su da izvre oko 100.000 operacija u sekundi. U toku
ovog razvojnog perioda svaki raunarski sistem je u sebi imao memorijsku jedinicu u kojoj su
beleeni i programi i podaci zasnovanu na fon Nojmanovoj ideji.
Memorijske jedinice gradile su se od feritnih jezgara. Za programiranje raunara druge
generacije koristili su se asemblerski jezici koji su koristili skraenice ili simbolika imena
1-8
za kodove instrukcija i adrese u memorijskoj jedinici. Programiranje na asemblerskom jeziku
uinilo je rad programera efikasnijim.
Specijalni programi, asemberi, prevodili su ove programe u mainske instrukcije
raunara. Ovaj jezik je i dalje zahtevao jedan iskaz programa za jednu instrukciju raunara i
jezik je i dalje bio vezan za konretan raunar. Raunari druge generacije su mogli da obrauju
samo jedan po jedan asemblerski program.
Timovi raunarskih operatera pripremali su pakete programa na karticama da bi raunar
uvek bio zauzet. Takva vrsta obrade nazivala se paketna obrada (engl. batch processing).
Slika 8. IBM 1401 raunar
Slika 9. Raunar PDP-1 (Programmed Data Processor-1) je poznat i kao prvi miniraunar na kom se odigrala prva kompjuterska igra za raunare zvana Spacewar
1-9
2.3 Trea generacija raunara
Glavno tehnoloko unapreenje raunara tree generacije bila je primena integrisanih
kola. Godine 1959. napravlen je prvi planarni tranzistor sastavlen od jednog elementa.
Godine 1961. napravleno je integralno kolo od etiri tranzistora u jednom ipu. Godine 1964.
napravleno je integralno kolo za praktinu primenu sa pet tranzistora u jednom ipu. Godine
1968. proizveden je logiki ip sa 180 tranzistora. Uvoenje integralnih kola i LSI (Large
Scale Integration) integrisanih kola s visokim stepenom integracije omoguilo je proizvodnju
ipova sa hiladama tranzistora. Kompleksna kola, koja su bila ekonomina za proizvodnju,
znatno su poveala mogunosti raunara u kojima su koriena. Broj aktivnih komponenti u
raunaru narastao je sa 10 000 na vie od pola miliona. Niska cena, visoka pouzdanost, male
dimenzije, mali zahtevi za napajanjem i brzina izvoenja operacija ovih ipova znatno su
unapredile razvoj mikroraunara. Osim toga u ovoj generaciji magnetni diskovi su zamenili
magnetne trake, kao ureaj za skladitenje programa i podataka. Ovu generaciju obeleila je
serija raunara IBM 360.
Slika 10. IBM 360-44
Raunari tree generacije mogli su da izvre oko milion operacija u sekundi. Trea
generacija raunara dovela je do razvoja operativnih sistema kao grupe programa koja
upravlja i nadgleda rad raunarskog hardvera. Sa operativnim sistemom koji nadgleda
memoriju raunara, postalo je mogue istovremeno izvravanje vie programa (engl.
multitasking). Umesto grupisanja podataka u pakete, trea generacija raunara omoguava
obradu na liniji (engl. on-line processing) gde se ulazni podaci direktno unose u raunar i
1-10
njegov odgovor se "trenutno" dobija. Ovakva vrsta obrade dovela je do razvoja nove vrste
aplikativnog softvera. Na primer, za stovarita je ravije softver za prijem narudbi koje se
odmah obrauju. Aviokompanije su razvile sisteme za on-line rezervaciju i kupovinu karata.
Za programiranje raunara korieni su vii programski jezici. Korienje ovih jezika
eliminisalo je potrebu da programer za svaki raunar ui njegov asemblerski jezik. Tako je
1957. godine nastala prva verzija jezika FORTRAN (od FORmula TRAnslation). Jezik je uao
u iroku upotrebu ezdesetih godina, a njegove novije verzije koriste se do dananjih dana.
FORTRAN je omoguavao da se u jednom programskom iskazu zada sloeno matematiko
izraunavanje, jer jednom programskom iskazu odgovara vie mainskih instrukcija. Za
potrebe poslovnih obrada nastao je 1960. godine COBOL (COmmon Business-Oriented
Language) i njegova karakteristika su iroke mogunosti u kreiranju i odravanju velikih
podatkovnih datoteka.
Specijalni programi, kompilatori, prevode iskaze ovih programa u sekvencije
mainskih instrukcija raunara. Programski jezici FORTRAN i COBOL su proli kroz proces
standardizacije to je omoguilo korienje istih programa na razliitim tipovima raunara
(prenosivost programa).
2.4 etvrta generacija raunara
Do dalje minijaturizacije raunara dolo je 1968. godine sa izumom mikroprocesora.
Mikroprocesori su nastali za potrebe programiranih kalkulatora, ali su odmah nali primenu i
u raunarskoj industriji. U prethodnoj generaciji, raunarske mogunosti su bile raspodeljene
izmeu vie integrisanih kola. Mikroprocesori kombinuju integrisana kola za obradu
podataka, ogranienu memoriju, kontrolu ulazno izlaznih operacija u jedan ip.
Prvi komercijalno dostupni mikroprocesor Intel 4004 razvijen je 1971. godine. Kao
posledica ovog smanjivanja, raunarska snaga koja je zauzimala celu sobu tokom 1950.
godine sada staje na malo pare silicijuma veliine novia.
1970/71 - Prvi mikroprocesor (4-bitni mikroprocesor napravljen u Intel-u od
2300 tranzistora);
1972 - programski jezik C;
1974/75 - I8080, M6800, Zilog se izdvaja iz Intel-a .Pojavljuju se prvi
mikroraunari;
1975. Altair 8800 se generalno smatra za prvi lini (personalni) raunar;
1976. Apple-raunari;
1977. Memorijski ipovi od 16K (sa preko 20000 tranzistora);
1978. I8086;
1-11
1978. prvo izdanje K&R knjige Programski jezik C, Kernighan, Ritchie;
1980. Integrisana kola sa 200.000 tranzisrora;
1981. Predstavljen prvi IBM PC;
1983. I80286;
1985. I80386;
1989. I80486;
1993. Pentium I.
Od sredine 70-tih godina poeo je razvoj mikroraunara na bazi mikroprocesora. Prvi
takav raunar je Altair 8800 iz 1975. godine (MITS - Micro Instrumentation and Telementry
Systems) zasnovan na Intel procesoru 8080A. Imao je 256 bajtova memorije, nije imao
nikakav softver, a programirao se na mainskom jeziku. Zanimljivo je da su programski jezik
Basic (Beginners All-Purpose Language Instruction Code) za Altair razvili Bill Gates (Bil
Gejts) i Paul Allen (Pol Alen) koji su kasnije osnovali firmu Microsoft.
Slika 11. Altair 8800 raunar
Ubrzo su se pojavili i mnogi drugi mikroraunari, koji su poeli da se nazivaju kuni
raunari (engl. Home computers) ili personalni raunari (engl. personal computers - PC):
1977. Prvi raunari firme Apple, Tandy Radio Shack, 1980. Commodore. Kod nas je posebno
bio popularan raunar Sinclair Spectrum koji je za to vreme podravao jako dobru grafiku i
omoguavao razvoj jako dobrih igara. Kao izlazni ureaj koristio je standardni televizor, a za
ulaz i skladitenje korien je standardni kasetofon.
1-12
Slika 12. ZX Spectrum raunar
Poetkom 80-tih godina (1981.) i prestina firma IBM je pustila svoj prvi personalni
raunar, takozvani IBM Personal Computer (IBM-PC) koji je bio zasnovan na procesoru Intel
8086. Prvi IBM personalni raunari su imali brzinu procesora od 4.7 MHz, unutranju
memoriju od 128 KB, disketnu jedinicu od 5.25", a disk (koji nije bio obavezan) je imao
kapacitet od 10 MB. Ekrani ovih raunara su bili monohromatski i nisu podravali grafiku. I
kasniji modeli ovog proizvoaa zasnivaju se na procesorima ove firme. Usledio je raunar
IBM PC XT, a zatim su se raunari nazivali prema ugraenom procesoru: Intel 80286, 80386,
80486 do Pentiuma 80586.
Trite mikroraunara je veoma brzo raslo, pre svega sa pojavom personalnog raunara
i softvera koji je ljudima najrazliitijeg profila omoguavao da lake obave mnoge zadatke:
piu i menjaju dokumenta (word processing),
prave tabele (spreadsheets),
crtaju grafikone (graphics packages),
prave i odravaju svoje baze podataka (database programs).
Za raunare etvrte generacije je karakteristian razvoj neproceduralnih programskih
jezika koje mogu da savladaju i korisnici koji nemaju specijalno raunarsko obrazovanje.
Korisnik treba da navede ta su ulazni podaci, kako ih treba obraditi i kako treba predstaviti
rezultate obrade. Ovi jezici koriste u njih ugraeno znanje da bi generisali program koji treba
da obavi postavljeni zadatak.
1-13
2.5 Peta generacija raunara
Grupa japanskih poslovnih ljudi i vladinih institucija je poetkom osamdesetih godina
postavila cilj izgradnje pete generacije raunara. Verovalo se da e se ona oslanjati na
intenzivno korienje paralelnih procesora, raunare sa superraunarskim performansama i na
mogunosti vetake inteligencije (engl. Artificial intelligence). Projekat je iniciralo
Ministarstvo za meunarodnu trgovinu i industriju (MITI) i u projekat su uloena ogromna
sredstva (oko pola milijarde dolara).
2.6 Superraunari
Pod superraunarima se obino podrazumevaju raunari velikih mogunosti i brzine
obrade (tadanji superraunari dostizali su brzine i do 150 miliona operacija u sekundi), ija
konstrukcija nije zasnovana na Fon Nojmanovoj arhitekturi raunara nego na paralelizaciji
raunarskog procesa. Namenjeni su za nauno-tehnike proraune sa ogromnim brojem
raunskih operacija. Proizvodnja ovih raunara poela je krajem sedamdesetih i poetkom
osamdesetih godina. U to vreme najpoznatiji su bili raunari firmi Cray (Cray 1, Cray X -
MP) i CDC (Control Data Corporation) Cyber 205. Kasnije su i drugi proizvoai poeli da
prave superraunare, kao na primer Fujitsu, Hitachi, Nec i drugi. Ovi raunari se proizvode u
malom broju, jer je podruje njihovog korienja ogranieno, a zahtevaju i specijalne uslove
korienja i odravanja (hlaenje tenim azotom ili vodom).
Slika 13. IBM 7030 superraunar
1-14
Tabela 1. Osnovne karakteristike generacija raunara
Generacija Hardver Softver Primeri
raunara Performanse
I
Elektronske cevi,
magnetni doboi Mainski kod, memorisani programi
ENIAC,
UNIVAC I,
IBM 700
2 KB OM,
10 KIPS1
II
Tranzistori, memorija Programski jezici
visokog nivoa,
paketna obrada
IBM 7094 32 KB OM,
200 KIPS
III
Integrisana kola,
poluprovodnike memorije,
mikroprocesori
Deljenje vremena,
grafika,
multiprogramiranje,
strukturno
programiranje
IBM 360,
370; PDP 11
2 MB OM, 5
MIPS
IV
VLSI2, mree, optiki diskovi, personalni
raunari
OO jezici, ekspertski
sistemi, mreni i distribuirani OS
IBM 3090,
Cray XMP,
IBM PC
8 MB OM,
30 MIPS
V
ULSI3, GaAs4,
paralelni sistemi
Paralelno
procesiranje, vetaka inteligencija
Sun Sparc,
Intel
64 MB OM,
10 GFLOPS5
1 KIPS, MIPS (Kilo Mega Instructions per Second), mera brzine rada procesora, broj hiljada (miliona) instrukcija koje moe da izvri u jednoj sekundi 2 VLSI (Very Large Scale Integration), integracija nekoliko hiljada tranzistora na jednom ipu 3 ULSI (Ultra Large Scale Integration), integracija nekoliko miliona tranzistora na jednom ipu 4 GaAs (Gallium Arsenide), jedinjenje galijuma i arsenida, koje se koristi za izradu ipova umesto silicijuma 5 GFLOPS (Giga Floating Point Operations per Second), mera brzine rada procesora, broj milijardi operacija sa
pokretnim zarezom koje moe da izvri u jednoj sekundi
1-1
1.
BROJNI SISTEMI
Brojni sistemi se meusobno razlikuju prema ciframa koje se koriste za njihovo
zapisivanje. Mogu se podeliti na:
1. Decimalne brojne sisteme (b = 10), cifre 0, 1, 2,, 9 (pr. 356,3410, -11,8710)
2. Heksadecimalne brojne sisteme (b = 16), cifre 0, 1, 2,, 9, A, B, C, D, E, F (pr.
2A,3F16, -AF,3D16)
3. Oktalne brojne sisteme (b = 8), cifre 0, 1, 2,, 7 (pr. 117,658, -22,378)
4. Binarne brojne sisteme (b = 2), cifre 0 i 1 (pr. 1011,1112).
Brojevi u donjem desnom uglu navedenih brojeva predstavljaju osnovu odgovarajueg
brojnog sistema, tj. broj razliitih cifara koji se koristi za graenje brojeva u tom brojnom
sistemu. Svi navedeni brojni sistemi su teinski, tj. svaka cifra u broju ima svoju poziciju i
teinu.
Pozicija 2 1 0 -1 -2
1 9 6 , 1 2 10
Teina 102 101 10 10-1 10-2
Primer 1. Notacija broja 123 zapisanog u razliitim brojnim sistemima
- Decimalni brojni sistem: 12310 = 123
- Binarni brojni sistem : 11110112
- Oktalni brojni sistem: 1738
- Heksadecimalni brojni sistem: 7B16
Kod programskih jezika broj u odreenom brojnom sistemu se predstavlja
dodavanjem prefiksa pomou kojeg se on razlikuje od ostalih brojnih sistema.
Primer 2. Notacija broja 123 u programskim jeziku C zapisanog u razliitim brojnim
sistemima:
- Decimalni brojni sistem: 123
- Binarni brojni sistem : 0b1111011
- Oktalni brojni sistem: 0173
1-2
- Heksadecimalni brojni sistem: 0x7B.
Primer 3. Koliko brojeva je mogue predstaviti pomou trocifrenog decimalnog, binarnog,
oktalnog i heksadecimalnog broja.
- Trocifren decimalni broj: Mogue je predstaviti 1000103 nb trocifrenih
decimalnih brojeva (000, 001, 002,....997, 998, 999).
- Trocifren binarni broj: Mogue je predstaviti 823 nb trocifrenih binarnih brojeva
(000, 001, 010, 011, 100, 101, 110, 111).
- Trocifren oktalni broj: Mogue je predstaviti 51283 nb trocifrenih oktalnih
brojeva (000, 001, 002,....775, 776, 777).
- Trocifren heksadecimalni broj: Mogue je predstaviti 4096163 nb trocifrenih
heksadecimalnih brojeva (000, 001, 002,....FFD, FFE, FFF).
1.1 Prevoenje u decimalni broj
Za prevoenje broja napisanog u bilo kom brojnom sistemu u decimalni broj, potrebno
je sabrati sve proizvode pojedinih cifara i njihovih teina.
1
10
ni
i
i m
N a b
,
pri emu je n broj cifara u celom delu broja, a m broj cifara iza decimalne take, ai predstavlja
cifru na poziciji i, dok b predstavlja osnovu brojnog sistema u kojem je broj napisan.
Primer 4. Prevesti oktalni broj 77 u decimalni ekvivalent.
0 1
8 1077 7 8 7 8 63
Primer 5. Prevesti heksadecimalni broj 1FC,2 i decimalni ekvivalent.
1 0 1 2
16 101FC,2 =2 16 12 16 15 16 1 16 508,125
Zadatak 1. Pronai decimalni ekvivalent binarnog realnog broja 101011,11012
43210123452
4321012345
10 212021212121202120211011,110101
N
16
11
8
10
4
11
2
1111214081160321
8125,430625,0025,05,01208032
Zadatak 2. Pronai decimalni ekvivalent heksadecimalnog realnog broja 5FB,7C16
2101216
21012
10 1616716161657,5
CBFCBFN
256
112
16
1711116152565 484375,1532046875,04375,0112401280
Zadatak 3. Pronai decimalni ekvivalent oktalnog realnog broja 1457,058
1-3
21012316
210123
10 85808685848150,6541
N
64
15
8
10161856445121 078125,808078125,0040256512
1.2 Prevoenje celih decimalnih brojeva
Postupak prevoenja celih decimalnih brojeva je postupak uzastopnog deljenja. On se
sprovodi uzastopnim deljenjem odgovarajueg decimalnog broja i celobrojnih rezultata
deljenja sa osnovnom brojnog sistema u koga se vri prevoenje, sve dok se kao rezultat ne
dobije nula. Ostaci deljenja predstavljaju cifre traenog broja, pri emu prvo dobijena cifra
predstavlja cifru sa najmanjom teinom.
Zadatak 4. Predstaviti decimalni broj 27 u binarnom brojnom sistemu
1|142:29 pozicija 0
0|72:14 pozicija 1
1|32:7 pozicija 2
1|12:3 pozicija 0
1|02:1 pozicija 4
210 1110129
Provera: 29104816212021212110111 01234201234
10
N
Zadatak 5. Predstaviti decimalni broj 367 u heksadecimalnom brojnom sistemu
F 15|2216:367 pozicija 0
6|116:22 pozicija 1
1|016:1 pozicija 2
1610 16367 F
Provera: 36715962561616616161 01216012
10
FFN
1.3 Prevoenje realnih decimalnih brojeva
Vri se sabiranjem rezultata prevoenja celog dela broja korienjem gore navedenog
postupka uzastopnog deljenja i rezultata prevoenja dela iza decimalne take korienjem
postupka uzastopnog mnoenja. Ovaj postupak se sprovodi uzastopnim mnoenjem
odgovarajueg dela iza decimalne take i dobijenih razlomljenih delova sa osnovom brojnog
1-4
sistema u koji se vri prevoenje, sve dok se ne dobije ceo broj kao rezultat mnoenja. Celi
delovi rezultata mnoenja predstavljaju cifre traenog broja, pri emu prvo dobijena cifra
predstavlja cifru najvee teine.
Ukoliko nije mogue nai taan broj, tada se dobijeni broj rauna sa grekom koja je
manja ukoliko je naeni broj cifara vei.
Zadatak 6. Odrediti binarni ekvivalent decimalnog broja 27,0625.
27 : 2 = 13 1
13 : 2 = 6 1
6 : 2 = 3 0
3 : 2 = 1 1
1 : 2 = 0 1
0,0625 2 = 0,125
0,125 2 = 0,25
0,25 2 = 0,5
0,5 2 = 1
27,062510 = 11011,00012
Zadatak 7. Odrediti heksadecimalni ekvivalent broja 357,546875.
357 : 16 = 22 5
22 : 16 = 1 6
1 : 16 = 0 1
0,546875 16 = 8, 75
8,75 16 = 12
357,54687510 = 165,8C16
1.4 Prevoenje brojnih sistema sa osnovom 2n
Neka je osnova jednog brojnog sistema 1 2nb , a drugog 2 2
mb . Prevoenje broja iz
prvog u drugi brojni sistem se vri na sledei nain:
- Svaka cifra broja u prvom brojnom sistemu se zapisuje pomou n binarnih cifara, gde
tih n binarnih cifara predstavljaju binarni ekvivalent te cifre.
- U dobijenom binarnom broju, odvajaju se grupe od po m binarnih cifara levo i desno
od decimalnog zareza, pa se dobijene m-torke predstavljaju ciframa osnove drugog
brojnog sistema.
1-5
Tabela 1. Prevoenje oktalnog brojnog sistema
Cifra Binarni ekvivalent
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Tabela 2. Prevoenje heksadecimalnog brojnog sistema
Cifra Binarni ekvivalent
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
Zadatak 8. Prevesti iz oktalnog u heksadecimalni brojni sistem broj 7145,63118.
Oktalni 7 1 4 5 , 6 3 1 1 8
Binarni 111 001 100 101 , 110 011 001 001 2
Heksadecimalni E 6 5 , C C 9 16
7145,63118 = E65,CC916
Zadatak 9. Predstaviti heksadecimalni broj 378,AF16 u binarnom brojnom sistemu
216 10101111,110111100011111010,100001110011,378 AF
1-6
Zadatak 10. Predstaviti heksadecimalni broj 6F,3C16 u oktalnom brojnom sistemu
82216 17,157111001,11110100111000011,111101103,6 CF
1.5 Predstavljanje nebrojivih veliina
Za predstavljanje znakovnih podataka u raunaru koriste se binarni kodovi koji su
kreirani od strane meunarodnih organizacija za standardizaciju. Najpoznatiji kod za
predstavljanje znakovnih podataka je ISO7, poznatiji kao ASCII koji svaki karakter
predstavlja pomou 7 - bitne kodne rei. Pomou standardnog ASCII koda mogue je
predstaviti 128 razliitih karaktera i on obuhvata mala i velika skova engleskog alfabeta,
znake interpunkcije i specijalne znake. Novije verzije ASCII koda koriste 8 bitova kako bi se
predstavili karakteri specifini za pojedine jezike, tako da svaka zemlja ima posebno razvijen
ASCII kod. Ovaj problem je prevazien uvoenjem Unicode-a poznatijeg kao UTF-8 koji
koristi promenljivu duinu kodne rei.
Tabela 3. Tabela ASCII kodova koji se mogu ispisati na raunaru
DEC OCT HEX BIN Simbol Opis
32 040 20 00100000 Razmak
33 041 21 00100001 ! Znak uzvika
34 042 22 00100010 " Dvostruki navodnici
35 043 23 00100011 # Broj
36 044 24 00100100 $ Dolar
37 045 25 00100101 % Procenat
38 046 26 00100110 & Ampersand
39 047 27 00100111 ' Jednostruki navodnici
40 050 28 00101000 ( Otvorena zagrada
41 051 29 00101001 ) Zatvorena zagrada
42 052 2A 00101010 * Zvezdica
43 053 2B 00101011 + Plus
44 054 2C 00101100 , Zarez
45 055 2D 00101101 - Crta
46 056 2E 00101110 . Taka
47 057 2F 00101111 / Kosa crta, deljenje
48 060 30 00110000 0 Nula
49 061 31 00110001 1 Jedan
50 062 32 00110010 2 Dva
1-7
51 063 33 00110011 3 Tri
52 064 34 00110100 4 etiri
53 065 35 00110101 5 Pet
54 066 36 00110110 6 est
55 067 37 00110111 7 Sedam
56 070 38 00111000 8 Osam
57 071 39 00111001 9 Devet
58 072 3A 00111010 : Dve take
59 073 3B 00111011 ; Taka-zarez
60 074 3C 00111100 < Manje nego (ili otvorena
uglasta zagrada)
61 075 3D 00111101 = Jednako
62 076 3E 00111110 > Vee nego (ili zatvorena uglasta zagrada)
63 077 3F 00111111 ? Znak pitanja
64 100 40 01000000 @ At simbol
65 101 41 01000001 A Veliko A
66 102 42 01000010 B Veliko B
67 103 43 01000011 C Veliko C
68 104 44 01000100 D Veliko D
69 105 45 01000101 E Veliko E
70 106 46 01000110 F Veliko F
71 107 47 01000111 G Veliko G
72 110 48 01001000 H Veliko H
73 111 49 01001001 I Veliko I
74 112 4A 01001010 J Veliko J
75 113 4B 01001011 K Veliko K
76 114 4C 01001100 L Veliko L
77 115 4D 01001101 M Veliko M
78 116 4E 01001110 N Veliko N
79 117 4F 01001111 O Veliko O
80 120 50 01010000 P Veliko P
81 121 51 01010001 Q Veliko Q
82 122 52 01010010 R Veliko R
83 123 53 01010011 S Veliko S
84 124 54 01010100 T Veliko T
85 125 55 01010101 U Veliko U
1-8
86 126 56 01010110 V Veliko V
87 127 57 01010111 W Veliko W
88 130 58 01011000 X Veliko X
89 131 59 01011001 Y Veliko Y
90 132 5A 01011010 Z Veliko Z
91 133 5B 01011011 [ Otvorena zagrada
92 134 5C 01011100 \ Obrnuta kosa crta
93 135 5D 01011101 ] Zatvorena zagrada
94 136 5E 01011110 ^ Umetanje
95 137 5F 01011111 _ Donja crta
96 140 60 01100000 ` Akcenat
97 141 61 01100001 a Malo a
98 142 62 01100010 b Malo b
99 143 63 01100011 c Malo c
100 144 64 01100100 d Malo d
101 145 65 01100101 e Malo e
102 146 66 01100110 f Malo f
103 147 67 01100111 g Malo g
104 150 68 01101000 h Malo h
105 151 69 01101001 i Malo i
106 152 6A 01101010 j Malo j
107 153 6B 01101011 k Malo k
108 154 6C 01101100 l Malo l
109 155 6D 01101101 m Malo m
110 156 6E 01101110 n Malo n
111 157 6F 01101111 o Malo o
112 160 70 01110000 p Malo p
113 161 71 01110001 q Malo q
114 162 72 01110010 r Malo r
115 163 73 01110011 s Malo s
116 164 74 01110100 t Malo t
117 165 75 01110101 u Malo u
118 166 76 01110110 v Malo v
119 167 77 01110111 w Malo w
120 170 78 01111000 x Malo x
121 171 79 01111001 y Malo y
122 172 7A 01111010 z Malo z
1-9
123 173 7B 01111011 { Otvorena velika zagrada
124 174 7C 01111100 | Vertikalna crta
125 175 7D 01111101 } Zatvorena velika zagrada
126 176 7E 01111110 ~ Tilda, znak ekvivalentnosti
127 177 7F 01111111
Brisanje (delete)
Predstavljanje boja kod raunara vri se korienjem palete boja. U zavisnosti on naina
prikaza razlikujemo:
- crno-beli prikaz,
- grayscale prikaz,
- full color prikaz.
Postoje dva osnova modela predstavljanja boja u full color reimu. To su dodavanje i
oduzimanje boja.
Slika 1. Model predstavljanja boja sabiranjem i oduzimanjem boja
Kod modela sabiranja, uoavaju se tri osnovne komponente bele svetlosti:
- crvena,
- zelena,
- plava.
Sve ostale boje se dobijaju kombinacijom navedenih boja. Ovakav prikaz se naziva
RGB (Red-Green-Blue).
Kod modela oduzimanja, uzimaju se boje koje prolaze kroz staklenu povrinu kada se
zadravaju osnovne komponente svetlosti. To su:
- uta (zadrana je plava),
- plavozelena (zadrana je crvena),
- ruiasta (zadrana je zelena),
- crna (zadrana je bela).
1-10
Ovaj model se obino naziva CMYK (Cyan-Magenta-Yellow-Black).
1.6 Predstavljanje celih brojeva u raunaru
Za predstavljanje celih brojeva u raunaru koristi se binarni brojni sistem. Pomou n
bita (binarnih cifara), mogu se predstaviti svi celi brojevi od 0 do 2n - 1 (najvei broj koji se
moe predstaviti pomou n bita je (11 11)2). Ovaj nain se koristi za predstavljanje
pozitivnih (neoznaenih) brojeva.
Ukoliko elimo da predstavimo i negativne (oznaene) brojeve, prvi bit u reprezentaciji
se koristi za kodiranje znaka broja. Postoje ukupno tri naina za predstavljanje oznaenih
brojeva.
1.6.1 Direktno kodiranje bita znaka
Kod ovog naina se na poziciji bita znaka upisuje 0 ukoliko je broj pozitivan, a 1
ukoliko je negativan. Ostalih n - 1 bitova se koristi za predstavljanje apsolutne vrednosti broja
u binarnom sistemu. Ovaj nain je sigurno najjednostavniji za predstavljanje, ali se osnovne
aritmetike operacije nad ovako predstavljenim brojevima teko izvravaju.
1.6.2 Nepotpuni komplement (komplement jedinice)
Cilj je izvriti takvo predstavljanje oznaenih brojeva da se aritmetike operacije mogu
izvravati na slian nain kao i kod neoznaenih brojeva. Neka je dat broj A ija se apsolutna
vrednost moe predstaviti u binarnom sistemu pomou n cifara (bitova). Kao i kod direktnog
kodiranja i ovde e biti potrebno ukupno n + 1 binarnih cifara. Za predstavljanje bita znaka se
i ovde koristi isti nain kao i kod direktnog kodiranja. Zatim se u binarnoj reprezentaciji
apsolutne vrednosti broja |A| zamene cifre 0 i 1 na svakoj poziciji. Tako se dobija preostalih n
bitova.
Praktino se A dobija tako to se u binarnoj reprezentaciji broja |A| zamene cifre 0 i 1
na svakoj poziciji. Pomou ukupno n + 1 bita, na ovaj nain je mogue predstaviti sve brojeve
u intervalu [-2n + 1, 2n 1].
1.6.3 Potpuni komplement (komplement dvojke)
Komplement dvojke n-tocifrenog broja u binarnom brojnom sistemu je n-tocifren
binarni broj koji se dobija oduzimanjem zadatog broja od broja koji ima n + 1 cifara i to koji
na poziciji n + 1 ima jedinicu, a na svim ostalim pozicijama nulu. Ako je broj pozitivan, onda
je bit predznaka an1 = 0. Ostali brojevi predstavljaju apsolutnu vrednost broja.
1-11
2
0
A 0, A = 2n
i
i
i
a
Broj nula se identifikuje kao pozitivan i zato bit predznaka ima vrednost nula, kao i
apsolutna vrednost koja je sastavljena od nula.
Opseg pozitivnih celih brojeva koji se mogu predstaviti je od 0 do 2n-1 1. Bilo koji vei
broj zahteva vie bitova.
Za negativan broj bit predznaka je an1 = 1. Ostalih n 1 bitova predstavljaju negativan
broj zapisan u komplementu dvojke.
21
1
0
A < 0, A = 2 2n
n i
n i
i
a a
Ponekad je potrebno da se uzme n-bitni ceo broj i uskladiti u m bitova, gde je m > n.
Proirivanje brojeva zapisanih u komplementu dvojke se vri tako to se bit predznaka pomeri
u krajnju levu poziciju, a prazna mesta se popune kopijama bita predznaka.
2-1
2.
CELOBROJNA BINARNA ARITMETIKA
Sabiranje binarnih brojeva se vri prema sledeoj tabeli:
Tabela 1. Sabiranje binarnih brojeva
Sabirak 1 0 0 1 1
Sabirak 2 0 1 0 1
Zbir 0 1 1 0
Prenos 0 0 0 1
Dva binarna broja se sabiraju tako to se, poevi od bita najmanje teine, sabiraju
odgovarajui bitovi sabiraka. Ako se generie prenos, prenosi se jednu poziciju ulevo i sabira
sa zbirom bitova na toj poziciji, kao i u decimalnoj aritmetici. U aritmetici komplementa
dvojke, prenos koji se desi sabiranjem bitova najvee teine se uglavnom odbacuje.
Bit najmanje teine se zove LSB (engl. Least Significant Bit), dok se bit najvee teine
zove MSB (engl. Most Significant Bit).
2.1 Negacija
Operacija negacije celog decimalnog broja se vri tako to se napravi komplement
svakog bita celog broja (ukljuujui i bit predznaka) i tako dobijenom broju se doda jedinica.
Primer 1. Primeniti operaciju negacije na brojeve +18 i -18.
( 18) 00010010 1 11101101 1 11101110
( 18) 11101110 1 00010001 1 00010010
Napomena. Broj se obino dopunjuje bitovima predznaka do broja koji je stepen broja 2.
Pojedine grupe bitova koje su stepeni broja dva se zovu:
- Nibl (engl. nibble, 4 bita),
- Bajt (engl. byte, 8 bitova),
- Polure (engl. half-word, 16 bitova),
- Re (engl. word, 32 bita).
2-2
Primer 2. Predstaviti u komplementu dvojke broj -75.
10 275 01001011 01001011 1 10110100 1 10110101
ili na osnovu definicije komplementa dvojke:
100000000
-01001011
10110101
2.2 Sabiranje
Prilikom svakog sabiranja rezultat moe da bude vei od onoga to moe da se dri u
rei veliine koja se koristi. Taj sluaj se zove prekoraenje (engl. overflow). Kada doe do
prekoraenja, ALU mora da signalizira to stanje kako bi se izbeglo korienje netanog
rezultata. Da bi se otkrilo prekoraenje, posmatra se sledee pravilo: ako se dva broja sabiraju
i oba su pozitivna ili oba su negativna, do prekoraenja dolazi ako i samo ako rezultat ima
suprotan predznak.
Bit prekoraenja se rauna prema sledeoj formuli:
1 1 1 1 1 1n n n n n nV A B F A B F ,
gde su An-1 i Bn-1 bitovi predznaka sabiraka, a Fn-1 bit predznaka rezultata.
Primer 3. Sabiranje brojeva predstavljenih u komplementu dvojke sa 4 bita.
1001 = -7
+0101 = 5
1110 = -2
1100 = -4
+0100 = 4
10000 = -2
bit prenosa (ignorie se)
0011 = 3
+0100 = 4
0111 = 7
1100 = -4
+1111 = -1
11011 = -5
bit prenosa (ignorie se)
0101 = 5
+0100 = 4
1001 = prekoraenje
1001 = -7
+1010 = -6
10011 = prekoraenje bit prenosa (ignorie se)
2.3 Oduzimanje
Operacija oduzimanja nad celim oznaenim brojevima se vri primenom sledeeg
pravila: da bi se oduzeo jedan broj od drugog (umanjilac od umanjenika), uzima se
komplement dvojke (negacija) umanjioca i dodaje se umanjeniku.
( )A B A B
2-3
Primer 4. Oduzimanje brojeva predstavljenih u komplementu dvojke sa 4 bita.
0010 = 2
+1001 = -7
1011 = -5
0101 = 5
+1110 = -2
10011 = 3
bit prenosa (ignorie se)
0101 = 5
+0010 = 2
0111 = 7
1011 = -5
+1110 = -2
11001 = -7
bit prenosa (ignorie se)
0111 = 7
+0111 = 7
1110 =
prekoraenje
1010 = -6
+1100 = -4
10110 = prekoraenje bit prenosa (ignorie se)
Zadatak 1. Raunar smeta cele brojeve u komplementu dvojke pomou osam bitova.
Odrediti komplement dvojke brojeva A = +3410 i B = -5610, kao i njihov zbir i razliku.
10 2
10 2
34 00100010
56 00111000 1 11000111 1 11001000
A
B
A + B = 00100010
+11001000
11101010
7 6 5 3
1011101010 2 2 2 2 2 22
( 56) 11001000 1 00110111 1 00111000B
A - B = 00100010
+00111000
01011010
2 1001011010 90
M = 2 = 0010
S = 7 = 0111
-S = -7 = 1001
M = 5 = 0101
S = 2 = 0010
-S = -2 = 1110
M = 5 = 0101
S = -2 = 1110
-S = 2 = 0010
M = -5 = 1011
S = 2 = 0010
-S = -2 = 1110
M = 7 = 0111
S = -7 = 1001
-S = 7 = 0111
M = -6 = 1010
S = 4 = 0100
-S = -4 = 1100
2-4
RAUN U POKRETNOM ZAREZU
Kod notacije u fiksnom zarezu (u komplementu dvojke), mogue je predstaviti opseg
pozitivnih i negativnih celih brojeva u ijem sreditu se nalazi nula. Usvajajui fiksni binarni
zarez, taj format dozvoljava i predstavljanje brojeva sa razlomakim delom. Ogranienja ovog
pristupa su u tome da se ne mogu predstaviti veoma veliki brojevi, kao ni veoma mali
razlomci.
Za decimalne brojeve, ovo ogranienje se zaobilazi korienjem naune notacije. Prema ovoj
notaciji, broj 97 600 000 000 000 000 se moe predstaviti kao 9,761014, a broj 0,000 000 000
000 097 6 kao 9,7610-14.
Korienjem naune notacije odraeno je dinamiko pomeranje decimalnog zareza na
pogodnu lokaciju i upotrebljen je eksponent broja 10 kako bi se sauvao trag tog zareza. Ovo
omoguava da se veoma veliki i veoma mali brojevi predstave pomou samo nekoliko cifara.
Isti pristup se moe primeniti i kod binarnih brojeva. Broj se predstavlja u obliku:
S BE
Ovaj broj se moe uskladititi u binarnoj rei sa tri polja:
1. Polje predznaka (),
2. Polje znaajne cifre (S),
3. Polje eksponenta (E).
Osnova B je implicitna i ne mora se skladititi jer je ista za sve brojeve (B = 2). Tipino,
zarez se postavlja posle najznaajnijeg bita znaajne cifre.
Predstavljanje binarnih brojeva u pokretnom zarezu u 32-bitnom formatu je dat na
sledeoj slici.
1 bit 8 bita 23 bita
Predznak
znaajne cifre
Polarizovani eksponent Znaajna cifra (razlomak)
Slika 1. Predstavljanje binarnih brojeva u pokretnom zarezu u 32-bitnom formatu
Krajnji levi bit skladiti predznak broja (0 za pozitivan, 1 za negativan). Vrednost
eksponenta se skladiti u sledeih 8 bitova, korienjem polarizacionog predstavljanja. Fiksna
vrednost koja se zove polarizacija se oduzima od polja da bi se dobila prava vrednost
2-5
eksponenta. Tipino, polarizacija je jednaka 2k-11, gde je k broj bitova u binarnom
eksponentu. U ovom sluaju, 8-bitno polje daje brojeve od 0 do 255. Sa polarizacijom od 127,
prave se vrednosti eksponenta u opsegu od -127 do +127, pri emu je osnova 2, tj. opseg je od
2-127 do 2127. Zavrni deo rei, u ovom sluaju duine 23 bita je znaajna cifra.
Da bi se pojednostavile operacije nad brojevima u pokretnom zarezu, obino se zahteva
da brojevi budu normalizovani. Normalizovan broj je onaj u kome je najznaajnija cifra u
znaajnoj cifri razliita od nule. Normalizovan broj u binarnom brojnom sistemu na poziciji
najvee teine znaajne cifre ima vrednost 1. tipina konvencija je da postoji samo jedan bit
levo od zareza u znaajnoj cifri. Prema tome, normalizovan binarni broj razliit od nule je
broj koji je dat u obliku:
1,bbb 2E,
gde je b nula ili jedan.
Poto je najznaajniji bit uvek jedan, on je implicitan i nije ga potrebno skladititi.
Prema tome, 23-bitno polje se koristi da bi se uskladitila 24-bitna znaajna cifra sa vrednou
u poluotvorenom intervalu [1,2). Ako dati broj nije normalizovan, on se moe normalizovati
pomeranjem zareza desno od krajnjeg levog bita sa vrednou 1 i odgovarajuim
podeavanjima eksponenta.
Primer 5. Predstaviti decimalne brojeve 1,6328125 220; -1,6328125 220; 1,6328125 2-20 i -
1,6328125 2-20 u pokretnom zarezu sa 32 bita i polarizovanim eksponentom.
20 10100
127 20 147 23
20 10100
1,6328125 2 1,1010001 2 0 100100111010001000...00
1,6328125 2 1,1010001 2 1 10010011
predznak bitapolarizovani znaajnaeksponent cifra
predznak polarizovanieks
23
20 10100
20 10100
1010001000...00
1,6328125 2 1,1010001 2 0 01101011 1010001000...00
1,6328125 2 1,1010001 2 1 01101011 1010001000...00
bitaponent
Napomene:
- Predznak se skladiti u prvom bitu rei.
- Vrednost prvog bita znaajne cifre je uvek 1 i ne mora se skladititi u polju za
znaajnu cifru.
- Vrednost polarizacije (u ovom sluaju 127) se dodaje pravom eksponentu da bi se
skladitila u polju za eksponent.
- Osnova je 2.
Opseg brojeva koji se mogu prikazati u pokretnom zarezu je dat na sledeoj slici.
2-6
Negativni brojevi
koji se mogu
predstaviti
Pozitivni brojevi
koji se mogu
predstaviti
Negativni
prebaaj Negativni
podbaaj Pozitivni
podbaaj Pozitivni
prebaaj
- (2 223) 2-128 -2-127 0 2-127 (2 223) 2-128
Slika 2. Opseg brojeva koji se mogu prikazati u pokretnom zarezu
Na sledeoj slici je prikazan opseg celih brojeva koji se mogu predstaviti u pokretnom
zarezu.
-231 0 231 1
Slika 3. Opseg celih brojeva koji se mogu predstaviti u pokretnom zarezu
2.4 IEEE standard za predst