SlideShare a Scribd company logo
1 of 52
Structura
                  şi
        organizarea
       calculatoarelor
                - curs -

2008    Ionescu Augustin-Iulian
Capitolul 1

    ARITMETICA
 CALCULATOARELOR

2008   Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.2
Reprezentarea numerelor cu semn
Prezentare generală
   Fie N un număr binar cu semn
  N= bn-1bn-2…b1b0,b-1…b-m
   Deoarece într-un SN cu un număr par de cifre nu putem reprezenta
   direct numerele negative, se utilizează reprezentarea codificată.
   Codificarea semnului
              0   pentru          numere             pozitive
       bs
              1   pentru          numere             negative
       Codificarea valorii.
        • Cod direct (reprezentare prin mărime şi semn)
        • Cod complementar
        • Cod invers


2008              Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.3
Reprezentarea numerelor cu semn
Reprezentarea virgulă fixă prin mărime şi semn
       Bitul de semn bs nu are pondere deci poate ocupa orice poziţie.
       Pentru evitarea confuziilor, bs este plasat întotdeauna în poziţia
       extremă stângă (bitul cel mai semnificativ).
       Valoarea numărului se reprezintă, indiferent de semn, prin modulul
       numărului.
       În concluzie, numărul va fi reprezentat sub forma:
       N=bsbn-1bn-2…b1b0b-1…b-m
       În multe situaţii se consideră un caz particular al reprezentării şi
       anume numerele sunt fracţionare. În acest caz bitul de semn apare
       ca prima cifră de la partea întreagă (b0).

       N=bsb-1…b-m
2008              Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.4
Reprezentarea numerelor cu semn
Exemple:
       Fie numarul N=+0,74 reprezentat in format VF 1+15 prin
       marime si semn.
           0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0


       Fie numarul N=-0,74 reprezentat in format VF 1+15 prin
       marime si semn.
           1 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0




2008            Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.5
Reprezentarea numerelor cu semn
 Complementul faţă de 2
 Fie N un număr binar reprezentat pe n ranguri întregi şi m
 ranguri fracţionare:
  N=bn-12n-1+bn-22n-2+…+b121+b0+b-12-1+….b-m2m-1 =
               n 1
                            i
       =             bi 2
           i     m

Se numeşte complement faţă de 2 al numărului N numărul
 calculat cu relaţia
      N  =2n-N
şi reprezentat în acelaşi format ca şi numărul N.

2008                        Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.6
Reprezentarea numerelor cu semn
  Proprietate
                         n 1
                                       i
Fie numarul real N=            b i 2 . Atunci
                     i      m




                      Complementul fata de 1 al lui N




  2008          Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.7
Reprezentarea numerelor cu semn
Reprezentare virgulă fixă în cod complementar




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.8
Reprezentarea numerelor cu semn
Observații!




2008          Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.9
Reprezentarea numerelor cu semn
Exemple
       Fie numarul N=+0,74 reprezentat in format VF 1+15 cod
       complementar.
           0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0


       Fie numarul N=-0,74 reprezentat in format VF 1+15 cod
       complementar.
           1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0




2008            Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.10
Deplasarea numerelor cu semn
   Deplasarea spre stânga este echivalentă cu înmulţirea cu 2. Cifra
  din extrema stângă se pierde iar prin dreapta se introduce 0, indiferent
  de modul de reprezentare a numerelor.
    Deplasarea spre dreapta este echivalentă cu împărţirea la 2
  (înmulţirea cu 2-1). Cifra din extrema dreaptă se pierde, iar prin stânga
  se introduce 0 în cazul numerelor reprezentate prin mărime şi semn
  sau bitul de semn în cazul numerelor reprezentate în cod
  complementar.

Observație!
Deplasarea numerelor cu semn afectează numai modulul numerelor, nu şi
  bitul de semn.


  2008          Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.11
Deplasarea numerelor cu semn
 Exemple:




2008        Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.12
Deplasarea numerelor cu semn
Exemple




2008      Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.13
Adunarea în cod complementar




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.14
Adunarea în cod complementar




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.15
Adunarea în cod complementar




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.16
Adunarea în cod complementar




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.17
Adunarea în cod complementar




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.18
Adunarea în cod complementar
Concluzii!




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.19
Adunarea în cod complementar
Exemple (1)




2008       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.20
Adunarea în cod complementar
Exemple (2)




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.21
Adunarea în cod complementar

                                 X                               Y
             m+1                                                                 m+1


                            B[m..0]                            A[m..0]
                    c0
                                                                         c-m-1
                    c-1                      S[m..0]

                                                                m+1

         OVERFLOW                                     Z

2007       Organizarea şi structura calculatoarelor   -curs-      Ionescu Augustin-Iulian   1.22
Scăderea în cod complementar




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.23
Scăderea în cod complementar




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.24
Scăderea în cod complementar




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.25
Scăderea în cod complementar




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.26
Scăderea în cod complementar




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.27
Scăderea în cod complementar
Concluzii!




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.28
Scăderea în cod complementar
Exemple:




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.29
Scăderea în cod complementar
Exemple:




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.30
Scăderea în cod complementar
Exemple:




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.31
Scăderea în cod complementar
Exemple:




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.32
Sumator/scăzător în cod complementar
                                   X                                   Y
                                                                               m+1


                  m+1                                    Complement fata                        Sum/Dif
                                                              de 1


                             B[m..0]                            A[m..0]
                       c0
                                                                           c-m-1
                       c-1                    S[m..0]

                                                                  m+1

       OVERFLOW                                   Z
2007               Organizarea şi structura calculatoarelor   -curs-       Ionescu Augustin-Iulian        1.33
Adunarea în cod direct




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.34
Adunarea in cod direct




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.35
Adunarea în cod direct




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.36
Adunarea în cod direct




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.37
Adunarea în cod direct
       Exemple:




2007         Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.38
Adunarea în cod direct
   Exemple:




2007       Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.39
Înmulţirea prin adunare-deplasare

                11001
                10101                                      da                                  nu
                --------                                                I0=0
                11001
                                                                                      Aduna deinmultitul la
               00000
                                                                                          acumulator
             11001
            00000
           11001
          --------------                                   Deplasarea spre dreapta a
         1000001101                                     ansamblului acumulator-inmultitor




                                                      nu                 Ultimul bit al         da
                                                                        inmultitorului?


                                                                                              STOP

2007                Organizarea şi structura calculatoarelor   -curs-          Ionescu Augustin-Iulian        1.40
Înmulţirea prin adunare-deplasare

                                                                                       inmultitor
INIT

   C     A4   A3        A2           A1          A0                I4          I3          I2        I1   I0


                                                                        Initializare
                                                                        acumulator
              sumator binar                                             Incarcare
                                                                        deinmultit
                                                                        Incarcare

         D4   D3        D2           D1          D0
                                                                         inmultitor             SC
                                                                         Incarcare
                                                                        acumulator
                                                                              STOP
                   deinmutit



 2007          Organizarea şi structura calculatoarelor   -curs-              Ionescu Augustin-Iulian          1.41
Înmulţirea prin adunare-deplasare
                                           0 1 1 1 1 1
                                                                0
                0                          0 0 0 0 0 0          1 0 1 1 1

                1        se aduna X        0 1 1 1 1 1          1 0 1 1 1

                2                          0 0 0 0 0 0          1 1 0 1 1

                3        se aduna X        1 0 1 1 1 0          1 1 0 1 1

                4                          0 1 0 1 1 1          0 1 1 0 1

                5        se aduna X        1 1 0 1 1 0          0 1 1 0 1

                6                          0 1 1 0 1 1          0 0 1 1 0

                7                          0 0 1 1 0 1          1 0 0 1 1

                8        se aduna X        1 0 1 1 0 0          1 0 0 1 1

                9                          0 1 0 1 1 0          0 1 0 0 1

                                              Bit de semn
2007        Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.42
Metoda lui Booth
Este utilizabilă pentru numere reprezentate în cod complementar.
Algoritmul de calcul:

  y-iy-(i+1) …….                                                  OPERATIA
  0 0 …….                                Deplasare produs partial cu un bit la dreapta

  0 1 …….           Se scade deinmultitul si se deplaseaza produsul partial cu un bit la dreapta

  1 0 …….           Se aduna deinmultitul si se deplaseaza produsul partial cu un bit la dreapta

  1 1 …….                                Deplasare produs partial cu un bit la dreapta

Observatii!
       Bitul de referinţă pentru bitul cel mai puţin semnificativ este 0;
       După ultima comparare nu se mai realizează deplasarea.

2007                 Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.43
Metoda lui Booth - exemplu
Deinmultitul X = 1,0011 (-13/16)
Inmultitorul Y = 0,1010 (+10/16)

                                                      0,00000000 initializare registru combinat
00 deplasare dreapta                                  0,00000000       P1
10 se scade X                                         1,0011
                                                      0,11010000       P2
   deplasare dreapta                                  0,01101000
01 se aduna X                                         1,0011
                                                      1,10011000       P3
   deplasare dreapta                                  1,11001100
10 se scade X                                         1,0011
                                                      0,10011100       P4
   deplasare dreapta                                  0,01101000
01 se aduna X                                         1,0011
                                                      1,01111110       rexultat (-130/256)
2007            Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.44
Înmulţire rapidă
                  D4           D3    D2        D1          D0
           I0

           I1
                           0



           I2



           I3



           I4


          EACC




2007        Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.45
Înmulţire rapidă - exemplu
                   1             1                   1                   1                   1
           1

           1
                        1    0           1       1           1       1           1       1           1       1
                                 1               1                   1                   1


           1
                       1 1           0       1           1       1           1       1       1           1
                             1                   1                   1                   1


           0
                       1 0           1       0           0       0           1       0           1       0
                                 0               0                   0                   0


           1
                        01           1       1           1       1           0       1           1       1
                                 1               1                   1                   1

          EACC




2007        Organizarea şi structura calculatoarelor                             -curs-                          Ionescu Augustin-Iulian   1.46
Împărţire prin comparare
Există trei metode de împărţire în binar:
       Metoda comparării
       Metoda cu refacerea restului parţial
       Metoda fără refacerea restului parţial




2007            Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.47
Împărţire prin comparare
  1001010          101
- 000             01110                                          Deplasarea spre stanga a
  1001                                                          ansamblului acumulator-cat

  - 101
    1000                                                   da
                                                                      (ACC)<(B)                    nu

    - 101
      0111                                        0à Q0                                      1à Q0
      - 101
                                                                                       (ACC)-(B)à(ACC)
          100
        - 000
          100                                       nu
                                                                    Ultima deplasare        da
                                                                            ?

                                                                                           STOP

 2007           Organizarea şi structura calculatoarelor   -curs-        Ionescu Augustin-Iulian         1.48
Împărţire prin comparare
                                       rest                               deimpartit/cat
 A4     A3    A2          A1           A0                     Q4    Q3         Q2            Q1   Q0




         Scazator binar                                             comparator




 B4     B3    B2          B1           B0
                                                impartitor




2007          Organizarea şi structura calculatoarelor   -curs-    Ionescu Augustin-Iulian         1.49
Împărţire fără refacerea restului
                                                 ß[A]+[Q]



                                                 A=[A]-[D]



                                    nu                               da
                                                   [A]>0


                               0à Q0                             1à Q0

                              ß[A]+[Q]                          ß[A]+[Q]

                              A=[A]+[D]                         A=[A]-[D]




                                  nu                            da
                                          Ultima deplasare
                                                  ?

                                                                STOP

2007        Organizarea şi structura calculatoarelor   -curs-        Ionescu Augustin-Iulian   1.50
Împărţire fără refacerea restului
                              divizor
              Dn-1               ...                     D0




                                                        adunare/scadere                   Schema de
                     ALU                                deplasare stanga                   comanda



       An-1           ...                    A0                 Qn-1          ...                    Q0

                                    rest                                 deimpartit/cat




2007                 Organizarea şi structura calculatoarelor   -curs-     Ionescu Augustin-Iulian        1.51
Împărţire fără refacerea restului
                                                  0 0 1 1
                                                  0 0 0 0          1 0 0 0

          1                 ß                     0 0 0 1          0 0 0

                  A=[A]-[D]<0                     1 1 1 0          0 0 0 0

          2                 ß                     1 1 0 0          0 0 0

                  A=[A]+[D]<0                     1 1 1 1          0 0 0 0

          3                 ß                     1 1 1 0          0 0 0

                  A=[A]+[D]>0                     0 0 0 1          0 0 0 1

          4                 ß                     0 0 1 0          0 0 1

                  A=[A]-[D]<0                     1 1 1 1          0 0 1 0

                    A=[A]+[D]                     0 0 1 0          0 0 1 0
2007          Organizarea şi structura calculatoarelor   -curs-   Ionescu Augustin-Iulian   1.52

More Related Content

Viewers also liked

Structura unei pagini web
Structura unei pagini webStructura unei pagini web
Structura unei pagini webcttauto
 
Design de interfete web
Design de interfete webDesign de interfete web
Design de interfete webAlex Andronic
 
C++/CLI: TIpuri de date
C++/CLI: TIpuri de dateC++/CLI: TIpuri de date
C++/CLI: TIpuri de datemcroitor
 
Sabin Buraga: Open Web Application Development, Mozilla, and You
Sabin Buraga: Open Web Application Development, Mozilla, and YouSabin Buraga: Open Web Application Development, Mozilla, and You
Sabin Buraga: Open Web Application Development, Mozilla, and YouSabin Buraga
 
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...Sabin Buraga
 
Any Colour You Like
Any Colour You LikeAny Colour You Like
Any Colour You LikeSabin Buraga
 
Programarea independenta de platforma in C++. Qt
Programarea independenta de platforma in C++. QtProgramarea independenta de platforma in C++. Qt
Programarea independenta de platforma in C++. QtDragos Tudor Acostachioaie
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...Sabin Buraga
 
Instructiuni in c si c++
Instructiuni in c si c++Instructiuni in c si c++
Instructiuni in c si c++Serghei Urban
 
Carte probleme rezolvate cef (1)
Carte probleme rezolvate cef (1)Carte probleme rezolvate cef (1)
Carte probleme rezolvate cef (1)Claudiu Luiuz
 
Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"Sabin Buraga
 
Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Sabin Buraga
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minuteSabin Buraga
 
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini web
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini webSuport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini web
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini webGeorge Brebenel
 

Viewers also liked (20)

Structura unei pagini web
Structura unei pagini webStructura unei pagini web
Structura unei pagini web
 
Design de interfete web
Design de interfete webDesign de interfete web
Design de interfete web
 
Pp step-by-step
Pp step-by-stepPp step-by-step
Pp step-by-step
 
C++/CLI: TIpuri de date
C++/CLI: TIpuri de dateC++/CLI: TIpuri de date
C++/CLI: TIpuri de date
 
Metrologia
MetrologiaMetrologia
Metrologia
 
Sabin Buraga: Open Web Application Development, Mozilla, and You
Sabin Buraga: Open Web Application Development, Mozilla, and YouSabin Buraga: Open Web Application Development, Mozilla, and You
Sabin Buraga: Open Web Application Development, Mozilla, and You
 
Web - PHP
Web - PHPWeb - PHP
Web - PHP
 
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
 
Web - CGI
Web - CGIWeb - CGI
Web - CGI
 
Any Colour You Like
Any Colour You LikeAny Colour You Like
Any Colour You Like
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Programarea independenta de platforma in C++. Qt
Programarea independenta de platforma in C++. QtProgramarea independenta de platforma in C++. Qt
Programarea independenta de platforma in C++. Qt
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
 
Instructiuni in c si c++
Instructiuni in c si c++Instructiuni in c si c++
Instructiuni in c si c++
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Carte probleme rezolvate cef (1)
Carte probleme rezolvate cef (1)Carte probleme rezolvate cef (1)
Carte probleme rezolvate cef (1)
 
Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"
 
Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minute
 
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini web
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini webSuport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini web
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini web
 

Recently uploaded

Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxMoroianuCristina1
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11CMB
 
Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aCMB
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCori Rus
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiAndr808555
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10CrciunAndreeaMaria
 

Recently uploaded (6)

Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptx
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11
 
Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-a
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptx
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantului
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10
 

Soc Cap01

  • 1. Structura şi organizarea calculatoarelor - curs - 2008 Ionescu Augustin-Iulian
  • 2. Capitolul 1 ARITMETICA CALCULATOARELOR 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.2
  • 3. Reprezentarea numerelor cu semn Prezentare generală Fie N un număr binar cu semn N= bn-1bn-2…b1b0,b-1…b-m Deoarece într-un SN cu un număr par de cifre nu putem reprezenta direct numerele negative, se utilizează reprezentarea codificată. Codificarea semnului 0 pentru numere pozitive bs 1 pentru numere negative Codificarea valorii. • Cod direct (reprezentare prin mărime şi semn) • Cod complementar • Cod invers 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.3
  • 4. Reprezentarea numerelor cu semn Reprezentarea virgulă fixă prin mărime şi semn Bitul de semn bs nu are pondere deci poate ocupa orice poziţie. Pentru evitarea confuziilor, bs este plasat întotdeauna în poziţia extremă stângă (bitul cel mai semnificativ). Valoarea numărului se reprezintă, indiferent de semn, prin modulul numărului. În concluzie, numărul va fi reprezentat sub forma: N=bsbn-1bn-2…b1b0b-1…b-m În multe situaţii se consideră un caz particular al reprezentării şi anume numerele sunt fracţionare. În acest caz bitul de semn apare ca prima cifră de la partea întreagă (b0). N=bsb-1…b-m 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.4
  • 5. Reprezentarea numerelor cu semn Exemple: Fie numarul N=+0,74 reprezentat in format VF 1+15 prin marime si semn. 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 Fie numarul N=-0,74 reprezentat in format VF 1+15 prin marime si semn. 1 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.5
  • 6. Reprezentarea numerelor cu semn Complementul faţă de 2 Fie N un număr binar reprezentat pe n ranguri întregi şi m ranguri fracţionare: N=bn-12n-1+bn-22n-2+…+b121+b0+b-12-1+….b-m2m-1 = n 1 i = bi 2 i m Se numeşte complement faţă de 2 al numărului N numărul calculat cu relaţia N =2n-N şi reprezentat în acelaşi format ca şi numărul N. 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.6
  • 7. Reprezentarea numerelor cu semn Proprietate n 1 i Fie numarul real N= b i 2 . Atunci i m Complementul fata de 1 al lui N 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.7
  • 8. Reprezentarea numerelor cu semn Reprezentare virgulă fixă în cod complementar 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.8
  • 9. Reprezentarea numerelor cu semn Observații! 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.9
  • 10. Reprezentarea numerelor cu semn Exemple Fie numarul N=+0,74 reprezentat in format VF 1+15 cod complementar. 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 Fie numarul N=-0,74 reprezentat in format VF 1+15 cod complementar. 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.10
  • 11. Deplasarea numerelor cu semn Deplasarea spre stânga este echivalentă cu înmulţirea cu 2. Cifra din extrema stângă se pierde iar prin dreapta se introduce 0, indiferent de modul de reprezentare a numerelor. Deplasarea spre dreapta este echivalentă cu împărţirea la 2 (înmulţirea cu 2-1). Cifra din extrema dreaptă se pierde, iar prin stânga se introduce 0 în cazul numerelor reprezentate prin mărime şi semn sau bitul de semn în cazul numerelor reprezentate în cod complementar. Observație! Deplasarea numerelor cu semn afectează numai modulul numerelor, nu şi bitul de semn. 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.11
  • 12. Deplasarea numerelor cu semn Exemple: 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.12
  • 13. Deplasarea numerelor cu semn Exemple 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.13
  • 14. Adunarea în cod complementar 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.14
  • 15. Adunarea în cod complementar 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.15
  • 16. Adunarea în cod complementar 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.16
  • 17. Adunarea în cod complementar 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.17
  • 18. Adunarea în cod complementar 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.18
  • 19. Adunarea în cod complementar Concluzii! 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.19
  • 20. Adunarea în cod complementar Exemple (1) 2008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.20
  • 21. Adunarea în cod complementar Exemple (2) 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.21
  • 22. Adunarea în cod complementar X Y m+1 m+1 B[m..0] A[m..0] c0 c-m-1 c-1 S[m..0] m+1 OVERFLOW Z 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.22
  • 23. Scăderea în cod complementar 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.23
  • 24. Scăderea în cod complementar 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.24
  • 25. Scăderea în cod complementar 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.25
  • 26. Scăderea în cod complementar 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.26
  • 27. Scăderea în cod complementar 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.27
  • 28. Scăderea în cod complementar Concluzii! 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.28
  • 29. Scăderea în cod complementar Exemple: 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.29
  • 30. Scăderea în cod complementar Exemple: 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.30
  • 31. Scăderea în cod complementar Exemple: 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.31
  • 32. Scăderea în cod complementar Exemple: 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.32
  • 33. Sumator/scăzător în cod complementar X Y m+1 m+1 Complement fata Sum/Dif de 1 B[m..0] A[m..0] c0 c-m-1 c-1 S[m..0] m+1 OVERFLOW Z 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.33
  • 34. Adunarea în cod direct 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.34
  • 35. Adunarea in cod direct 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.35
  • 36. Adunarea în cod direct 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.36
  • 37. Adunarea în cod direct 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.37
  • 38. Adunarea în cod direct Exemple: 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.38
  • 39. Adunarea în cod direct Exemple: 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.39
  • 40. Înmulţirea prin adunare-deplasare 11001 10101 da nu -------- I0=0 11001 Aduna deinmultitul la 00000 acumulator 11001 00000 11001 -------------- Deplasarea spre dreapta a 1000001101 ansamblului acumulator-inmultitor nu Ultimul bit al da inmultitorului? STOP 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.40
  • 41. Înmulţirea prin adunare-deplasare inmultitor INIT C A4 A3 A2 A1 A0 I4 I3 I2 I1 I0 Initializare acumulator sumator binar Incarcare deinmultit Incarcare D4 D3 D2 D1 D0 inmultitor SC Incarcare acumulator STOP deinmutit 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.41
  • 42. Înmulţirea prin adunare-deplasare 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 se aduna X 0 1 1 1 1 1 1 0 1 1 1 2 0 0 0 0 0 0 1 1 0 1 1 3 se aduna X 1 0 1 1 1 0 1 1 0 1 1 4 0 1 0 1 1 1 0 1 1 0 1 5 se aduna X 1 1 0 1 1 0 0 1 1 0 1 6 0 1 1 0 1 1 0 0 1 1 0 7 0 0 1 1 0 1 1 0 0 1 1 8 se aduna X 1 0 1 1 0 0 1 0 0 1 1 9 0 1 0 1 1 0 0 1 0 0 1 Bit de semn 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.42
  • 43. Metoda lui Booth Este utilizabilă pentru numere reprezentate în cod complementar. Algoritmul de calcul: y-iy-(i+1) ……. OPERATIA 0 0 ……. Deplasare produs partial cu un bit la dreapta 0 1 ……. Se scade deinmultitul si se deplaseaza produsul partial cu un bit la dreapta 1 0 ……. Se aduna deinmultitul si se deplaseaza produsul partial cu un bit la dreapta 1 1 ……. Deplasare produs partial cu un bit la dreapta Observatii! Bitul de referinţă pentru bitul cel mai puţin semnificativ este 0; După ultima comparare nu se mai realizează deplasarea. 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.43
  • 44. Metoda lui Booth - exemplu Deinmultitul X = 1,0011 (-13/16) Inmultitorul Y = 0,1010 (+10/16) 0,00000000 initializare registru combinat 00 deplasare dreapta 0,00000000 P1 10 se scade X 1,0011 0,11010000 P2 deplasare dreapta 0,01101000 01 se aduna X 1,0011 1,10011000 P3 deplasare dreapta 1,11001100 10 se scade X 1,0011 0,10011100 P4 deplasare dreapta 0,01101000 01 se aduna X 1,0011 1,01111110 rexultat (-130/256) 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.44
  • 45. Înmulţire rapidă D4 D3 D2 D1 D0 I0 I1 0 I2 I3 I4 EACC 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.45
  • 46. Înmulţire rapidă - exemplu 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 01 1 1 1 1 0 1 1 1 1 1 1 1 EACC 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.46
  • 47. Împărţire prin comparare Există trei metode de împărţire în binar: Metoda comparării Metoda cu refacerea restului parţial Metoda fără refacerea restului parţial 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.47
  • 48. Împărţire prin comparare 1001010 101 - 000 01110 Deplasarea spre stanga a 1001 ansamblului acumulator-cat - 101 1000 da (ACC)<(B) nu - 101 0111 0à Q0 1à Q0 - 101 (ACC)-(B)à(ACC) 100 - 000 100 nu Ultima deplasare da ? STOP 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.48
  • 49. Împărţire prin comparare rest deimpartit/cat A4 A3 A2 A1 A0 Q4 Q3 Q2 Q1 Q0 Scazator binar comparator B4 B3 B2 B1 B0 impartitor 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.49
  • 50. Împărţire fără refacerea restului ß[A]+[Q] A=[A]-[D] nu da [A]>0 0à Q0 1à Q0 ß[A]+[Q] ß[A]+[Q] A=[A]+[D] A=[A]-[D] nu da Ultima deplasare ? STOP 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.50
  • 51. Împărţire fără refacerea restului divizor Dn-1 ... D0 adunare/scadere Schema de ALU deplasare stanga comanda An-1 ... A0 Qn-1 ... Q0 rest deimpartit/cat 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.51
  • 52. Împărţire fără refacerea restului 0 0 1 1 0 0 0 0 1 0 0 0 1 ß 0 0 0 1 0 0 0 A=[A]-[D]<0 1 1 1 0 0 0 0 0 2 ß 1 1 0 0 0 0 0 A=[A]+[D]<0 1 1 1 1 0 0 0 0 3 ß 1 1 1 0 0 0 0 A=[A]+[D]>0 0 0 0 1 0 0 0 1 4 ß 0 0 1 0 0 0 1 A=[A]-[D]<0 1 1 1 1 0 0 1 0 A=[A]+[D] 0 0 1 0 0 0 1 0 2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian 1.52