Dr. Baruch Zoltan Francisc
Profesor




BARUCH, ZOLTAN FRANCISC

STRUCTURA SISTEMELOR DE CALCUL
CU APLICAȚII

(în limba engleză)

Editura U. T. PRES, Cluj-Napoca, 2003, ISBN 973-8335-89-2 (302 pagini)






CUPRINS


1. CALCULATORUL DIDACTIC CD

1.1. PREZENTAREA GENERALĂ A CALCULATORULUI DIDACTIC
1.2. INSTRUCȚIUNILE CALCULATORULUI DIDACTIC

1.2.1. Structura cuvântului
1.2.2. Setul de instrucțiuni
1.2.3. Exemple de programe

1.3. STRUCTURA CALCULATORULUI DIDACTIC

1.3.1. Structura generală
1.3.2. Semnalele de comandă
1.3.3. Structura detaliată

1.4. APLICAȚII

2. DISPOZITIVE DE ÎNMULȚIRE ȘI ÎMPĂRȚIRE BINARĂ

2.1. ÎNMULȚIREA BINARĂ

2.1.1. Metode de înmulțire binară
2.1.2. Înmulțirea prin metoda directă
2.1.3. Înmulțirea prin metoda Booth
2.1.4. Înmulțirea pe grupe de cifre

2.2. ÎMPĂRȚIREA BINARĂ

2.2.1. Principiul împărțirii binare
2.2.2. Metode de împărțire binară
2.2.3. Metoda refacerii restului parțial
2.2.4. Metoda fără refacerea restului parțial

2.3. APLICAȚII

3. DISPOZITIVE DE ÎNMULȚIRE ȘI ÎMPĂRȚIRE ZECIMALĂ

3.1. ÎNMULȚIREA ZECIMALĂ

3.1.1. Metoda adunării repetate
3.1.2. Metoda celor nouă multipli ai deînmulțitului
3.1.3. Metoda componenților din dreapta și din stânga

3.2. ÎMPĂRȚIREA ZECIMALĂ

3.2.1. Metoda refacerii restului parțial
3.2.2. Metoda fără refacerea restului parțial
3.2.3. Metoda celor nouă multipli ai împărțitorului

3.3. APLICAȚII

4. CALCULATOARE MICROPROGRAMATE

4.1. PRINCIPIUL CALCULATOARELOR MICROPROGRAMATE

4.1.1. Introducere
4.1.2. Microprogramarea pe orizontală și pe verticală
4.1.3. Structura unei unități de comandă microprogramate

4.2. EXEMPLU DE CALCULATOR MICROPROGRAMAT PE ORIZONTALĂ

4.2.1. Structura căii de date
4.2.2. Formatul microinstrucțiunilor
4.2.3. Secvențierea microinstrucțiunilor
4.2.4. Limbajul de microasamblare

4.3. EXEMPLU DE CALCULATOR MICROPROGRAMAT PE VERTICALĂ

4.3.1. Microinstrucțiunile verticale
4.3.2. Structura secțiunii de control

4.4. APLICAȚII

5. ELEMENTE DE BAZĂ ALE LIMBAJULUI VHDL

5.1. UNITĂȚI DE PROIECTARE
5.2. ENTITĂȚI

5.2.1. Nume de entități: identificatori
5.2.2. Declararea entităților
5.2.3. Semnale și porturi: Conceptul de semnal; Declararea porturilor; Modul porturilor; Tipul porturilor
5.2.4. Generice

5.3. ARHITECTURI

5.3.1. Declararea arhitecturilor
5.3.2. Declararea semnalelor
5.3.3. Asignarea valorilor la semnale
5.3.4. Stiluri de descrieri arhitecturale: Descrieri funcționale; Descrieri de tipul fluxului de date; Descrieri structurale; Compararea descrierilor arhitecturale

5.4. MODELAREA PENTRU SIMULARE

5.4.1. Simularea bazată pe evenimente
5.4.2. Drivere de semnal
5.4.3. Ciclul de simulare
5.4.4. Drivere multiple și funcții de rezoluție

5.5. MODELAREA PENTRU SINTEZĂ
5.6. APLICAȚII

6. INSTRUCȚIUNI SECVENȚIALE ȘI CONCURENTE ÎN LIMBAJUL VHDL

6.1. INSTRUCȚIUNI SECVENȚIALE

6.1.1. Procese: Structura și execuția unui proces; Procese cu liste de sensibilitate incomplete; Instrucțiunea wait; Procese combinaționale și secvențiale
6.1.2. Instrucțiunea secvențială de asignare a semnalelor: Execuția instrucțiunii secvențiale de asignare; Reacții inverse; Întârzierea inerțială; Întârzierea de transport
6.1.3. Variabile: Declararea și inițializarea variabilelor; Instrucțiunea de asignare a variabilelor
6.1.4. Instrucțiunea if: Sintaxa și execuția instrucțiunii if; Interpretarea sintezei instrucțiunii if; Instrucțiuni if incomplete; Instrucțiuni if în care apar variabile
6.1.5. Instrucțiunea case
6.1.6. Instrucțiuni de buclare: Instrucțiunea loop; Instrucțiunea while loop; Instrucțiunea for loop; Instrucțiunea next; Instrucțiunea exit
6.1.7. Instrucțiunea secvențială assert

6.2. INSTRUCȚIUNI CONCURENTE

6.2.1. Structura și execuția unei arhitecturi
6.2.2. Procese
6.2.3. Instrucțiuni concurente de asignare a semnalelor: Instrucțiunea de asignare simplă; Instrucțiunea de asignare condițională; Instrucțiunea de asignare selectivă; Instrucțiunea block; Instrucțiunea concurentă assert

6.3. EXEMPLE DE CIRCUITE COMBINAȚIONALE

6.3.1. Multiplexoare
6.3.2. Codificatoare prioritare

6.4. EXEMPLE DE CIRCUITE SECVENȚIALE

6.4.1. Circuite secvențiale sincrone și asincrone
6.4.2. Bistabile
6.4.3. Registre
6.4.4. Numărătoare
6.4.5. Resetarea componentelor sincrone
6.4.6. Buffere cu trei stări și semnale bidirecționale

6.5. APLICAȚII

7. AUTOMATE DE STARE ÎN LIMBAJUL VHDL

7.1. EXEMPLU DE PROIECTARE

7.1.1. Proiectarea tradițională
7.1.2. Proiectarea utilizând limbajul VHDL

7.2. PROIECTAREA UNUI CONTROLER DE MEMORIE
7.3. TEHNICI PENTRU GENERAREA SEMNALELOR DE IEȘIRE

7.3.1. Ieșiri decodificate din biții de stare
7.3.2. Ieșiri decodificate în registre paralele de ieșire
7.3.3. Ieșiri codificate în cadrul biților de stare
7.3.4. Codificarea cu un bistabil pe stare

7.4. AUTOMATE DE STARE DE TIP MEALY
7.5. ALTE CONSIDERAȚII DE PROIECTARE

7.5.1. Codificarea stărilor utilizând tipuri enumerate
7.5.2. Codificarea explicită a stărilor
7.5.3. Toleranța la defecte a automatelor codificate cu un bistabil pe stare

7.6. APLICAȚII

8. PROIECTAREA STRUCTURALĂ ÎN LIMBAJUL VHDL

8.1. AVANTAJELE PROIECTĂRII STRUCTURALE
8.2. ELEMENTELE UNEI DESCRIERI STRUCTURALE

8.2.1. Exemplu de descriere structurală
8.2.2. Declarația componentelor
8.2.3. Instanțierea componentelor
8.2.4. Instanțierea directă a entităților
8.2.5. Specificarea configurației

8.3. BIBLIOTECI
8.4. PACHETE

8.4.1. Declarația pachetelor
8.4.2. Corpul pachetelor
8.4.3. Pachete cu declarații de componente

8.5. GENERICE ȘI COMPONENTE PARAMETRIZATE

8.5.1. Principiul genericelor
8.5.2. Definirea entităților generice
8.5.3. Utilizarea componentelor generice
8.5.4. Tipul parametrilor generici
8.5.5. Construirea unei biblioteci de componente

8.6. INSTRUCȚIUNEA GENERATE

8.6.1. Instrucțiunea for generate
8.6.2. Instrucțiunea if generate
8.6.3. Instanțierea componentelor în instrucțiunile generate

8.7. APLICAȚII

9. SUBPROGRAME ÎN LIMBAJUL VHDL

9.1. ROLUL SUBPROGRAMELOR
9.2. FUNCȚII

9.2.1. Definirea funcțiilor
9.2.2. Utilizarea funcțiilor
9.2.3. Valori inițiale
9.2.4. Parametri cu domeniul nelimitat
9.2.5. Valori returnate cu domeniul nelimitat
9.2.6. Instrucțiuni return multiple
9.2.7. Redefinirea funcțiilor
9.2.8. Funcții pentru conversii de tip: Conversii de tip predefinite; Conversii de tip definite de utilizator
9.2.9. Funcții ca alternativă la instanțierea componentelor
9.2.10. Funcții problematice pentru sinteză
9.2.11. Definirea operatorilor ca și funcții: Operatori predefiniți; Redefinirea operatorilor
9.2.12. Funcții standard
9.2.13. Plasarea definiției funcțiilor

9.3. PROCEDURI

9.3.1. Definirea procedurilor
9.3.2. Apelul procedurilor
9.3.3. Parametri cu domeniul nelimitat
9.3.4. Parametri cu modul inout
9.3.5. Semnale utilizate ca parametri
9.3.6. Redefinirea procedurilor

9.4. APLICAȚII

10. CALCULATORUL DLX

10.1. ARHITECTURA CALCULATORULUI DLX

10.1.1. Setul de registre
10.1.2. Structura căii de date pipeline și execuția instrucțiunilor
10.1.3. Hazarduri

10.2. LIMBAJUL DE ASAMBLARE DLX

10.2.1. Expresii
10.2.2. Directive
10.2.3. Setul de instrucțiuni: Instrucțiuni pentru transferul datelor; Instrucțiuni aritmetice și logice; Instrucțiuni de control; Instrucțiuni pentru operații în virgulă mobilă

10.3. SIMULATORUL WINDLX

10.3.1. Prezentare generală
10.3.2. Apelul funcțiilor de sistem: Deschiderea unui fișier; Închiderea unui fișier; Citirea unui bloc dintr-un fișier; Scrierea unui bloc într-un fișier; Scrierea la dispozitivul standard de ieșire

10.4. UTILIZAREA SIMULATORULUI WINDLX

10.4.1. Lansarea și configurarea simulatorului
10.4.2. Încărcarea programelor de test
10.4.3. Simularea: Fereastra căii de date pipeline; Fereastra de cod; Fereastra diagramei ciclurilor de ceas; Fereastra punctelor de întrerupere; Fereastra registrelor; Fereastra de statistici

10.5. APLICAȚII

BIBLIOGRAFIE