Documente Academic
Documente Profesional
Documente Cultură
Arhitecturi
Superscalara
În arhitectura superscalară, şiruri de instrucţiuni diferite (de obicei două,
eventual mai multe), utilizează resurse diferite în aceleaşi stadii de execuţie a
instrucţiunilor de pe fiecare şir.
Un exemplu particular de arhitectură superscalară este prezentat în figura 2.25
Supercalculatoare
Un supercalculator este un calculator complex cu destinaţie specială,
compus din mai multe procesoare care accesează aceeaşi memorie centrală şi care
funcţionează concomitent şi coordonat, în cooperare strânsă, astfel încât poate
atinge o performanţă totală de calcul foarte ridicată. Modul de operare al
supercalculatoarelor este calculul paralel. Numărul de procesoare interconectate ale
unui supercalculator depăşeşte la anumite modele chiar şi 300.000.
Până recent, supercalculatoarele erau mai puternice decât mainframe-urile,
având CPU-uri extrem de rapide, mulţi gigaocteţi de memorie principală, discuri şi
reţele foarte rapide. Au fost folosite pentru calculele ştiinţifice şi inginereşti foarte
masive, cum ar fi simularea ciocnirii galaxiilor, sintetizarea de noi medicamente
sau modelarea fluxului de aer în jurul unei aripi de avion.
Cu toate acestea, în ultimii ani, centrele de date (data centers) construite din
componente comerciale de bază, au oferit tot mai multă putere de calcul la preţuri
mult mai mici, iar adevăratele supercomputere de odinioară sunt acum o specie pe
cale de dispariţie.
Pentru a menţine costul unui asemenea supercalculator la un nivel rezonabil,
există arhitecturi care fac uz de procesoare mai ieftine şi mai lente, dar foarte
numeroase, grupate în aşa-numite cluster-e.
Printre primele firme care au produs supercalculatoare pe piaţă s-a numărat
firma Cray (modelul Cray-1 din 1976 a atins viteza de calcul de 130 Mflops). În
acest domeniu, există o listă (actualizată de două ori de an) a celor mai rapide 500
de supercalculatoare din lume (Top 500), care se bazează pe testul standardizat de
benchmarking numit Linpack. Pe lângă supercalculatoarele comerciale, există şi
linia supercalculatoarelor militare.
IBM BlueGene
Modelele IBM BlueGene au deţinut în ultimii 20 de ani (2018) poziţii în
primele 10 locuri din Top 500. Această serie de calculatoare se bazează pe un nou
concept, care renunţă la creşterea frecvenţei de ceas în favoarea micşorării
componentelor, creşterii densităţii acestora şi reducerii consumului de putere.
Reducerea frecvenţei de ceas este compensată prin mărirea gradului de paralelism,
folosind un număr mai ridicat de procesoare.
Procesorul de bază la IBM BlueGene/L este un PowerPC 440 la 700 MHz.
Două astfel de procesoare sunt amplasate pe un cip împreună cu o memorie cache
L3 de 4 MB partajată şi 2 KB memorie cache L2 pentru fiecare procesor. Fiecare
procesor are două porturi de încărcare şi unul de stocare către memoriile cache L2,
funcţionând cu 8 biţi/ciclu. Aceasta este jumătate din banda necesară celor două
unităţi de virgulă mobilă (FPU). Procesoarele au o memorie cache L1 de 32 KB
pentru instrucţiuni şi date, în situaţii favorabile atingând performanţe de 2,8
Gflops/2. Se observă că memoria cache L1 este mai mare decât L2, un lucru
neobişnuit, care permite însă atingerea unor viteze de procesare mai mari.
Arhitecturi biprocesor
Pentium II biprocesor
Cache
LRU vs LFU
LRU (Least Recently Used) and LFU (Least Frequently Used) are both cache replacement
policies used to manage the contents of a cache. These policies determine which data to
evict from the cache when it becomes full. Let's compare LRU and LFU in the context of
cache storage:
Comparison:
1. Complexity:
LRU tends to be more complex to implement due to the need to track the order of
access.
LFU is simpler in terms of bookkeeping but still requires counting access
frequencies.
2. Adaptability:
LRU can be more adaptive to changing access patterns.
LFU may struggle when access patterns change abruptly.
3. Performance:
LRU often performs well in scenarios with good temporal locality.
LFU may perform better in scenarios where there is a mix of frequently and
infrequently accessed items.
4. Overhead:
LRU can introduce additional overhead due to the need to update access time
records.
LFU's overhead is mainly related to counting access frequencies.
Ultimately, the choice between LRU and LFU depends on the specific characteristics of the
workload and access patterns in the application. Some systems may even use a
combination of these policies (e.g., LRU with aging) to balance their advantages and
disadvantages.
RW vs FIFO
Random Write (RW):
1. Principle:
RW or Random Write: This refers to the ability to write data to any location in
storage without regard to the order of previous writes.
2. Usage:
Common in Storage Systems: Random write is often associated with storage
devices like hard drives and solid-state drives, where data can be written to any
available location on the storage medium.
3. Pros:
Flexibility: Allows for efficient utilization of available storage space by writing
data wherever there is room.
Random Access: Suitable for scenarios where data access patterns are non-
sequential.
4. Cons:
Fragmentation: Over time, random writes can lead to data fragmentation,
impacting overall system performance.
Wear Leveling: Important in flash-based storage to distribute write/erase cycles
evenly across memory cells.
FIFO (First-In-First-Out):
1. Principle:
FIFO or First-In-First-Out: This algorithm processes items or data in the order
they were added, and the oldest items are the first to be removed.
2. Usage:
Data Processing: Commonly used in various contexts, including data buffering,
process scheduling, and print job management.
3. Pros:
Order Preservation: Ensures that data is processed in the order it was received.
Simplicity: Easy to implement and understand.
4. Cons:
Not Optimized for Random Access: FIFO is not designed for random access; it
is focused on preserving the order of data entry.
May Not Prioritize Urgent Data: If newer data is more critical, FIFO may not be
the most suitable algorithm.
Comparison:
Access Pattern:
RW: Supports random access, allowing writes to occur at any location.
FIFO: Sequential access, processes data in the order it was added.
Performance:
RW: Can be more efficient for non-sequential data patterns but may lead to
fragmentation.
FIFO: Preserves order but may not be optimized for scenarios where random
access is crucial.
The choice between Random Write and FIFO depends on the specific requirements of the
application or system, including data access patterns, system performance considerations,
and the importance of preserving the order of data.
ROM
Exemplu. Fie o memorie ROM care conţine 8 cuvinte de câte 4 biţi (vezi
figura 3.63 a). O combinaţie binară care se aplică pe cele 3 intrări de adresă (A2,
A1, A0) selectează unul din cele 8 cuvinte, iar cei 4 biţi de date ai cuvântului
selectat sunt disponibili la ieşiri (O0, O1, O2, O3), cu condiţia ca semnalul de
validare a ieşirii, OE (Output Enable) să fie activ (activarea se face pe 0 logic).
Dacă OE = 1, ieşirile memoriei sunt în starea de impedanţă înaltă (high Z). Tabelul
de adevăr din figura 3.63 b este un exemplu care arată o posibilitate de
implementare a 4 funcţii binare de câte 3 variabile.