1. Számítógép architektúrák osztályozása Flashcards

1
Q

Párhuzamosság típusai

A
  • Funkció szerint
  • Elhelyezkedés szerint
  • Típus szerint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Párhuzamosság típusai (funkció szerint)

A
  • rendelkezésre álló párhuzamosság: a feladatokban rejlő párhuzamosság
  • kihasználható párhuzamosság: a végrehajtás során valóban kihasználható párhuzamosság
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Párhuzamosság típusai (elhelyezkedés szerint)

A
  • időbeli párhuzamosság: több végrehajtó egység működése csak időben elcsúsztatva egymás mellett és általában nem ugyanazt a feladatot csinálják. Például: futószalag
    (KÉP JEGYZETBEN)
  • térbeli párhuzamosság: több, azonos típusú végrehajtó egység egyidejű működése.
    (KÉP JEGYZETBEN)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Párhuzamosság típusai (típus szerint)

A
  • adatpárhuzamosság:
    1. adatpárhuzamos architektúrák: adat elemeken párhuzamos vagy futószalag elvű műveletek végrehajtását teszik lehetővé
    2. átalakítható funkcionális párhuzamossággá: az adat elemeken végrehajtandó műveletek ciklus formájában történő megfogalmazása
  • funkcionális párhuzamosság: a feladat logikájából következő párhuzamosság.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Funkcionális párhuzamosság szintjei

A
  1. Utasítás szintű párhuzamosság (ILP – Instruction Level Parallelism): program utasítások párhuzamos végrehajtása
  2. Ciklus szintű párhuzamosság: egymást követő iterációk párhuzamos végrehajtása. Ezt a függőségek akadályozhatják.
  3. Eljárás szintű párhuzamosság: párhuzamosan végrehajtható eljárások formájában jelenik meg. Mértéke leginkábban a feladat jellegétől függ.
  4. Program szintű párhuzamosság: egymástól független programok párhuzamos futtatása
  5. Felhasználó szintű párhuzamosság: több, egymástól független felhasználó egyidejű kiszolgálása. Például szerverek, időosztásos rendszerek.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Funkcionális párhuzamosság kihasználása

A
  1. Utasítás szintű:
    • utasítás szinten párhuzamos architektúrával
    • erre a célra szolgáló fordítóprogrammal

2 - 3. Ciklus és eljárás szintű:
Szálak vagy folyamatok formájában használhatóak ki. A szál vagy folyamat a tárgykód legkisebb önállóan végrehajtható része.

Szálakat létrehozhat:
Programozó: párhuzamos nyelveket használva, amiben lehet elágazásokat és párhuzamosan végrehajtható részeket létrehozni (FORK, JOIN)
OS, ami támogatja a többszálas vagy többfeladatos végrehajtást
Párhuzamos fordító: magas szintű programnyelvek esetében
4 - 5. Program és felhasználói szint
Programok vagy párhuzamos rendszerek segítségével használható ki. Szükséges hozzá megfelelő hardver és szoftver, ami ezt támogatja.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Funkcionális párhuzamosság szemcsézettsége

A
- Finom szemcsézettség -> Utasítás szint (alacsony szintű párhuzamosság)
Szál szint
Folyamat szint
- Durva szemcsézettség -> Felhasználó szint (magas szintű párhuzamosság)

Általában kijelenthető, hogy alacsony szinteken rendelkezésre álló párhuzamosság nagy valószínűséggel párhuzamos architektúrákkal vagy párhuzamos compilerekkel közvetlenül használhatóak ki. Míg a magasabb szintű párhuzamosság inkább többszálas vagy többfeladatos OS-ek alatti konkurens végrehajtással.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Compiler

A

A fordítóprogram, ami lefordítja a magas szintű programnyelven írt programot a processzor számára érthető formátumra.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Compiler feladatai

A
  1. Kódanalízis
    Részei:
    - Lexikális elemzés (konstansok, változók, operátorok)
    - Szintaktikai elemzés
    - Szemantikai elemzés
  2. Létrehozni a tárgykódot
    Részei:
    - Kódgenerálás: ez lehet assembly kód vagy gépi kód
    - Kódoptimalizálás: párhuzamos végrehajtásnál független részeket keres, amiket végre lehet hajtani mindenféle előfeltétel nélkül
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Párhuzamos architektúrák osztályozása

A
  • Klasszikus modell (Flynn-féle osztályozás)
  • Új modell
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Klasszikus modell (Flynn-féle osztályozás)

A

A vezérlő és a feldolgozási egységek számán alapul.
4 fogalmat vezetett be:
- SI (single instruction stream): egyszeres utasításfolyam. Az architektúra egyetlen vezérlő egységgel rendelkezik.
- MI (multiple instruction stream): többszörös utasításfolyam. Az architektúra több egymástól elkülönülő utasításfolyamot tud egyidőben végrehajtani. Olyan vezérlőegységgel rendelkezik, mely egy időben több utasításfolyamot tud generálni.
- SD (single data stream): egyszeres adatfolyam. Egyetlen CPU egyetlen adatfolyamot dolgoz fel.
- MD(multiple data stream): többszörös adatfolyam. Több végrehajtó egység dolgoz fel több, egymástól független adatfolyamot.

Ezekre építve a szempontok kombinálásával 4 osztályba lettek sorolva az architektúrák:
- SISD: Neumann modell (szekvenciális végrehajtás)
- SIMD: Multimédia feldolgozás (ugyanazon műveletek végrehajtása sok adaton)
- MISD: Elméleti kategória
- MIMD: Teljes párhuzamos feldolgozás

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Új modell

A

Megkülönböztet adatpárhuzamos és funkcionálisan párhuzamos architektúrákat.
(JEGYZET KÉPPEL ÉRTHETŐBB)

Adatpárhuzamos architektúrák:
(első 3 tudományos kutatási szinteken léteznek)
- Vektor architektúrák
- Asszociatív vagy neurális architektúrák
- Szisztolikus architektúrák
- SIMD architektúrák (hétköznapi életben használatosak)

Funkcionálisan párhuzamos architektúrák:
- Utasítás szinten párhuzamos architektúrák (ILP)
– futószalag
– VLIW
– szuperskalár
- Szál szinten párhuzamos architektúrák (SMT)
- Folyamat szinten párhuzamos architektúrák
– Elosztott memória használatú
– Közös memória használatú

(A tárgy keretében a funkcionálisan párhuzamos architektúrák vannak tárgyalva.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Utasítás végrehajtás elemi műveletei

A

Utasítás végrehajtás négy elemi műveletre osztható:
* F (fetch) - lehívás
* D (decode) – dekódolás
* S/O (source operand) – forrás operandus lehívás
* E (execute) – végrehajtás
* W/B (writeback) – visszaírás

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Kibocsátási párhuzamosság

A

A kibocsátás a CPU dekódoló egységéből történik, ezeket a dekódolt utasításokat hajtja végre a végrehajtó egység. Ha a CPU képes párhuzamosan több utasítás végrehajtására, a kibocsátási kapacitást is növelni kell. Kibocsátási párhuzamosságnak nevezzük, ha dekódoló egység óraciklusonként egynél több utasítás kibocsátására képes. Ennek viszont következményei vannak:
1. Az utasítások párhuzamos végrehajtása során minden ILP CPU-nak figyelembe kell vennie az
utasítások között fennálló függőségeket.
2. Meg kell őrizni a soros végrehajtás konzisztenciáját (párhuzamos végrehajtás esetén is ugyanúgy
kell viselkednie a programozó által írt soros végrehajtású programnak).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly