Dr. Baruch Zoltan Francisc
Profesor




BARUCH, ZOLTAN FRANCISC

STRUCTURA SISTEMELOR DE CALCUL
CU APLICAȚII


Editura TODESCO, Cluj-Napoca, 2001, ISBN 973-8198-13-5 (350 pagini)







CUPRINS


1. CALCULATORUL DIDACTIC CD

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

1.2.1. Limbajul de descriere utilizat
1.2.2. Structura cuvântului
1.2.3. Setul de instrucțiuni
1.2.4. 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. EXECUȚIA INSTRUCȚIUNILOR
1.5. 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. SISTEMUL DE PROIECTARE ACTIVE-HDL

5.1. PREZENTARE GENERALĂ A SISTEMULUI ACTIVE-HDL
5.2. COMPONENTELE SISTEMULUI ACTIVE-HDL

5.2.1. Editorul pentru codul sursă
5.2.2. Editorul pentru scheme bloc
5.2.3. Editorul pentru diagrame de stare
5.2.4. Compilatorul
5.2.5. Simulatorul: Etapele simulării; Definirea stimulilor; Execuția simulării
5.2.6. Editorul pentru forme de undă
5.2.7. Componenta Design Explorer
5.2.8. Componenta Design Browser
5.2.9. Componenta Library Manager: Structura bibliotecilor; Fereastra Library Manager; Operații cu biblioteci
5.2.10. Fereastra Console
5.2.11. Fereastra Processes
5.2.12. Fereastra Watch
5.2.13. Fereastra Call Stack
5.2.14. Fereastra Dataflow
5.2.15. Fereastra List

5.3. EXEMPLU DE PROIECTARE

5.3.1. Descrierea proiectului
5.3.2. Crearea unui nou proiect: Introducerea numelui proiectului; Crearea unui fișier sursă; Adăugarea porturilor
5.3.3. Editarea și compilarea codului sursă: Descrierea arhitecturii numărătorului; Specificarea bibliotecii pentru compilare; Compilarea
5.3.4. Vizualizarea structurii proiectului
5.3.5. Simularea: Inițializarea simulării; Asignarea stimulatorilor; Execuția simulării; Editarea formelor de undă; Trasarea codului sursă; Setarea punctelor de întrerupere; Validarea punctelor de întrerupere; Vizualizarea rezultatelor simulării sub formă textuală
5.3.6. Adăugarea unui nou fișier la proiect
5.3.7. Utilizarea editorului pentru automate de stare: Editarea porturilor automatului de stare; Plasarea simbolurilor stărilor; Editarea simbolului unei stări; Adăugarea tranzițiilor; Editarea tranzițiilor; Adăugarea condițiilor pentru tranziții; Adăugarea acțiunilor pentru generarea ieșirilor; Specificarea proprietăților automatului; Generarea codului sursă
5.3.8. Crearea unui fișier de nivel ierarhic superior
5.3.9. Compilarea întregului proiect
5.3.10. Simularea proiectului

5.4. APLICAȚII

6. ELEMENTE DE BAZĂ ALE LIMBAJULUI VHDL

6.1. UNITĂȚI DE PROIECTARE
6.2. ENTITĂȚI

6.2.1. Nume de entități: identificatori
6.2.2. Declararea entităților
6.2.3. Semnale și porturi: Conceptul de semnal; Declararea porturilor; Modul porturilor; Tipul porturilor
6.2.4. Generice

6.3. ARHITECTURI

6.3.1. Definirea arhitecturilor
6.3.2. Declararea semnalelor
6.3.3. Asignarea valorilor la semnale
6.3.4. Stiluri de descrieri arhitecturale: Descrieri funcționale; Descrieri de tipul fluxului de date; Descrieri structurale; Compararea descrierilor arhitecturale

6.4. MODELAREA PENTRU SIMULARE

6.4.1. Simularea bazată pe evenimente
6.4.2. Drivere de semnal
6.4.3. Ciclul de simulare
6.4.4. Drivere multiple și funcții de rezoluție

6.5. MODELAREA PENTRU SINTEZĂ
6.6. APLICAȚII

7. TIPURI, ATRIBUTE ȘI OPERATORI ÎN LIMBAJUL VHDL

7.1. OBIECTE DE DATE

7.1.1. Constante
7.1.2. Variabile
7.1.3. Fișiere

7.2. TIPURI DE DATE

7.2.1. Prezentare generală a tipurilor de date: Clasificarea tipurilor de date; Tipuri care se pot utiliza pentru sinteza logică; Tipuri standard; Operatori standard
7.2.2. Tipuri scalare: Tipuri enumerate; Tipuri întregi; Tipuri flotante; Tipuri fizice
7.2.3. Tipuri compuse: Tablouri; Înregistrări

7.3. ATRIBUTE

7.3.1. Atribute pentru tipuri
7.3.2. Atribute pentru tablouri
7.3.3. Atribute pentru semnale

7.4. OPERATORI

7.4.1. Setul de operatori standard și precedența acestora
7.4.2. Operatori logici
7.4.3. Operatori relaționali
7.4.4. Operatori de deplasare
7.4.5. Operatori aritmetici
7.4.6. Operatorul de concatenare

7.5. APLICAȚII

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

8.1. INSTRUCȚIUNI SECVENȚIALE

8.1.1. Procese: Structura și execuția unui proces; Procese cu liste de sensibilitate incomplete; Instrucțiunea wait; Procese combinaționale și procese secvențiale
8.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
8.1.3. Variabile: Declararea și inițializarea variabilelor; Instrucțiunea de asignare a variabilelor
8.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
8.1.5. Instrucțiunea case
8.1.6. Instrucțiuni de buclare: Instrucțiunea loop; Instrucțiunea while loop; Instrucțiunea for loop; Instrucțiunea next; Instrucțiunea exit
8.1.7. Instrucțiunea secvențială assert

8.2. INSTRUCȚIUNI CONCURENTE

8.2.1. Structura și execuția unei arhitecturi
8.2.2. Procese
8.2.3. Instrucțiuni concurente de asignare a semnalelor: Instrucțiunea de asignare simplă; Instrucțiunea de asignare conditională; Instrucțiunea de asignare selectivă; Instrucțiunea block; Instrucțiunea concurentă assert

8.3. DESCRIEREA UNOR CIRCUITE COMBINAȚIONALE

8.3.1. Multiplexoare
8.3.2. Codificatoare prioritare

8.4. DESCRIEREA UNOR CIRCUITE SECVENȚIALE

8.4.1. Circuite secvențiale sincrone și asincrone
8.4.2. Bistabile
8.4.3. Registre
8.4.4. Numărătoare
8.4.5. Resetarea componentelor sincrone
8.4.6. Buffere cu trei stări și semnale bidirecționale

8.5. APLICAȚII

9. AUTOMATE DE STARE ÎN LIMBAJUL VHDL

9.1. EXEMPLU DE PROIECTARE

9.1.1. Proiectarea tradițională
9.1.2. Proiectarea utilizând limbajul VHDL

9.2. PROIECTAREA UNUI CONTROLER DE MEMORIE
9.3. TEHNICI PENTRU GENERAREA SEMNALELOR DE IEȘIRE

9.3.1. Ieșiri decodificate din biții de stare
9.3.2. Ieșiri decodificate în registre paralele de ieșire
9.3.3. Ieșiri codificate în cadrul biților de stare
9.3.4. Codificarea cu un bistabil pe stare

9.4. AUTOMATE DE STARE DE TIP MEALY
9.5. ALTE CONSIDERAȚII DE PROIECTARE

9.5.1. Codificarea stărilor utilizând tipuri enumerate
9.5.2. Codificarea explicită a stărilor
9.5.3. Toleranța la defecte a automatelor codificate cu un bistabil pe stare

9.6. APLICAȚII

10. PROIECTAREA STRUCTURALĂ ÎN LIMBAJUL VHDL

10.1. AVANTAJELE PROIECTĂRII STRUCTURALE
10.2. ELEMENTELE UNEI DESCRIERI STRUCTURALE

10.2.1. Exemplu de descriere structurală
10.2.2. Declarația componentelor
10.2.3. Instanțierea componentelor
10.2.4. Instanțierea directă a entităților
10.2.5. Specificarea configurației

10.3. BIBLIOTECI
10.4. PACHETE

10.4.1. Declarația pachetelor
10.4.2. Corpul pachetelor
10.4.3. Pachete cu declarații de componente

10.5. GENERICE ȘI COMPONENTE PARAMETRIZATE

10.5.1. Principiul genericelor
10.5.2. Definirea entităților generice
10.5.3. Utilizarea componentelor generice
10.5.4. Tipul parametrilor generici
10.5.5. Construirea unei biblioteci de componente

10.6. INSTRUCȚIUNEA GENERATE

10.6.1. Instrucțiunea for generate
10.6.2. Instrucțiunea if generate
10.6.3. Instanțierea componentelor în instrucțiunile generate

10.7. APLICAȚII

11. SUBPROGRAME ÎN LIMBAJUL VHDL

11.1. ROLUL SUBPROGRAMELOR
11.2. FUNCȚII

11.2.1. Definirea funcțiilor
11.2.2. Utilizarea funcțiilor
11.2.3. Valori inițiale
11.2.4. Parametri cu domeniul nelimitat
11.2.5. Valori returnate cu domeniul nelimitat
11.2.6. Instrucțiuni return multiple
11.2.7. Redefinirea funcțiilor
11.2.8. Funcții pentru conversii de tip: Conversii de tip predefinite; Conversii de tip definite de utilizator
11.2.9. Funcții ca alternativă la instanțierea componentelor
11.2.10. Funcții problematice pentru sinteză
11.2.11. Definirea operatorilor ca și funcții: Operatori predefiniți; Redefinirea operatorilor
11.2.12. Funcții standard
11.2.13. Plasarea definiției funcțiilor

11.3. PROCEDURI

11.3.1. Definirea procedurilor
11.3.2. Apelul procedurilor
11.3.3. Parametri cu domeniul nelimitat
11.3.4. Parametri cu modul inout
11.3.5. Semnale utilizate ca parametri
11.3.6. Redefinirea procedurilor

11.4. APLICAȚII

12. CALCULATORUL DLX

12.1. ARHITECTURA CALCULATORULUI DLX

12.1.1. Setul de registre
12.1.2. Structura căii de date pipeline și execuția instrucțiunilor
12.1.3. Hazarduri

12.2. LIMBAJUL DE ASAMBLARE DLX

12.2.1. Expresii
12.2.2. Directive
12.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ă

12.3. SIMULATORUL WinDLX

12.3.1. Prezentare generală
12.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

12.4. UTILIZAREA SIMULATORULUI WinDLX

12.4.1. Lansarea și configurarea simulatorului
12.4.2. Încărcarea programelor de test
12.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

12.5. APLICAȚII

BIBLIOGRAFIE