480 likes | 842 Vues
Structura unui calculator. Lab02. Calculatorul?. 0. 0. 1. Calculator?. Calculator?. Calculator?. #include <stdio.h> #include <conio.h> #include <time.h> #include <dos.h> #include <stdlib.h> #define NR_MAX 5000 #define pas 50 typedef struct { double valoare;
E N D
0 0 1 Calculator?
Calculator? #include <stdio.h> #include <conio.h> #include <time.h> #include <dos.h> #include <stdlib.h> #define NR_MAX 5000 #define pas 50 typedef struct { double valoare; int baterie; }nod; int nr_repetari=1; //reteaua de noduri nod a[NR_MAX]; //nr de noduri care sunt active la un moment dat int n; //eroarea maxima admisa pentru valori double epsilon; // tablou temporar la nodul C int b[NR_MAX]; //timp transmisie mesaje pe retea int D=1; // ------------ Functie ce initializeaza valorile interne ale bateriilor ------------------- void init() { randomize(); for(int i=0;i<n;i++) { a[i].baterie=random(101); a[i].valoare=random(1000*epsilon)/1000; } } // ----------- Functie ce simuleaza trimiterea de mesaje ----------------------------------- void cere_valori(int dlay) {
Calculatorul - cum îl abordăm? Software FIC Hardware
START Instrucţiuni de executat? Nu Da Adu instrucţiunea (FETCH) Funcţie de codul operaţiei (OPCODE) Execută instrucţiunea Ce face un calculator? Cine spune asta? De unde? Care unde apare? Cine îl defineşte? Cum? Unde?
Von Neumann Harvard Arhitectura unui calculator
START Instrucţiuni de executat? Nu Da Adu instrucţiunea (FETCH) Funcţie de codul operaţiei (OPCODE) Execută instrucţiunea Funcţionarea Instrucţiune + Instrucţiune 11 10 1
START Instrucţiuni de executat? Nu Da Adu instrucţiunea (FETCH) Funcţie de codul operaţiei (OPCODE) Execută instrucţiunea Etapele execuţiei • Adu instrucţiune • Instruction Access sau • Instruction Fetch • Decodifică instrucţiune • Instruction Decode • Execută instrucţiune • Execution • Data Access • Store (write back) Results
Şi acum...o maşină reală Microprocesorul şcoală IAS* * IAS – Institute for Advanced Studies, Princeton
Structura IAS DPU DR Data /Gate register AR Address register PC Program counter IR Instruction register AC accumulator DPU Data programming unit PCU Program controling unit ICS Internal control signals Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS DPU • Instruction Fetch Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS DPU • Instruction Fetch • Instruction Decode Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS - ADD DPU • Instruction Fetch • Instruction Decode • Execution Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS - ADD DPU • Instruction Fetch • Instruction Decode • Execution • Data Access • Write back Results Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS DPU • Instruction Fetch Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS DPU • Instruction Fetch • Instruction Decode Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS - LOAD DPU • Instruction Fetch • Instruction Decode • Execution • Data access Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Funcţionarea IAS - LOAD DPU • Instruction Fetch • Instruction Decode • Execution • Data access • Writeback result Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
Mix and match Part 1
IAS vs Von Neumann DPU Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS
START Instrucţiuni de executat? Nu Da Adu instrucţiunea (FETCH) Funcţie de codul operaţiei (OPCODE) Execută instrucţiunea Etapele execuţiei • Adu instrucţiune • Instruction Access sau • Instruction Fetch • Decodifică instrucţiune • Instruction Decode • Execută instrucţiune • Execution • Data Access • Store (write back) Results
În continuare...o ALTĂmaşină reală Microprocesorul şcoală MIPS
Structura MIPS PC - Program counter; NPC - New PC; IR – Instruction register; Imm – immediate; LMD – loaded memory data; cond – branch condtion
Funcţionarea MIPS - ADD Notă: Selectarea adresei următoare nu este animată
Funcţionarea MIPS - LOAD Notă: Selectarea adresei următoare nu este animată
Mix and match Part 2
START Instrucţiuni de executat? Nu Da Adu instrucţiunea (FETCH) Funcţie de codul operaţiei (OPCODE) Execută instrucţiunea Etapele execuţiei • Adu instrucţiune • Instruction Access sau • Instruction Fetch • Decodifică instrucţiune • Instruction Decode • Execută instrucţiune • Execution • Data Access • Store (write back) Results
IAS DPU Arithmetic logic circuit AC Main Memory 25 x 8 biţi DR PCU AR PC IR Control unit ICS