organizacija racunara tf cacak predavanja i vezbe

252
Универзитет у Крагујевцу ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА Чачак ОРГАНИЗАЦИЈА РАЧУНАРСКИХ СИСТЕМА РАЧУНАРСКО ИНЖЕЊЕРСТВО I ПРЕДАВАЊЕ 18. ФЕБРУАР 2013. ГОДИНЕ Настава из предмета Организација рачунарских система за студенте студијског програма Рачунарско инжењерство обухвата: 1. Општу организацију рачунара; 2. Меморијски подсистем рачунара; 3. Улазно/излазни подсистем рачунара; 4. Унутрашње комуникације рачунарске магистрале. Уџбеничка литература из ове области је широко доступна поготову када се ради о уџбеницима на енглеском језику. Један од таквих уџбеника је преведен на српски језик и доступан је читаоцима. Ради се о уџбенику: William Stallings, „Organizacija i arhitektura računara – Projekat u funkciji preformansi“ Издавачи овог превода су Рачунарски факултет и CET из Београда. На WEB порталу Лабораторије за рачунарску технику – http://csl.tfc.kg.ac.rs у рубрици Настава/Основне студије биће постављена PDF датотека у којој ће студенти бити укратко упознати са програмом предмета, поглављима из напред наведеног уџбеника која ће бити обрађена током наставе и прегледом тема које студентима могу помоћи код учења материје коју обухвата овај предмет. Такође, након сваког предавања преко WEB портала Лабораторије за рачунарску технику студентима ће бити у облику PDF датотеке доступан приказ предавања. Настава из предмета Организација рачунарских система одвијаће се кроз: Теоријску наставу; Рачунске вежбе; Лабораторијске вежбе. Полазећи од искуства из наставе и провере знања из овог предмета у прошлој школској години (када је прив пут извођена настава из овог предмета) провера знања из овог предмета одвијаће се кроз кроз: Два рачунска колоквијума; Два теоријска колоквијума; Писменог дела испита полажу се само задаци; Усменог дела испита. Информације о предавањима, колоквијумима и испитима могу да се нађу на WEB порталу Лабораторије за рачунарску технику.

Upload: mirko-mirkovic

Post on 06-Nov-2015

48 views

Category:

Documents


12 download

DESCRIPTION

organizacija racunarskih sistema tf cacak predavanja i vezbe

TRANSCRIPT

  • 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 :

    [email protected] uros. [email protected]

  • . . . 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

    . :

    [email protected] [email protected]

  • 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