Σχεδίαση της Διόδου Δεδομένων

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Σχεδίαση της Διόδου Δεδομένων"

Transcript

1 ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 4 Σχεδίαση της Διόδου Δεδομένων Καθηγητής Αντώνης Πασχάλης 207

2 Γενικές Γραμμές Επεξεργαστής (Δίοδος Δεδομένων και Μονάδα Ελέγχου) Μνήμη Εντολών και Μνήμη Δεδομένων (Cache L) Καταχωρητές Ειδικής Χρήσης της Διόδου Δεδομένων Διαδικασία Σχεδίασης Διόδου Δεδομένων Αφαιρετική Ανάλυση των Εντολών του MIPS R2000 Φάσεις Εκτέλεσης Εντολών Υλοποίηση των Λειτουργικών Μονάδων της Διόδου Δεδομένων Λεπτομερής Ανάλυση των Εντολών του MIPS R2000 σε Μικρο-Λειτουργίες Προσδιορισμός των Σημάτων Ελέγχου Δίοδος Δεδομένων 5 Κύκλων του MIPS R2000 Εκτέλεση των Εντολών με Βάση τη Δίοδο Δεδομένων

3 Επεξεργαστής ξργ - CPU Δίοδος Δεδομένων (Datapath) χρησιμοποιείται για την εκτέλεση των εντολών, η οποία ανάγεται στην εκτέλεση μίας ακολουθίας στοιχειωδών λειτουργιών που στη συνέχεια ονομάζουμε μικρο-λειτουργίες Μονάδα Ελέγχου παράγει τα κατάλληλα σήματα ελέγχου που απαιτούνται για το συγχρονισμό όλων των μονάδων του υπολογιστή αποκωδικοποιεί την εντολή που θα εκτελεσθεί και παράγει για κάθε μικρο-λειτουργία τα αντίστοιχα σήματα ελέγχου την κατάλληλη χρονική στιγμή

4 Δίοδος Δεδομένων (Datapath) Λειτουργικές μονάδες Αριθμητική & Λογική Μονάδα (ALU) Οι αριθμητικές και λογικές πράξεις που υλοποιεί εξαρτώνται από το σύνολο των αριθμητικών και λογικών εντολών που υποστηρίζει ο επεξεργαστής Επίσης εξετάζει εάν είναι μηδέν το αποτέλεσμα μίας πράξης Επιπλέον Αθροιστές Για παράδειγμα υπολογίζει τη νέα τιμή του PC : PC <= PC + 4 Κυκλώματα επέκτασης (μηδενός & πρόσημου) ) Για τον υπολογισμό του sign_extend(immediate) και του zero_extend(immediate) extend(immediate) Αρχείο καταχωρητών γενικής χρήσης (register file) καταχωρητές των ψηφίων

5 Δίοδος Δεδομένων (Datapath) Εσωτερικές αρτηρίες (internal buses) για τη διασύνδεση των λειτουργικών μονάδων με τους καταχωρητές γενικής και ειδικής χρήσης Πολυπλέκτες (es) για τον έλεγχο από τη μονάδα ελέγχου της ροής των πληροφοριών στις εσωτερικές αρτηρίες Εξωτερικές Αρτηρίες για τη διασύνδεση της διόδου δεδομένων με το πρώτο επίπεδο μνήμης (cache L) για κάθε μνήμη απαιτείται μία αρτηρία διευθύνσεων και μία ή δύο αρτηρίες δεδομένων (για εγγραφή και διάβασμα) (address bus & data bus)

6 Μονάδα Ελέγχου Στις διόδους δεδομένων του ενός κύκλου υλοποιείται σαν συνδυαστικό κύκλωμα Στις διόδους δεδομένων των πολλών κύκλων υλοποιείται σαν σύγχρονη ακολουθιακή μηχανή με δύο τεχνικές: καλωδιωμένη (hardwired) για RISC σαν μηχανή πεπερασμένων καταστάσεων (FSM) μικρο-προγραμματιζόμενη (microprogrammed) με χρήση μίας μνήμης ROM, όπου αποθηκεύονται μικρο-εντολές (microinstructions), και ενός μετρητή μικρο-προγράμματος (microprogram sequencer) για CISC

7 Υλοποίηση Μνήμης Cache L Αρχιτεκτονική Harvard στο Επίπεδο Δύο χωριστές μνήμες Fast Static Random Access Memories (FSRAM) Μνήμη Εντολών Imem Μνήμη Δεδομένων Dmem κύκλος ρολογιού πολλοί κύκλοι ρολογιού On-chip cache L Imem δίοδος δ δεδομένωνδ cache L2 κύρια cache L μνήμη Dmem Ιεραρχία Συστήματος Μνήμης με 2 Επίπεδα Cache

8 Στατικές Μνήμες RAM - Cache L IN data_in SEL 0. SEL address m Dec coder m to 2 m.. D E D-latch Q mem_en SEL 2 m -. WR mem_write data_out Ο αποκωδικοποιητής m σε 2 m επιλέγει μία σειρά για κάθε διεύθυνση (address), όταν mem_en = mem_write = 0, mem_en = : διάβασμα από τη μνήμη mem_write = -σε-0, mem_en = : εγγραφή στη μνήμη 3-state IN OUT κυψελίδα μνήμης

9 Δίοδος Δεδομένων (Datapath) Καταχωρητές Ειδικής Χρήσης μετρητής προγράμματος (program counter - PC) αποθηκεύει τη διεύθυνση της εντολής που πρόκειται να εκτελεσθεί και διευθυνσιοδοτεί τη μνήμη εντολών καταχωρητής χ εντολών (instruction register - IR) αποθηκεύει την εντολή που πρόκειται να εκτελεσθεί, που διαβάζεται από τη μνήμη εντολών Υποθέτουμε ότι υπάρχει χωριστή μνήμη εντολών (Imem) και χωριστή μνήμη δεδομένων (Dmem) Αρχιτεκτονική Harvard

10 Δίοδος Δεδομένων (Datapath) Καταχωρητές Ειδικής Χρήσης καταχωρητής χ διευθύνσεων μνήμης (memory address register - MAR) αποθηκεύει τη διεύθυνση του τελεστέου που πρέπει να διαβασθεί από τη μνήμη δεδομένων ή του αποτελέσματος που πρέπει να αποθηκευθεί στη μνήμη δεδομένων καταχωρητής δεδομένων μνήμης (memory data register - MDR) αποθηκεύει τον τελεστέο που διαβάζεται από τη μνήμη δεδομένων ή το αποτέλεσμα που γράφεται στη μνήμη δδ δεδομένων Υποθέτουμε ότι υπάρχει χωριστή μνήμη δεδομένων (Dmem) Υποθέτουμε ότι υπάρχει χωριστή μνήμη δεδομένων (Dmem) με μία αμφίδρομη αρτηρία δεδομένων

11 Δίοδος Δεδομένων (Datapath) Καταχωρητές Ειδικής Χρήσης καταχωρητής δεδομένων μνήμης που διαβάζονται από τη μνήμη δεδομένων (memory data-out register - MDR_out) αποθηκεύει τον τελεστέο που διαβάζεται από τη μνήμη δεδομένων καταχωρητής δεδομένων μνήμης που γράφονται στη μνήμη δεδομένων (memory data-in register - MDR_in) αποθηκεύει το αποτέλεσμα που γράφεται στη μνήμη δεδομένων Υποθέτουμε ότι υπάρχει χωριστή μνήμη δεδομένων (Dmem) Υποθέτουμε ότι υπάρχει χωριστή μνήμη δεδομένων (Dmem) με δύο αρτηρίες δεδομένων

12 Δίοδος Δεδομένων (Datapath) Καταχωρητές Ειδικής Χρήσης προσωρινοί καταχωρητές αποθηκεύουν προσωρινά την πληροφορία, που παράγεται κατά την εκτέλεση των μικρο-λειτουργιών, ώστε να είναι δυνατή η εκτέλεση μίας εντολής σε πολλούς κύκλους ρολογιού απαιτείται συνήθως ένας κύκλος ρολογιού για κάθε μικρο-λειτουργία που δεν μπορεί να εκτελεσθεί παράλληλα με μία άλλη μικρο-λειτουργία είναι προαιρετικοί

13 Επεξεργαστής - CPU Reset CLK Μονάδα Ελέγχου Κατάσταση (state) op, funct σήματα ελέγχου Ιmem _ en = Dmem _ en = Imem_write = 0 Dmem_write Imem SRAM IR PC Δίοδος Δεδομένων MAR MDR in MDR out Dmem SRAM Reset CLK

14 Περιγραφή Επεξεργαστή σε Επίπεδο Μεταφοράς Καταχωρητή - RTL περιγράφεται κάθε καταχωρητής (REG) του συστήματος, καθώς και η συνδυαστική λογική (CL) ανάμεσα στους καταχωρητές REG CL REG CL REG CL REG

15 Πως Σχεδιάζουμε Διόδους Δεδομένων ; Αναλύουμε το σύνολο των εντολών και προσδιορίζουμε τις απαιτήσεις σε υλικό της διόδου δεδομένων από περιγραφές των εντολών σε επίπεδο μεταφοράς καταχωρητών ααχωρηώ (register (egste ta transfer se level e - RTL) προσδιορίζουμε: ορ τις απαιτήσεις σε καταχωρητές τιςαπαιτήσειςσελειτουργικές μονάδες τις μικρο-λειτουργίες Επιλέγουμε σε πόσους κύκλους θα εκτελεσθεί η εντολή και προσδιορίζουμε τους προσωρινούς καταχωρητές Συνθέτουμε τη δίοδο των δεδομένων

16

17 Αφαιρετική Ανάλυση των Εντολών του MIPS R2000 Γίνεται σε υψηλό επίπεδο μεταφοράς καταχωρητή Χρησιμοποιούνται ως καταχωρητές οι καταχωρητές ειδικού σκοπού της διόδου δεδομένων που ήδη έχουμε ορίσει (PC, IR, MAR, MDR_in, MDR_out) οι καταχωρητές reg[rs/rt/rd] του αρχείου των καταχωρητών, που προσδιορίζονται στα αντίστοιχα πεδία διευθύνσεων καταχωρητών (rs, rt, rd) του IR το πεδίο immediate του IR στις εντολές τύπου Ι το πεδίο shamt του IR στις εντολές ολίσθησης με σταθερό αριθμό ολισθήσεων οι θέσεις μνήμης της μνήμης εντολών μεγέθους 4 bytes των οποίων η διεύθυνση του περισσότερου σημαντικού byte προσδιορίζεται στο PC οι θέσεις μνήμης της μνήμης δεδομένων μεγέθους 4 bytes των οποίων η διεύθυνση του περισσότερου σημαντικού byte προσδιορίζεται στο MAR

18 Σημειογραφία Το περιεχόμενο του καταχωρητή ειδικής χρήσης X αναφέρεται σαν X Το περιεχόμενο του καταχωρητή reg[rx] του αρχείου των καταχωρητών αναφέρεται σαν reg[rx] Το περιεχόμενο του πεδίου immediate του IR αναφέρεται σαν immediate μετά την επέκταση πρόσημου αναφέρεται σαν sign_extend(immediate) μετά την επέκταση μηδενός αναφέρεται σαν zero_extend(immediate) Το περιεχόμενο του πεδίου shamt του IR αναφέρεται σαν shamt Το περιεχόμενο της θέσης μνήμης εντολών Imem στη διεύθυνση PC αναφέρεται σαν Imem[PC] Το περιεχόμενο της θέσης μνήμης δεδομένων Dmem Το περιεχόμενο της θέσης μνήμης δεδομένων Dmem στη διεύθυνση MAR αναφέρεται σαν Dmem[MAR]

19 Εντολή LW (Load Word) LW rt, immediate(rs) (= address) IR <= Imem[PC] MAR <= sign_extend(immediate) + reg[rs] MDR_out <= Dmem[MAR] reg[rt]<= MDR_out PC <= PC op=0x23 rs rt immediate - offset 6 Bits 5 Bits 5 Bits 6 Bits = Bits Υποθέτουμε ότι υπάρχει χωριστή μνήμη δεδομένων (Dmem) με δύο αρτηρίες δεδομένων και με MAR, MDR_in και MDR_out

20 Εντολή SW (Store Word) SW rt, immediate(rs) (= address) IR <= Imem[PC] MAR <= sign_extend(immediate) + reg[rs] MDR_in <= reg[rt] DMem[MAR] <= MDR_in PC <= PC op=0x2b rs rt immediate - offset 6 Bits 5 Bits 5 Bits 6 Bits = Bits Υποθέτουμε ότι υπάρχει χωριστή μνήμη δεδομένων (Dmem) με δύο αρτηρίες δεδομένων και με MAR, MDR_in και MDR_out

21 Εντολή ADDIU (Addition Immediate Unsigned) ADDIU rt, rs, immediate IR <= Imem[PC] reg[rt] <= reg[rs]+sign sign_extend(immediate) PC <= PC op=0x09 rs rt immediate 6 Bits 5 Bits 5 Bits 6 Bits = Bits Η πρόσθεση γίνεται μεταξύ προσημασμένων ακεραίων αριθμών, χωρίς να γίνεται έλεγχος υπερχείλισης

22 Εντολή ANDI (AND Immediate) ANDI rt, rs, immediate IR <= Imem[PC] reg[rt] <= reg[rs] AND zero_extend(immediate) extend(immediate) PC <= PC op=0x0c rs rt immediate 6 Bits 5 Bits 5 Bits 6 Bits = Bits

23 Εντολή ORI (OR Immediate) ORI rt, rs, immediate IR <= Imem[PC] reg[rt] <= reg[rs]orzero zero_extend(immediate) extend(immediate) PC <= PC op=0x0d rs rt immediate 6 Bits 5 Bits 5 Bits 6 Bits = Bits

24 Εντολή XORI (XOR Immediate) XORI rt, rs, immediate IR <= Imem[PC] reg[rt] <= reg[rs]xorzero zero_extend(immediate) extend(immediate) PC <= PC op=0x0e rs rt immediate 6 Bits 5 Bits 5 Bits 6 Bits = Bits

25 Εντολή ADDU (Addition Unsigned) ADDU rd, rs, rt IR <= Imem[PC] reg[rd]<= reg[rs]+reg[rt] reg[rt] PC <= PC op = 0 rs rt rd funct=0x2 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits Η πρόσθεση γίνεται μεταξύ προσημασμένων ακεραίων αριθμών, χωρίς να γίνεται έλεγχος υπερχείλισης

26 Εντολή SUBU (Subtraction Unsigned) SUBU rd, rs, rt IR <= Imem[PC] reg[rd]<= reg[rs] - reg[rt] PC <= PC op = 0 rs rt rd funct=0x23 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits Η αφαίρεση γίνεται μεταξύ προσημασμένων ακεραίων αριθμών, χωρίς να γίνεται έλεγχος υπερχείλισης

27 Εντολή AND AND rd, rs, rt IR <= Imem[PC] reg[rd]<= reg[rs] AND reg[rt] PC <= PC op = 0 rs rt rd funct=0x24 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

28 Εντολή OR OR rd, rs, rt IR <= Imem[PC] reg[rd]<= reg[rs]orreg[rt] reg[rt] PC <= PC op = 0 rs rt rd funct=0x25 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

29 Εντολή XOR XOR rd, rs, rt IR <= Imem[PC] reg[rd]<= reg[rs]xorreg[rt] reg[rt] PC <= PC op = 0 rs rt rd funct=0x26 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

30 NOR rd, rs, rt IR <= Imem[PC] Εντολή NOR reg[rd]<= reg[rs]norreg[rt] reg[rt] PC <= PC op = 0 rs rt rd funct=0x27 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

31 Εντολή SLL (Shift Left Logical) SLL rd, rt, shamt IR <= Imem[PC] reg[rd]<= reg[rt] shifted left logical by shamt PC <= PC op = 0 rs rt rd shamt funct=0x00 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits Η ψευδο-εντολή NOP μετατρέπεται στην εντολή SLL $zero, $zero, 0 ψ ή μ ρ η ή,, με κωδικοποίηση όλα-0

32 Εντολή SRL (Shift Right Logical) SRL rd, rt, shamt IR <= Imem[PC] reg[rd]<= reg[rt] shifted right logical by shamt PC <= PC op = 0 rs rt rd shamt funct=0x02 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

33 Εντολή SRA (Shift Right Arithmetic) SRA rd, rt, shamt IR <= Imem[PC] reg[rd]<= reg[rt] shifted right arithmetic by shamt PC <= PC op = 0 rs rt rd shamt funct=0x03 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

34 Εντολή SLLV (Shift Left Logical Variable) SLLV rd, rt, rs IR <= Imem[PC] reg[rd]<= reg[rt] shifted left logical by reg[rs] PC <= PC op = 0 rs rt rd funct=0x04 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

35 Εντολή SRLV (Shift Right Logical Variable) SRLV rd, rt, rs IR <= Imem[PC] reg[rd]<= reg[rt] shifted right logical by reg[rs] PC <= PC op = 0 rs rt rd funct=0x06 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

36 Εντολή SRAV (Shift Right Arithmetic Variable) SRAV rd, rt, rs IR <= Imem[PC] reg[rd]<= reg[rt] shifted right arithmetic by reg[rs] PC <= PC op = 0 rs rt rd funct=0x07 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

37 Εντολή SLTI (Set on Less Than Immediate) SLTI rt, rs, immediate IR <= Imem[PC] IF reg[rs] < sign_extend(immediate) THEN reg[rt] <= ELSE reg[rt] <= 0 PC <= PC op=0x0a rs rt immediate 6 Bits 5 Bits 5 Bits 6 Bits = Bits Η σύγκριση γίνεται μεταξύ προσημασμένων ακεραίων αριθμών, χωρίς να γίνεται έλεγχος υπερχείλισης

38 Εντολή SLT (Set on Less Than) SLT rd, rs, rt 3 IR <= Imem[PC] IF reg[rs] reg[rt] THEN reg[rd] <= ELSE reg[rd] <= 0 PC <= PC op = 0 rs rt rd shamt=0 funct=0x2a shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits Η σύγκριση γίνεται μεταξύ προσημασμένων ακεραίων αριθμών, χωρίς να γίνεται έλεγχος υπερχείλισης

39 Εντολή BEQ (Branch on Equal) BEQ rs, rt, immediate (=label) IR <= Imem[PC] IF reg[rs] = reg[rt] THEN PC <= PC x sign_extend(immediate) ELSE PC <= PC op=0x04 rs rt immediate - offset 6 Bits 5 Bits 5 Bits 6 Bits = Bits Δεν υλοποιείται η καθυστερημένη διακλάδωση

40 Εντολή BNE (Branch on Not Equal) BNE rs, rt, immediate (=label) IR <= Imem[PC] IF reg[rs] reg[rt] THEN PC <= PC x sign_extend(immediate) ELSE PC <= PC op=0x05 rs rt immediate - offset 6 Bits 5 Bits 5 Bits 6 Bits = Bits Δεν υλοποιείται η καθυστερημένη διακλάδωση

41 JR rs Εντολή JR (Jump Register) IR <= Imem[PC] PC <= reg[rs] op = 0 rs rt=0 rd=0 funct=0x08 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

42 Εντολή JALR (Jump And Link Register) JALR rs, rd IR <= Imem[PC] reg[rd] <= PC + 4 PC <= reg[rs] op = 0 rs rt=0 rd funct=0x09 shamt=0 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits Η προκαθορισμένη τιμή (default) του καταχωρητή rd, όταν αυτός δεν δηλώνεται, είναι ο καταχωρητής $ra = $3

43 Φάσεις Εκτέλεσης Εντολών Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή ήδιεύθυνσης Εντολής που θα Εκτελεσθεί 5

44 Συσχέτιση Φάσεων με Κύκλους Η δίοδος δεδομένων που πρόκειται να σχεδιάσουμε είναι πολλών κύκλων με τα ακόλουθα χαρακτηριστικά : Κάθε φάση της εντολής εκτελείται σε διαφορετικό κύκλο του ρολογιού Σε έναν κύκλο του ρολογιού μπορεί να μεταφερθούν : δεδομένα από καταχωρητές σε καταχωρητές δεδομένα από καταχωρητή στη μνήμη δεδομένων (εγγραφή) δεδομένα από τη μνήμη δεδομένων σε καταχωρητή (διάβασμα) εντολή από τη μνήμη εντολών σε καταχωρητή (διάβασμα) Για κάθε μεταφορά ορίζουμε μία μικρο-λειτουργία ουργ Χρησιμοποιούνται οι καταχωρητές ειδικού σκοπού που έχουμε ήδη ορίσει καθώς και προσωρινοί καταχωρητές, όπου αυτοί απαιτούνται Η εγγραφή στους καταχωρητές γίνεται κατά την επόμενη ακμή του ρολογιού, όταν δεν υπάρχει σήμα ενεργοποίησης εγγραφής Η ή ά έ έ Χ ί ά Η εγγραφή σε κάποιους καταχωρητές, έστω Χ, γίνεται κατά την επόμενη ακμή του ρολογιού και όταν το σήμα ελέγχου Χ_write =

45 Λεπτομερής Ανάλυση των Εντολών του MIPS R2000 σε Μικρο-Λειτουργίες Γίνεται σε χαμηλό επίπεδο μεταφοράς καταχωρητή, όπου για κάθε μεταφορά ορίζουμε μία μικρο-λειτουργία Χρησιμοποιούνται ως καταχωρητές οι καταχωρητές ειδικού σκοπού της διόδου δεδομένων που ήδη έχουμε ορίσει (PC, IR, MAR, MDR_in, MDR_out) οι καταχωρητές reg[rs/rt/rd] του αρχείου των καταχωρητών, που προσδιορίζονται στα αντίστοιχα πεδία διευθύνσεων καταχωρητών (rs, rt, rd) του IR το πεδίο immediate του IR στις εντολές τύπου Ι το πεδίο shamt του IR στις εντολές ολίσθησης με σταθερό αριθμό ολισθήσεων οι θέσεις μνήμης της μνήμης εντολών μεγέθους 4 bytes των οποίων η διεύθυνση του περισσότερου σημαντικού byte προσδιορίζεται στο PC οι θέσεις μνήμης της μνήμης δεδομένων μεγέθους 4 bytes των οποίων η διεύθυνση του περισσότερου σημαντικού byte προσδιορίζεται στο MAR προσωρινοί καταχωρητές, όπου αυτοί απαιτούνται

46

47 Προσκόμιση Εντολής από τη Μνήμη Εντολών Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή ήδιεύθυνσης Εντολής που θα Εκτελεσθεί 5

48 Προσκόμιση Εντολής από τη Μνήμη Εντολών Στον καταχωρητή PC (Program Counter) είναι αποθηκευμένη η διεύθυνση της εντολής που πρόκειται να εκτελεσθεί Ο προσδιορισμός της διεύθυνσης της πρώτης εντολής γίνεται κατά τη φάση αρχικοποίησης του επεξεργαστή με το σήμα reset Ο προσδιορισμός της διεύθυνσης της επόμενης εντολής γίνεται κατά την τελευταία φάση εκτέλεσης της τρέχουσας εντολής Από τη μνήμη εντολών Imem (Instruction Memory) διαβάζεται η εντολή που πρόκειται να εκτελεσθεί, όταν Imem_ en = και Imem_ write = 0 Στον καταχωρητή IR (Instruction Register) αποθηκεύεται η εντολή που πρόκειται να εκτελεσθεί κατά την επόμενη ακμή του ρολογιού και όταν το σήμα ελέγχου IR_write = Είναι κοινή διαδικασία για όλες τις εντολές IR <= Imem[PC]

49 Προσκόμιση Εντολής από τη Μνήμη Εντολών reset PC IR <= Imem[PC] clock προς Σύστημα Μνήμης PC_write 0 Imem instruction cache (024 bytes) address Data_in Imem_write = 0 Ιmem_en = IR Data_out clock IR_write Αναφερόμαστε μόνο στη διαδικασία προσκόμισης εντολών από τη μνήμη εντολών Τα 2 λιγότερο σημαντικά ψηφία της διεύθυνσης είναι πάντα 0 λόγω ευθυγράμμισης

50 Προσκόμιση Εντολής από τη Μνήμη Εντολών Μετά την προσκόμιση της εντολής το περιεχόμενο του καταχωρητή αχωρη ΙR (Instruction Register) είναι: για τις εντολές τύπου Immediate IR op rs rt immediate - offset 6 Bits 5 Bits 5 Bits 6 Bits = Bits για τις εντολές τύπου Register IR op = 0 rs rt rd shamt funct 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

51 Προσπέλαση του Αρχείου Καταχωρητών Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή ήδιεύθυνσης Εντολής που θα Εκτελεσθεί 5

52 Διάβασμα από το Αρχείο Καταχωρητών Διάβασμα από τον καταχωρητή rs reg[rs] = διεύθυνση της μνήμης δεδομένων (LW, SW) reg[rs] = ο πρώτος από τους δύο τελεστέους (ADDIU*, ADDU*, SLTI, SLT, BEQ, BNE) reg[rs] = διεύθυνση της μνήμης εντολών (JR, JALR) reg[rs] = ο αριθμός των ολισθήσεων (SLLV, SRLV, SRAV) Διάβασμα από τον καταχωρητή rt reg[rt] = ο τελεστέος που θα αποθηκευθεί στη μνήμη δεδομένων (SW) reg[rt] = ο δεύτερος από τους δύο τελεστέους (ADDU*, SLT, BEQ, BNE) reg[rt] = ο τελεστέος που θα υποστεί ολίσθηση (εντολές ολίσθησης) * και οι παρόμοιες αριθμητικές και λογικές εντολές

53 Διάβασμα από το Αρχείο Καταχωρητών Δύο διαβάσματα παράλληλα από rs και rt Τα πεδία rs και rt είναι κοινά και για τους δύο τύπους εντολών Ι και R IR op rs rt immediate - offset 6 Bits 5 Bits 5 Bits 6 Bits = Bits IR op = 0 rs rt rd shamt=0 funct 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = Bits

54 Εγγραφή στο Αρχείο Καταχωρητών Εγγραφή στον καταχωρητή rt reg[rt] = ο τελεστέος που θα φορτωθεί από τη μνήμη δεδομένων (LW) reg[rt] = το αποτέλεσμα της αριθμητικής ή λογικής πράξης (ADDIU*) reg[rt] = το αποτέλεσμα της σύγκρισης (0 ή ) (SLTI) Εγγραφή στον καταχωρητή rd reg[rd] = το αποτέλεσμα της αριθμητικής ή λογικής πράξης (ADDU*) reg[rd] = το αποτέλεσμα της ολίσθησης (εντολές ολίσθησης) reg[rd] = το αποτέλεσμα της σύγκρισης (0 ή ) (SLT) reg[rd] = η διεύθυνση της επόμενης εντολής (PC+4) (JALR) * και οι παρόμοιες αριθμητικές και λογικές εντολές

55 Εγγραφή στο Αρχείο Καταχωρητών Μία εγγραφή στον rt για εντολές τύπου Ι ήστονrd για εντολές τύπου R Τα πεδία rt και rd είναι διαφορετικά στους δύο τύπους εντολών Ι και R, αντίστοιχα IR op rs rt immediate - offset 6 Bits 5 Bits 5 Bits 6 Bits = Bits IR op = 0 rs rt rd shamt funct 6Bit Bits 5Bit Bits 5Bit Bits 5Bit Bits 5Bit Bits 6 Bits = Bits

56 Καταχωρητές Γενικής Χρήσης Με μία αρτηρία εγγραφής Bus_W και δύο αρτηρίες διαβάσματος Bus_A και Bus_BB Εγγραφή δεδομένων clock Διάβασμα δεδ. Bus_W Register Bus_A Bus_B write_en read_en_β read_en_α write_en clock read_en_β read_en_α Bus_W(i) 0 D CLK Q write_en = 0 : δεν αλλάζει δεδομένα write_en = : εγγραφή νέων δεδομένων δ από όbus_w read_en_a = 0 : έξοδος 0 read_en_a = : διάβασμα δεδομένων στο Bus_A read_en_b en = 0 : έξοδος 0 read_en_β = : διάβασμα δεδομένων στο Bus_Β κυψελίδα καταχωρητή Bus_ A(i) () Bus_B(i)

57 Διάβασμα από το Αρχείο Καταχωρητών Υποστηρίζει δύο αρτηρίες διαβάσματος (Βus_A & Βus_B) Hαρτηρία ρηρ επιλογής Select_A συνδέεται με το πεδίο rs του καταχωρητή IR και επιλέγει τον καταχωρητή rs, που θα διαβαστεί και θα εμφανίσει το περιεχόμενό του στο Βus_A, ασύγχρονα Στην επόμενη ακμή του ρολογίου αποθηκεύεται στον προσωρινό καταχωρητή Α το περιεχόμενο του καταχωρητή rs που μεταφέρεται μέσω του Bus_A H αρτηρία επιλογής Select_Β συνδέεται με το πεδίο rt του καταχωρητή IR και επιλέγει τον καταχωρητή rt, που θα διαβαστεί και θα εμφανίσει το περιεχόμενό του στο Βus_Β, Β ασύγχρονα Στην επόμενη ακμή του ρολογίου αποθηκεύεται στον προσωρινό καταχωρητή Β το περιεχόμενο του καταχωρητή rt που μεταφέρεται μέσω του Bus_B A <= reg[rs] B <= reg[rt]

58 Εγγραφή στο Αρχείο Καταχωρητών Υποστηρίζει μία αρτηρία εγγραφής (Βus_W) Η αρτηρία επιλογής Select_W συνδέεται με το πεδίο rt του καταχωρητή IR για τις εντολές τύπου Ι, όταν το σήμα ελέγχου Reg/Imm' = 0 Η αρτηρία επιλογής Select_W συνδέεται με το πεδίο rd του καταχωρητή IR για τις εντολές τύπου R, όταν το σήμα ελέγχου Reg/Imm' = Η αρτηρία επιλογής Select_W επιλέγει αντίστοιχα τον καταχωρητή rt ή rd που θα γραφτεί με νέα δεδομένα, που μεταφέρονται μέσω του Bus_W, κατά την επόμενη ακμή του ρολογιού και όταν το σήμα ελέγχου Reg_write = Η σύνδεση της αρτηρίας επιλογής Select_W με τον καταχωρητή IR γίνεται μέσω ενός 5-ψήφιου πολυπλέκτη 2 σε με σήμα επιλογής το σήμα ελέγχου Reg/Imm reg[rt/rd] <= Bus_W Οι προσωρινοί καταχωρητές που συνδέονται με το Bus_W θα ορισθούν στη συνέχεια

59 Αρχείο Καταχωρητών rd rt rs IR Select_A clock Reg/Imm Bus_W Register 0 0 x 5 Select_W Reg_write de Select_B write_en read_en_β read_en_α decoder... 3 decoder OR- OR- x Bus_B Bus_A

60 Αρχείο Καταχωρητών Αρχείο Καταχωρητών των ψηφίων (Register File) IR rs rt register file A rd B Bus_W A <= reg[rs] B <= reg[rt] reg[rt/rd] <= Bus_W Αρτηρία δεδομένων για εγγραφή στο RF clock Reg_write Reg/Imm Προσωρινοί καταχωρητές Οι προσωρινοί καταχωρητές που συνδέονται με το Bus_W θα ορισθούν στη συνέχεια

61 Επέκταση Πρόσημου ή Μηδενός Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή ήδιεύθυνσης Εντολής που θα Εκτελεσθεί 5

62

63 Κύκλωμα Επέκτασης Πεδίου Immediate Το πεδίο immediate του καταχωρητή IR έχει μέγεθος 6 ψηφία, ενώ οι λειτουργικές μονάδες του επεξεργαστή επεξεργάζονται δεδομένα μεγέθους ψηφιών Το πεδίο immediate του καταχωρητή IR αποθηκεύεται στον προσωρινό καταχωρητή Ι, αφού υποστεί : επέκταση πρόσημου από 6 ψηφία σε ψηφία, όταν το σήμα ελέγχου Sign/Zero' = (τα 6 περισσότερα σημαντικά ψηφία που προστίθενται ακολουθούν το πρόσημο) επέκταση μηδενός από 6 ψηφία σε ψηφία, όταν το σήμα ελέγχου Sign/Zero' = 0 (τα 6 περισσότερα σημαντικά ψηφία που προστίθενται είναι 0) I <= sign/zero_extend[immediate]

64 Κύκλωμα Επέκτασης Πεδίου Immediate Κύκλωμα επέκτασης πεδίου immediate πρόσημου (Sign/Zero = ) μηδενός (Sign/Zero = 0) I <= sign/zero_extend[immediate] Sign/Zero πρόσημο sign (MSB) IR 5 IR 0 IR imm EXT 6 S/Z I Προσωρινός καταχωρητής Προσοχή στο fan-out. Sign/Zero MSB = I 3. I 6 I 5 I 0

65 Αριθμητική και Λογική Μονάδα Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή ήδιεύθυνσης Εντολής που θα Εκτελεσθεί 5

66 Αριθμητική και Λογική Μονάδα (ALU) Εκτέλεση αριθμητικών και λογικών πράξεων πρόσθεση προσημασμένων ακεραίων αριθμών (κατά την εκτέλεση των εντολών: LW, SW, ADDIU, ADDU) αφαίρεση προσημασμένων ακεραίων αριθμών (κατά την εκτέλεση των εντολών: SUBU, SLTI, SLT, BEQ, BNE) λογικό AND, OR, XOR, NOR ανά ψηφίο (κατά την εκτέλεση των εντολών: ANDI, ORI, XORI, AND, OR, XOR, NOR) Εκτέλεση ολισθήσεων (με τη χρήση ολισθητή) κατά την εκτέλεση των εντολών SLL, SRL, SRA, SLLV, SRLV, SRAV Ανίχνευση μηδενός στο αποτέλεσμα της αφαίρεσης (με τη χρήση δένδρου πυλών ΟR) κατά την εκτέλεση των εντολών BEQ και BNE Εμφάνιση του πρόσημου του αποτελέσματος της αφαίρεσης στην έξοδο της ALU κατά την εκτέλεση των εντολών SLTI και SLT

67 Αριθμητική και Λογική Μονάδα (ALU) shamt 5 Bus_A Bus_BB ALU Zero Bus_S 4 sv ALUop BusABusBBusS: Bus_A, Bus_B, Bus_S οι δύο είσοδοι και η έξοδος της ALU μεγέθους ψηφίων shamt : η αρτηρία μεγέθους 5 ψηφίων που προσδιορίζει το σταθερό αριθμό ολισθήσεων ALUop : το σήμα ελέγχου μεγέθους 4 ψηφίων που επιλέγει την πράξη sv : το σήμα ελέγχου που μας πληροφορεί ότι ο αριθμός των ολισθήσεων είναι μεταβλητός Zero : το σήμα κατάστασης που μας πληροφορεί ότι η έξοδος της ALU (Bus_S) είναι μηδέν

68 shamt sv shamt_in 5 2 Αριθμητική και Λογική Μονάδα (ALU) ALUop[:0] 0 x 5 Bus_A[4:0] ολισθητής Bus_B Bus_A Bus_B Bus_A Bus_B Ne (MSB) μονάδα SLT αθροιστής αφαιρέτης μ λογική μονάδα ALUop[3:2] πολυπλέκτης 4 σε x Bus_S δένδρο OR Zero

69 Σήματα Ελέγχου της ALU εντολή πεδίο funct ALUop ADDU X SUBU X AND X OR X XOR X NOR X SLL SRL SRA SLLV SRLV SRAV SLT X sv funct[:0] = ALUop[:0] funct[2] = sv

70 Σήματα Ελέγχου της ALU εντολή πεδίο opcode ALUop ADDIU ANDI ORI XORI LW SW BEQ BNE SLTI

71 Ο Αθροιστής - Αφαιρέτης της ALU Bus_A Bus_B + x ALUop[] αθροιστής Cin ALUop[] = 0: Πρόσθεση ALUop[] = : Αφαίρεση Bus_A, Bus_B : οι δύο είσοδοι του Αθροιστή - Αφαιρέτη μεγέθους ψηφίων ALUop[] : το σήμα ελέγχου που επιλέγει την πράξη (πρόσθεση ή αφαίρεση) Cin : το κρατούμενο εισόδου Το κρατούμενο εξόδου δεν χρησιμοποιείται

72 Η Λογική Μονάδα της ALU Bus_A[i] Bus_B[i] Η λογικές πράξεις εκτελούνται ανά ψηφίο. Η παρούσα μονάδα επαναλαμβάνεται φορές 2 ALUop[:0] πολυπλέκτης 4 σε x ALUop[:0] = 00: AND ALUop[:0] = 0: OR ALUop[:0] = 0: XOR ALUop[:0] = : NOR Bus_A, Bus_B : οι δύο είσοδοι της Λογικής Μονάδας μεγέθους ψηφίων ALUop[:0] : το σήμα ελέγχου μεγέθους 2 ψηφίων που επιλέγει τη λογική πράξη

73 Bus_B Ο Ολισθητής της ALU shamt_in 5 SLL SRL SRA ALUop[:0] = 00: SLL ALUop[:0] = 0: τίποτα ALUop[:0] = 0: SRL ALUop[:0] = : SRA ALUop[:0] πολυπλέκτης 4 σε x Bus_B : η είσοδος του Ολισθητή μεγέθους ψηφίων shamt_in : η αρτηρία μεγέθους 5 ψηφίων που προσδιορίζει τον αριθμό των ολισθήσεων ALUop[:0] : το σήμα ελέγχου μεγέθους 2 ψηφίων που επιλέγει την πράξη της ολίσθησης ALUop[:0]=0 : η είσοδος του Ολισθητή οδηγείται στην έξοδο χωρίς να υποστεί ολίσθηση

74 8 - Ψήφιος Ολισθητής Αριστερής Ολίσθησης (Shifter for Shift Left Logical) x6 x7 x5 x6 x4 x5 x3 x4 x2 x3 x x2 x0 x 0 x sa[0] d05 d07 d04 d06 d03 d05 d02 d04 d0 d03 d00 d02 0 d0 0 d sa[] d3 d7 d2 d6 d d5 d0 d4 0 d3 0 d2 0 d 0 d sa[2] y7 y6 y5 y4 y3 y2 y y0 Κάθε επίπεδο πολυπλεκτών i εκτελεί ολίσθηση κατά την απόσταση 2 i και όλοι Κάθε επίπεδο πολυπλεκτών i εκτελεί ολίσθηση κατά την απόσταση 2 και όλοι οι πολυπλέκτες 2 σε αυτού του επιπέδου λαμβάνουν σαν είσοδο επιλογής το σήμα sa[i] sa[2:0] : η αρτηρία μεγέθους 3 ψηφίων που προσδιορίζει τον αριθμό των ολισθήσεων (0..7)

75 Εμφάνιση του Πρόσημου στην Έξοδο της ALU Η υλοποίηση του "θέσε εάν μικρότερο από (set less than)" που απαιτούν οι εντολές SLTI και SLT γίνεται ως εξής: Eκτελείται η σύγκριση σαν πράξη αφαίρεσης στον Αφαιρέτη της ALU Εάν το αποτέλεσμα της πράξης είναι αρνητικός αριθμός (δηλαδή ικανοποιείται η συνθήκη της σύγκρισης), τότε το ψηφίο του πρόσημου του αποτελέσματος Ne (το msb) είναι Εάν το αποτέλεσμα της πράξης είναι θετικός αριθμός ή μηδέν (δηλαδή δεν ικανοποιείται η συνθήκη της σύγκρισης), τότε το ψηφίο του πρόσημου του αποτελέσματος Ne (το msb) είναι 0 Η έξοδος της ALU τίθεται στο ή 0, αντίστοιχα Το ψηφίο του πρόσημου του αποτελέσματος εμφανίζεται σαν λιγότερο σημαντικό ψηφίο της εξόδου της ALU, ενώ τα υπόλοιπα ψηφία είναι όλα μηδέν Bus_S[0] = Ne Bus_S[i] = 0 (i =,.., 3)

76 Η Μονάδα SLT της ALU Ne '0' Στην πραγματικότητα δεν υλοποιείται κάποια μονάδα. Απλά οι είσοδοι την πραγματι ότητα δεν υλοποιείται άποια μονάδα. πλά οι είσοδοι του τελικού -ψήφιου πολυπλέκτη 4 σε της ALU, που σχετίζονται με τη συγκεκριμένη μονάδα, συνδέονται όπως φαίνεται πιο πάνω

77 Αριθμητική και Λογική Μονάδα (ALU) Ο προσωρινός καταχωρητής Α, (που περιέχει το περιεχόμενο του καταχωρητή rs), συνδέεται με την είσοδο Bus_A της ALU Ο προσωρινός καταχωρητής Β, (που περιέχει το περιεχόμενο του καταχωρητή rt), ή ο προσωρινός καταχωρητής Ι, (που περιέχει το πεδίο immediate του καταχωρητή IR, αφού υποστεί επέκταση πρόσημου ή μηδενός), συνδέεται με την είσοδο Bus_BB της ALU Η επιλογή γίνεται μέσω ενός -ψήφιου πολυπλέκτη 2 σε με σήμα επιλογής το σήμα ελέγχου Reg/Imm Ο αριθμός των ολισθήσεων προσδιορίζεται στο πεδίο shamt του καταχωρητή IR ή στα 5 λιγότερο σημαντικά ψηφία του προσωρινού καταχωρητή Α Η επιλογή γίνεται εντός της ALU μέσω ενός 5-ψήφιου πολυπλέκτη Η επιλογή γίνεται εντός της ALU μέσω ενός 5 ψήφιου πολυπλέκτη 2 σε με σήμα επιλογής το σήμα ελέγχου sv

78 Αριθμητική και Λογική Μονάδα (ALU) Στην επόμενη ακμή του ρολογιού η έξοδος Bus_S της ALU αποθηκεύεται πάντα στον προσωρινό ρ καταχωρητή S Στην επόμενη ακμή του ρολογιού η έξοδος Bus_S της ALU αποθηκεύεται στον καταχωρητή MAR, μόνο κατά την εκτέλεση των εντολών LW και SW, όταν το σήμα ελέγχου MAR_write = Στην επόμενη ακμή του ρολογιού το σήμα κατάστασης Zero, Στην επόμενη ακμή του ρολογιού το σήμα κατάστασης Zero, που δηλώνει ότι η έξοδος της ALU είναι μηδέν, αποθηκεύεται στο D Flip-Flop Z. Αυτό το σήμα κατάστασης, αν και παράγεται κατά την εκτέλεση όλων των εντολών, χρησιμοποιείται μόνο κατά την εκτέλεση των εντολών BEQ και BNE

79 Αριθμητική και Λογική Μονάδα (ALU) IR Προσωρινός καταχωρητής shamt A 5 Bus_A Zero B Bus_B Bus_S I 0 ALU 4 sv ALUop Reg/Imm' z D F/F S MAR MAR_write Μετά την τοποθέτηση των καταχωρητών στις εισόδους και τις εξόδους της ALU

80 Μικρο-λειτουργίες της ALU S <= A +/-/and/or/xor/nor I/B S <= Β SLL/SRL/SRA by shamt/a MAR <= A + I IR shamt 5 A Bus_A IF A < Ι/B THEN S <= ELSE S <= 0 IF A = B THEN z <= ELSE z <= 0 Zero B Bus_B Bus_S I 0 Reg/Imm' sv ALU 4 ALUop z S MAR_write MAR

81 Προσπέλαση Μνήμης Δεδομένων Dmem Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα β μ και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή ήδιεύθυνσης Εντολής που θα Εκτελεσθεί 5

82

83 Διάβασμα Μνήμης Δεδομένων Dmem Στον καταχωρητή MAR (Memory Address Register) είναι αποθηκευμένη η ευθυγραμμισμένη διεύθυνση του περισσότερου σημαντικού byte ενός τελεστέου μεγέθους μίας λέξης (4 bytes) της μνήμης δεδομένων Dmem που πρόκειται να διαβασθεί Από τη μνήμη δεδομένων Dmem (Data Memory) διαβάζεται ο τελεστέος μεγέθους μίας λέξης, όταν Dmem_en = και Dmem_write = 0 Στον καταχωρητή MDR_out (Memory Data Register Out) αποθηκεύεται ο τελεστέος μεγέθους μίας λέξης, που διαβάζεται από τη μνήμη δεδομένων, κατά την επόμενη ακμή του ρολογιού

84 Διάβασμα Μνήμης Δεδομένων Dmem MDR_ out <= Dmem[MAR] προς Σύστημα Μνήμης MAR clock MAR_ write 0 Dmem data cache (024 bytes) address Data_in Dmem_write = 0 Dmem_en = Data_out clock MDR_out

85 Εγγραφή Μνήμης Δεδομένων Dmem Στον καταχωρητή MAR (Memory Address Register) είναι αποθηκευμένη η η ευθυγραμμισμένη μ διεύθυνση του περισσότερου σημαντικού byte μίας θέσης μνήμης μεγέθους μίας λέξης (4 bytes) της μνήμης δεδομένων Dmem που πρόκειται να εγγραφεί Στον καταχωρητή MDR_in (Memory Data Register In) είναι αποθηκευμένη η πληροφορία μεγέθους μίας λέξης, που διαβάζεται από τον προσωρινό καταχωρητή Β και πρόκειται να εγγραφεί στη μνήμη δεδομένων δ Η μεταφορά της πληροφορίας από τον προσωρινό καταχωρητή B στον καταχωρητή MDR_in γίνεται στον προηγούμενο κύκλο Στη μνήμη δεδομένων Dmem (Data Memory) εγγράφεται το περιεχόμενο του καταχωρητή MDR_in, όταν Dmem_en = και Dmem_write =

86 Εγγραφή Μνήμης Δεδομένων Dmem MDR_ in <= Β Dmem[MAR] <= MDR_ in προς Σύστημα Μνήμης MAR clock MAR_ write 0 Dmem data cache (024 bytes) address Data_out Dmem_write = Dmem_en = Data_in clock MDR_in B

87 Επιλογή Δεδομένων που Εγγράφονται στο Αρχείο Καταχωρητών Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση η Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή Διεύθυνσης Εντολής που θα Εκτελεσθεί 5

88

89 Επιλογή Δεδομένων που Εγγράφονται στο Αρχείο Καταχωρητών Για την επιλογή της εγγραφής στο αρχείο καταχωρητών χρησιμοποιούνται δύο σήματα ελέγχου ως εξής : Link : ενεργοποιείται μόνο όταν η εντολή υποστηρίζει τη διαδικασία της σύνδεσης, δηλαδή την αποθήκευση της διεύθυνσης της επόμενης εντολής στο αρχείο καταχωρητών DM/ALU' : επιλέγει σαν πηγή εγγραφής τη μνήμη δεδομένων ή την αριθμητική και λογική μονάδα Στο αρχείο καταχωρητών εγγράφονται (μέσω Bus_W) : τo αποτέλεσμα πράξης της ALU που αποθηκεύεται προσωρινά στον καταχωρητή S (όταν Link = 0 και DM/ALU' = 0) ο τελεστέος που διαβάζεται από τη μνήμη δεδομένων και αποθηκεύεται προσωρινά στον καταχωρητή MDR_out (όταν Link = 0 και DM/ALU' = ) η διεύθυνση της επόμενης εντολής (PC+4) που αποθηκεύεται προσωρινά στον καταχωρητή NPC (όταν Link = )

90 Επιλογή Δεδομένων που Εγγράφονται στο Αρχείο Καταχωρητών Bus_W <= MDR_out/S/NPC NPC S MDR out 0 0 Bus_W Προς Αρχείο Καταχωρητών DM/ALU' Link

91 Μονάδα Προσκόμισης Εντολής Προσκόμιση Εντολής από τη Μνήμη Εντολών (Imem) Υπολογισμός Διεύθυνσης της Επόμενης Εντολής Αποκωδικοποίηση Εντολής στη Μονάδα Ελέγχου Διάβασμα από το Αρχείο Καταχωρητών Επέκταση Πρόσημου ή Μηδενός 2 Εκτέλεση Πράξης στην Αριθμητική και Λογική Μονάδα (ALU) Υπολογισμός Διεύθυνσης της Μνήμης Δεδομένων (Dmem) 3 Υπολογισμός Διεύθυνσης της Μνήμης Εντολών (Imem) Προσπέλαση Μνήμης Δεδομένων (Διάβασμα και Εγγραφή) 4 Εγγραφή στο Αρχείο Καταχωρητών Επιλογή ήδιεύθυνσης Εντολής που θα Εκτελεσθεί 5

92 Μονάδα Προσκόμισης Εντολής Η Μονάδα Προσκόμισης Εντολής (Instruction Fetch Unit) Χρησιμοποιείται για τον υπολογισμό και την επιλογή της διεύθυνσης της εντολής που πρόκειται να εκτελεσθεί Υπολογίζει τη νέα τιμή του PC ως εξής : PC <= PC + 4 (για ακολουθιακή εκτέλεση όλων των εντολών (εκτός των BEQ, BNE, JR και JALR) PC <= PC + 4 (όταν δεν ικανοποιείται η συνθήκη στις εντολές BEQ και ΒΝΕ) PC <= PC x sign_extend(immediate) di t (όταν ικανοποιείται η συνθήκη στις εντολές BEQ και ΒΝΕ) PC <= reg[rs] (στις εντολές JR και JALR)

93 Υπολογισμός της Διεύθυνσης PC + 4 Είναι κοινός για όλες τις εντολές Χρησιμοποιείται ένας απλοποιημένος αθροιστής των ψηφίων, του οποίου η μία είσοδος είναι πάντα 4 (που ονομάζεται αυξητής κατά 4 incrementer by 4) Ηαύξησηκατά4 προκύπτει ως εξής: Η μνήμη εντολών διευθυνσιοδοτείται ανά byte Κάθε εντολή έχει μέγεθος 4 bytes Στην επόμενη ακμή του ρολογιού η διεύθυνση της επόμενης εντολής (PC+4) αποθηκεύεται στον προσωρινό καταχωρητή NPC PC 4 INC NPC Προσωρινός καταχωρητής NPC <= PC + 4

94

95 Υπολογισμός της Διεύθυνσης PC+4+4μ Απαιτείται στις εντολές διακλάδωσης με συνθήκη που υλοποιούνται με PC-σχετική διευθυνσιοδότηση (BEQ, BNE) Στο πεδίο immediate της εντολής έχει αποθηκευθεί σαν μετατόπιση η διαφορά σε εντολές μ της εντολής, που θα εκτελεσθεί όταν ικανοποιείται η συνθήκη, από την εντολή που έπεται της εντολής διακλάδωσης. Στη δίοδο δεδομένων του επεξεργαστή υπολογίζεται η διαφορά σε bytes 4μ μεγέθους ψηφίων ως εξής: Η διαφορά σε εντολές μ, που είναι αποθηκευμένη στο πεδίο immediate του καταχωρητή IR, επεκτείνεται στα ψηφία με επέκταση πρόσημου και αποθηκεύεται στον προσωρινό καταχωρητή Ι Η διαφορά σε εντολές ( ψηφίων) που είναι αποθηκευμένη στον προσωρινό ρ καταχωρητή Ι μετατρέπεται σε διαφορά σε bytes 4μ ( ψηφίων) με αριστερή ολίσθηση κατά 2 ψηφία (πολλαπλασιασμός επί 4)

96 Υπολογισμός της Διεύθυνσης PC+4+4μ Η διαφορά σε bytes 4μ προστίθεται στη διεύθυνση της επόμενης εντολής (PC+4), ώστε να προκύψει η διεύθυνση προορισμού διακλάδωσης (PC+4+4μ) με τη χρήση ενός χωριστού αθροιστή των ψηφίων Στην επόμενη ακμή του ρολογιού η διεύθυνση προορισμού διακλάδωσης (PC+4+4μ) αποθηκεύεται στον προσωρινό καταχωρητή Μ ΝPC I Shift left 2 ADD M Προσωρινός καταχωρητής M<= NPC+4xI

97 Επιλογή Διεύθυνσης Επόμενης Εντολής Για την επιλογή της διεύθυνσης της επόμενης εντολής χρησιμοποιούνται τρία σήματα ελέγχου ως εξής: Branch : ενεργοποιείται όταν εκτελείται εντολή διακλάδωσης Jump : ενεργοποιείται όταν εκτελείται εντολή μεταπήδησης ne/eq' : επιλέγει τη συνθήκη στις εντολές διακλάδωσης BNE/BEQ Εάν Jump =, τότε PC = A (για τις εντολές JR και JALR) Εάν Branch = 0 και Jump = 0, τότε PC = NPC (για όλες τις εντολές, εκτός BEQ, BNE, JR και JALR) Εάν Branch =, ne/eq' = 0 και Jump = 0, τότε PC = M (όταν z = ) ή PC = NPC (όταν z = 0) (για την εντολή BEQ) Εάν Branch =, ne/eq' = και Jump = 0, τότε PC = M (όταν z = 0) ή PC = NPC (όταν z = ) (για την εντολή BNE)

98 Επιλογή Διεύθυνσης Επόμενης Εντολής PC <= NPC/A IF z = /0 THEN PC <= M ELSE PC <= NPC A reg[rs] Jump 0 0 M PC+4+4μ PC ΝPC PC+4 x z + ne/eq' Branch

99 PC INC Ας τα Βάλουμε Όλα Μαζί 4 0 NPC M Shift left 2 ADD 0 Jump Imem cache IR rs, rt, rd Bus_W REG FILE B I imm EXT S/Z Zero z Branch shamt + ne/eq' A A 0 ALU S 0 MAR 0 Link DM/ALU Reg/Imm MDR Dmem in cache MDR out Υπολ. PC+4 & Προσκόμιση Εντολής Αποκωδικοποίηση & Διάβασμα Καταχ. & Επέκταση Εκτέλεση Πράξεων & Υπολ. Διευθύνσεων για Dmem και Ιmem Εγγραφή στη Dmem & Διάβασμα από Dmem Εγγραφή Καταχ. & Επιλογή Διεύθ. Επόμeνης Εντολής

100

101 Μικρο-Λειτουργίες και Σήματα Ελέγχου Προσκόμιση εντολής Υπολογισμός PC+4 Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών & Επέκταση Εκτέλεση πράξεων Υπολoγισμός διευθύνσεων Προσπέλαση μνήμης δεδομένων Εγγραφή καταχωρητή Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί IR <= Imem[PC] NPC <= PC + 4 A<=reg[rs rs] B <= reg[rt] I <=sign/zero_extend[imm] imm] MAR <= A + I S <= A +/-/and/or/xor/nor /and/or/xor/nor I/B S <= Β SLL/SRL/SRA by shamt/a If A < I/B then S <= else S <= 0 If A = B then z <= else z <= 0 MDR_in <= B M< <= NPC+4 x I MDR_out <= Dmem[MAR] Dmem[MAR] <= MDR _ in reg[rt/rd] <= S/MDR_out/NPC PC <= NPC/A Ifz=/0thenPC<=M else PC <= NPC Imem_write = 0 IR_write = Sign/Ζero = /0/x Reg/Imm = /0/x ALUop[3:0] = Βλέπε στον επόμενο πίνακα sv = /0/x MAR_write = /0 Dmem_write = / Reg_write = /0 Reg/Imm' = /0/x DM/ALU = /0/x Link = /0/x 5 Jump = /0 Branch = /0 ne/eq' =/0/x PC_write = Imem_en = Dmem_en = πάντα

102 Επεξηγήσεις στα Σήματα Ελέγχου Κάθε φάση εκτελείται σε έναν κύκλο ρολογιού Σε κάθε κύκλο αναφέρονται μόνο εκείνα τα σήματα ελέγχου, που απαιτούνται για να ελεγχθούν οι μικρο-λειτουργίες του συγκεκριμένου κύκλου στους κύκλους που δεν αναφέρονται η τιμή τους είναι αδιάφορη κάποια σήματα ελέγχου ελέγχουν μικρο-λειτουργίες σε περισσότερους από έναν κύκλο Τα σήματα ελέγχου ενεργοποίησης εγγραφής (X_write) εμφανίζονται σε συγκεκριμένο κύκλο που απαιτείται αντίστοιχος έλεγχος μνήμης ή καταχωρητή στον κύκλο αυτόν έχουν την τιμή, όταν πρόκειται για εγγραφή είτε στη μνήμη εντολών ή δεδομένων, είτε σε καταχωρητή στον κύκλο αυτόν έχουν την τιμή 0, όταν πρόκειται για διάβασμα από τη μνήμη εντολών ή δεδομένων στους υπόλοιπους κύκλους, όπου δεν αναφέρονται, έχουν πάντα την τιμή 0

103 2 Επίδραση των Σημάτων Ελέγχου Imem_write Imem_en IR_write Sign/Ζero τιμή = 0 τιμή = Διάβασμα από Imem Απενεργοποίηση Imem Τίποτα Επέκταση μηδενός Εγγραφή στην Imem Ενεργοποίηση Imem Εγγραφή στον IR Επέκταση πρόσημου 3 Reg/Imm sv MAR_write Bus_B (ALU) = I σταθερός αριθμός ολισθ. Τίποτα Bus_B (ALU) = B μεταβλητός αριθμός ολ. Εγγραφή στον MAR 4 Dmem_write Dmem_en Διάβασμα από Dmem Απενεργοποίηση Dmem Εγγραφή στην Dmem Ενεργοποίηση Dmem 5 Reg_write Reg/Imm' DM/ALU (Link=0) Link = Jump Branch ne/eq' PC_write Τίποτα Εγγραφή στον rt Bus_W = S Bus_W = S/MDR_out Υπόλοιπες εντολές Υπόλοιπες εντολές Διακλάδωση, όταν ίσο Τίποτα Εγγραφή στο Reg. File Εγγραφή στον rd Bus_W = MDR_out Bus_W = NPC Εντολές JR και JALR Εντολές BEQ και BNE Διακλάδωση, όταν άνισο Εγγραφή στον PC

104 Το Σήμα Ελέγχου ALUop[3:0] της ALU ALUop Εντολές Λειτουργία ALU 0 0 ADDU, LW, SW Προσημασμένη Πρόσθεση Χωρίς Υπερχείλιση 0 SUBU Προσημασμένη Αφαίρεση Χωρίς Υπερχείλιση 0 BEQ, BNE Προσημασμένη Αφαίρεση & Εμφάνιση Μηδενός AND OR XOR NOR Λογικό AND Λογικό OR Λογικό XOR Λογικό NOR SLL, SLLV Αριστερή Λογική Ολίσθηση 00 0 SRL, SRLV Δεξιά Λογική Ολίσθηση 00 SRA, SRAV Δεξιά Αριθμητική Ολίσθηση 0 0 SLTI, SLT Προσημασμένη Αφαίρεση & Εμφάνιση Πρόσημου

105 Δίοδος Δεδομένων 5 Κύκλων PC_write PC 4 0 Imem cache IR IR_write INC Imem_write NPC rs, rt, rd Bus_W Reg_write Reg/Imm REG FILE A B I imm EXT S/Z ADD Shift left 2 ALUop 4 shamt sv 0 ALU Zero MAR_write MAR M z S + 0 Branch ne/eq' 0 Jump 0 Link Reg/Imm DM/ALU MDR Dmem in cache MDR out Sign/Zero Dmem_write

106

107 Eκτέλεση της Εντολής LW σε 5 κύκλους ος κύκλος Προσκόμιση της εντολής από τη Μνήμη Εντολών Υπολογισμός της διεύθυνσης της επόμενης εντολής (PC + 4) 2ος κύκλος Αποκωδικοποίηση της εντολής στη Μονάδα Ελέγχου Διάβασμα του καταχωρητή rs από το Αρχείο Καταχωρητών Επέκταση πρόσημου του πεδίου immediate 3ος κύκλος Εκτέλεση της πρόσθεσης στην ALU (για τον υπολογισμό της διεύθυνσης της Μνήμης Δεδομένων) 4ος κύκλος Διάβασμα από τη Μνήμη Δεδομένων 5ος κύκλος Εγγραφή στον καταχωρητή rt του Αρχείου Καταχωρητών Επιλογή της διεύθυνσης της εντολής που θα εκτελεσθεί (PC + 4)

108 Μικρο-λειτουργίες και Σήματα Ελέγχου της LW Προσκόμιση εντολής Υπολογισμός PC+4 IR <= Imem[PC] NPC <= PC + 4 Imem_write = 0 IR_write = Αποκωδικοποίηση A< <= reg[rs rs] Sign/Ζero = εντολής I <=sign_extend[imm] Διάβασμα Reg/Imm = 0 καταχωρητών ALUop[3:0] = 00 & Επέκταση sv = x MAR_write = Εκτέλεση πράξεων MAR <= A+I Υπολoγισμός Dmem_write = 0 διευθύνσεων Reg_write = Προσπέλαση MDR_out <= Dmem[MAR] Reg/Imm' = 0 μνήμης δεδομένων DM/ALU = Link = 0 Εγγραφή reg[rt] [t] <= MDR_out Jump = 0 καταχωρητή PC <= NPC Branch = 0 Επιλογή διεύθυνσης εντολής που θα ne/eq' = x εκτελεσθεί PC_write = Imem_en = Dmem_en = πάντα

109 Eκτέλεση της Εντολής LW σε 5 κύκλους PC_write = PC 4 0 Imem cache IR INC Imem_write = 0 NPC rs, rt, rd Bus_W Reg_write = Reg/Imm = REG FILE A Shift left 2 ALUop = B I IR_write = EXT S/Z imm Reg/Imm = 0 shamt ADD 4 ALU MAR_write = MDR in sv = Zero MAR Dmem cache Sign/Zero = Dmem_write = M 0 Jump = z + Branch = ne/eq' = S 0 0 MDR out Link = DM/ALU =

110

111 Eκτέλεση της Εντολής SW σε 4 κύκλους ος κύκλος Προσκόμιση της εντολής από τη Μνήμη Εντολών Υπολογισμός της διεύθυνσης της επόμενης εντολής (PC + 4) 2ος κύκλος Αποκωδικοποίηση της εντολής στη Μονάδα Ελέγχου Διάβασμα του καταχωρητή rs από το Αρχείο Καταχωρητών Διάβασμα του καταχωρητή rt από το Αρχείο Καταχωρητών Επέκταση πρόσημου του πεδίου immediate 3ος κύκλος Εκτέλεση της πρόσθεσης στην ALU (για τον υπολογισμό της διεύθυνσης της Μνήμης Δεδομένων) 4ος κύκλος Εγγραφή στη Μνήμη Δεδομένων Επιλογή της διεύθυνσης της εντολής που θα εκτελεσθεί (PC + 4) Η τέταρτη και η πέμπτη φάση εκτελούνται παράλληλα στον τέταρτο κύκλο

112 Μικρο-λειτουργίες και Σήματα Ελέγχου της SW Προσκόμιση εντολής IR <= Imem[PC] Imem_write = 0 Υπολογισμός PC+4 NPC <= PC + 4 IR_write = Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών & Επέκταση Εκτέλεση πράξεων Υπολoγισμός διευθύνσεων Προσπέλαση μνήμης δεδομένων Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί A< <= reg[rs rs] Sign/Ζero = B <= reg[rt] I <=sign_extend[imm] Reg/Imm = 0 ALUop[3:0] = 00 sv = x MAR_write = MAR <= A+I MDR_in <= B Dmem_write = Dmem[MAR] <= MDR_in PC <= NPC Reg_write = 0 Reg/Imm' =x DM/ALU = x Link = x Jump = 0 Branch = 0 ne/eq' = x PC_write = Imem_en = Dmem_en = πάντα

113 Eκτέλεση της Εντολής SW σε 4 κύκλους PC_write = PC 4 0 Imem cache IR INC Imem_write = 0 NPC rs, rt, rd Bus_W Reg_write = Reg/Imm = REG FILE A Shift left 2 ALUop = B I IR_write = EXT S/Z imm Reg/Imm = 0 shamt ADD 4 ALU MAR_write = MDR in sv = Zero MAR Dmem cache Sign/Zero = Dmem_write = M 0 Jump = z + Branch = ne/eq' = S 0 0 MDR out Link = DM/ALU =

114

115 Eκτέλεση της Εντολής ADDIU* σε 4 κύκλους ος κύκλος Προσκόμιση της εντολής από τη Μνήμη Εντολών Υπολογισμός της διεύθυνσης της επόμενης εντολής (PC + 4) 2ος κύκλος Αποκωδικοποίηση της εντολής στη Μονάδα Ελέγχου Διάβασμα του καταχωρητή rs από το Αρχείο Καταχωρητών Επέκταση πρόσημου (ADDI) ή μηδενός (ANDI, ORI, XORI) του πεδίου immediate 3ος κύκλος Εκτέλεση της πράξης (+/and/or/xor) στην ALU 4ος κύκλος Εγγραφή στον καταχωρητή rt του Αρχείου Καταχωρητών Επιλογή της διεύθυνσης της εντολής που θα εκτελεσθεί (PC + 4) * Παρόμοια οι εντολές ANDI, ORI, XORI

116 Μικρο-λειτουργίες και Σήματα Ελέγχου της ADDIU Προσκόμιση εντολής IR <= Imem[PC] Imem_write = 0 Υπολογισμός PC+4 NPC <= PC + 4 IR_write = Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών & Επέκταση Εκτέλεση πράξεων Εγγραφή καταχωρητή Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί A< <= reg[rs rs] I <=sign_extend[imm] S<= A+I Sign/Ζero = Reg/Imm = 0 ALUop[3:0] = 00 sv = x MAR_write = 0 Dmem_write = 0 reg[rt] <= S Reg_write = PC <= NPC Reg/Imm' =0 DM/ALU = 0 Link = 0 Jump = 0 Branch = 0 ne/eq' = x PC_write = Imem_en = Dmem_en = πάντα

117 Μικρο-λειτουργίες και Σήματα Ελέγχου της ANDI Προσκόμιση εντολής IR <= Imem[PC] Imem_write = 0 Υπολογισμός PC+4 NPC <= PC + 4 IR_write = Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών & Επέκταση Εκτέλεση πράξεων Εγγραφή καταχωρητή Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί A< <= reg[rs rs] I <= zero_extend[imm] S<=AandI Sign/Ζero = 0 Reg/Imm = 0 ALUop[3:0] = 00 sv = x MAR_write = 0 Dmem_write = 0 reg[rt] <= S Reg_write = PC <= NPC Reg/Imm' =0 DM/ALU = 0 Link = 0 Jump = 0 Branch = 0 ne/eq' = x PC_write = Imem_en = Dmem_en = πάντα

118 Μικρο-λειτουργίες και Σήματα Ελέγχου της ORI Προσκόμιση εντολής IR <= Imem[PC] Imem_write = 0 Υπολογισμός PC+4 NPC <= PC + 4 IR_write = Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών & Επέκταση Εκτέλεση πράξεων Εγγραφή καταχωρητή Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί A< <= reg[rs rs] I <= zero_extend[imm] S<=AorI Sign/Ζero = 0 Reg/Imm = 0 ALUop[3:0] = 0 sv = x MAR_write = 0 Dmem_write = 0 reg[rt] <= S Reg_write = PC <= NPC Reg/Imm' =0 DM/ALU = 0 Link = 0 Jump = 0 Branch = 0 ne/eq' = x PC_write = Imem_en = Dmem_en = πάντα

119 Μικρο-λειτουργίες και Σήματα Ελέγχου της XORI Προσκόμιση εντολής IR <= Imem[PC] Imem_write = 0 Υπολογισμός PC+4 NPC <= PC + 4 IR_write = Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών & Επέκταση Εκτέλεση πράξεων Εγγραφή καταχωρητή Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί A< <= reg[rs rs] I <= zero_extend[imm] S<=AxorI Sign/Ζero = 0 Reg/Imm = 0 ALUop[3:0] = 0 sv = x MAR_write = 0 Dmem_write = 0 reg[rt] <= S Reg_write = PC <= NPC Reg/Imm' =0 DM/ALU = 0 Link = 0 Jump = 0 Branch = 0 ne/eq' = x PC_write = Imem_en = Dmem_en = πάντα

120 Eκτέλεση της Εντολής ADDIU* σε 4 κύκλους PC_write = PC 4 0 Imem cache IR INC Imem_write = 0 NPC rs, rt, rd Bus_W Reg_write = Reg/Imm = REG FILE A Shift left 2 ALUop = B I IR_write = EXT S/Z imm Reg/Imm = 0 shamt ADD 4 ALU MAR_write = MDR in sv = Zero MAR Dmem cache Sign/Zero = Dmem_write = M 0 Jump = z + Branch = ne/eq' = S 0 0 MDR out Link = DM/ALU =

121 Eκτέλεση της Εντολής ADDU* σε 4 κύκλους ος κύκλος Προσκόμιση της εντολής από τη Μνήμη Εντολών Υπολογισμός της διεύθυνσης της επόμενης εντολής (PC + 4) 2ος κύκλος Αποκωδικοποίηση της εντολής στη Μονάδα Ελέγχου Διάβασμα του καταχωρητή rs από το Αρχείο Καταχωρητών Διάβασμα του καταχωρητή rt από το Αρχείο Καταχωρητών 3ος κύκλος Εκτέλεση της πράξης (+/-/and/or/xor/nor) στην ALU 4ος κύκλος Εγγραφή στον καταχωρητή rd του Αρχείου Καταχωρητών Επιλογή της διεύθυνσης της εντολής που θα εκτελεσθεί (PC + 4) * Παρόμοια οι εντολές SUBU, AND, OR, XOR, NOR

122 Μικρο-λειτουργίες και Σήματα Ελέγχου της ADDU Προσκόμιση εντολής IR <= Imem[PC] Imem_write = 0 Υπολογισμός PC+4 NPC <= PC + 4 IR_write = Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών Εκτέλεση πράξεων A< <= reg[rs rs] B<= reg[rt] S <= A + B Sign/Ζero = x Reg/Imm = ALUop[3:0] = 00 sv = x MAR_write = Εγγραφή καταχωρητή Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί reg[rd] <= S PC <= NPC Dmem_write = 0 Reg_write = Reg/Imm' = DM/ALU = 0 Link = 0 Jump = 0 Branch = 0 ne/eq' = x PC_write = 4 Imem_en = Dmem_en = πάντα

123 Μικρο-λειτουργίες και Σήματα Ελέγχου της SUBU Προσκόμιση εντολής IR <= Imem[PC] Imem_write = 0 Υπολογισμός PC+4 NPC <= PC + 4 IR_write = Αποκωδικοποίηση εντολής Διάβασμα καταχωρητών Εκτέλεση πράξεων A< <= reg[rs rs] B<= reg[rt] S <= A -B Sign/Ζero = x Reg/Imm = ALUop[3:0] = 0 sv = x MAR_write = Εγγραφή καταχωρητή Επιλογή διεύθυνσης εντολής που θα εκτελεσθεί reg[rd] <= S PC <= NPC Dmem_write = 0 Reg_write = Reg/Imm' = DM/ALU = 0 Link = 0 Jump = 0 Branch = 0 ne/eq' = x PC_write = 4 Imem_en = Dmem_en = πάντα

Σχεδίαση της Μονάδας Ελέγχου

Σχεδίαση της Μονάδας Ελέγχου ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 5 Σχεδίαση της Μονάδας Ελέγχου Καθηγητής Αντώνης Πασχάλης 2017 Γενικές Γραμμές Σχεδίαση

Διαβάστε περισσότερα

με έμφαση στο MIPS R2000

με έμφαση στο MIPS R2000 ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 3 Αρχιτεκτονικές Συνόλου Εντολών με έμφαση στο MIPS R2000 Καθηγητής Αντώνης Πασχάλης

Διαβάστε περισσότερα

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου ΠΛΕ- 27 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου Αρης Ευθυμίου Δομή σύγχρονων υπολογιστών Κώδικας μηχανής Αρχιτεκτονικό συνόλο εντολών (InstrucDon Set Architecture ISA)

Διαβάστε περισσότερα

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Τρίτη (3 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο

Διαβάστε περισσότερα

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 2 ο Σύνολα Εντολών Οι εντολές που εκτελεί ο κάθε επεξεργαστής (ή οικογένεια επεξεργαστών) MIPS ARM SPARC PowerPC IA-32 Αρχιτεκτονικές συνόλου εντολών Βασικές Έννοιες Εντολές μηχανής

Διαβάστε περισσότερα

Εντολές του MIPS (2)

Εντολές του MIPS (2) ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3

Διαβάστε περισσότερα

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Y Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3 = &A[0] = 0x0001080 &A[8]

Διαβάστε περισσότερα

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

Τέτοιες λειτουργίες γίνονται διαμέσου του

Τέτοιες λειτουργίες γίνονται διαμέσου του Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου

Διαβάστε περισσότερα

Σχεδίαση μονάδας ελέγχου επεξεργαστή

Σχεδίαση μονάδας ελέγχου επεξεργαστή Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 29-2 Νεκτάριος Κοζύρης nkoziris@cslab.ece.ntua.gr http://www.cslab.ece.ntua.gr/courses/comparch/ Datapath ενός

Διαβάστε περισσότερα

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη. Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης,

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου Γιώργος Δημητρίου Μάθημα 3 ο ΜΕΔ απλού κύκλου Συνολική Δομή ΚΜΕ Μία ή περισσότερες μονάδες αριθμητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού σκοπού Κρυφή μνήμη (ενοποιημένη ή

Διαβάστε περισσότερα

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 5 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΣΥΝΟΛΙΚΗ ΔΟΜΗ ΚΜΕ Μία ή περισσότερες μονάδες αριθμητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού

Διαβάστε περισσότερα

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική

Διαβάστε περισσότερα

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 2 Εντολές: η γλώσσα του υπολογιστή Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση του «Οργάνωση και Σχεδίαση

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Οργάνωση επεξεργαστή Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

Αριθμητική Υπολογιστών (Κεφάλαιο 3) ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 9 Αριθμητική Υπολογιστών (Κεφάλαιο 3) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Αριθμητική για υπολογιστές

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 4 Ο επεξεργαστής ιαφάνειες διδασκαλίας του πρωτότυπου βιβλίου µεταφρασµένες στα ελληνικά και εµπλουτισµένες (µετάφραση,

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας

Κεντρική Μονάδα Επεξεργασίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

Διαβάστε περισσότερα

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών

Διαβάστε περισσότερα

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Υλοποίηση Mικροεπεξεργαστή MIPS -16 Υλοποίηση Mικροεπεξεργαστή MIPS -16 Διάδρομος Δεδομένων και Μονάδα Ελέγχου 1 Περίληψη Μνήμη RAM Εκτέλεση εντολών με πολλαπλούς κύκλους Σχεδιασμός Διαδρόμου Δεδομένων (Data Path) Καταχωρητής Εντολών (Instruction

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 6 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΕΝΤΟΛΗ ΑΠΛΟΥ ΚΥΚΛΟΥ ΜΗΧΑΝΗΣ Όλες οι φάσεις του κύκλου εντολής στον ίδιο κύκλο μηχανής: Ο χρόνος από την ανάκληση μέχρι

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ. ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος

Διαβάστε περισσότερα

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1 ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1 Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Σύνολο Εντολών Το ρεπερτόριο

Διαβάστε περισσότερα

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) Δείγμα Τελικής Εξέτασης στο ΗΜΥ213 Διδάσκοντας: Γιώργος Ζάγγουλος Οδηγίες Διαβάστε Προσεκτικά! Αυτή η εξέταση γίνεται με

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών. Data. Κείμενο. Βίντεο. Αριθμοί Εικόνες. Ήχοι

Αρχιτεκτονική Υπολογιστών. Data. Κείμενο. Βίντεο. Αριθμοί Εικόνες. Ήχοι Data Κείμενο Βίντεο Αριθμοί Εικόνες Ήχοι 1 Τα δεδομένα στους ηλεκτρονικούς υπολογιστές αναπαρίστανται σαν αριθμοί Οι αριθμοί αποθηκεύονται σε bits (δυαδικό σύστημα). Θέματα: Πως αναπαριστώνται οι αρνητικοί

Διαβάστε περισσότερα

Απλός επεξεργαστής (Επανάληψη)

Απλός επεξεργαστής (Επανάληψη) Απλός επεξεργαστής (Επανάληψη) Διάδρομος δεδομένων και μονάδα ελέγχου 4 ο κεφάλαιο Ο επεξεργαστής : Διάδρομος Δεδομένων και Έλεγχος Σε αυτό το κεφάλαιο θα μελετήσουμε την υλοποίηση του διαδρόμου δεδομένων

Διαβάστε περισσότερα

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMMY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις Άσκηση 1: Διασωλήνωση

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη

Διαβάστε περισσότερα

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2. ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2. Pipelining (Αν υπάρχει χρόνος) Θα ξαναπάμε πίσω στο Κεφ.3αργότερα. ΕΠΛ 221--

Διαβάστε περισσότερα

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Multi Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Τρόποι Διευθυνσιοδότησης

Τρόποι Διευθυνσιοδότησης Τρόποι Διευθυνσιοδότησης στους Μικροεπεξεργαστές MIPS-32 (Διάλεξη 2) 1 Τρόποι Διευθυνσιοδότησης Η διεύθυνση μνήμης μπορεί να δηλωθεί με 6 τρόπους : 1. Περιεχόμενο καταχωρητή: 2. Άμεση τιμή: 3. Άμεση τιμή

Διαβάστε περισσότερα

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΗΛΕKΤΡΟΝΙΚΗΣ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΗΛΕKΤΡΟΝΙΚΗΣ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΗΛΕKΤΡΟΝΙΚΗΣ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σχεδιασμός επεξεργαστή RISC με VHDL Πανάρετου Αναστασία Επιβλέπων

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 5: Εντολές Συγκρίσεων και Μεταφοράς Ελέγχου. Μανόλης Γ.Η.

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 5: Εντολές Συγκρίσεων και Μεταφοράς Ελέγχου. Μανόλης Γ.Η. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Ασκήσεις 5: Εντολές Συγκρίσεων και Μεταφοράς Ελέγχου Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται

Διαβάστε περισσότερα

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 4 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Συνολική οµή ΚΜΕ Μία ή περισσότερες µονάδες αριθµητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος

Διαβάστε περισσότερα

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική

Διαβάστε περισσότερα

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085 ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ 8085 CPU ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ 8085 Ο ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ Η ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΟΙ «ΣΗΜΑΙΕΣ» FLAGS Η ΜΟΝΑΔΑ

Διαβάστε περισσότερα

Chapter 3 Αριθμητική Υπολογιστών

Chapter 3 Αριθμητική Υπολογιστών Chapter 3 Αριθμητική Υπολογιστών Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του Τ.Ε.Ι. Κρήτης. Τελευταία

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών

Διαβάστε περισσότερα

6. Ακολουθίες μικροεντολών 7. Συμβολισμός μικροεντολών (MAL)

6. Ακολουθίες μικροεντολών 7. Συμβολισμός μικροεντολών (MAL) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXAIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΙΚΡΟΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Ι Γ. Τσιατούχας 4 ο Κεφάλαιο ιάρθρωση 1. Μικροπρογραμματιζόμενη μονάδα ελέγχου. Διαδρομή δεδομένων 3. Χρονισμός διαδρομής

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

Διαβάστε περισσότερα

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης! Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή απόδοση! Αντιβαίνει με αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 4η: Μονάδα Ελέγχου Απλού Κύκλου Μηχανής Άσκηση 1: Θεωρήστε τη μονάδα επεξεργασίας δεδομένων της απλοποιημένης

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΜΣ Εφαρμοσμένη Πληροφορική Οργάνωση και Σχεδίαση Η/Υ Άσκηση 1: Δεύτερη Σειρά Ασκήσεων 12 Μαΐου 2017 ενδεικτική υποβολή: 2

Διαβάστε περισσότερα

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

Διαβάστε περισσότερα

Chapter 3. Αριθμητική Υπολογιστών. Έβδομη (7 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 3. Αριθμητική Υπολογιστών. Έβδομη (7 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 3 Αριθμητική Υπολογιστών Έβδομη (7 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση),

Διαβάστε περισσότερα

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΜΣ Εφαρμοσμένη Πληροφορική Οργάνωση και Σχεδίαση Η/Υ Άσκηση 1: Δεύτερη Σειρά Ασκήσεων 18 Μαΐου 2016 ενδεικτική υποβολή: 3

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Οργάνωση Η/Υ Τέταρτη Σειρά Ασκήσεων (Εργαστηριακές Ασκήσεις) παράδοση στο τέλος του εξαµήνου Άσκηση 1 Θεωρήστε την αναπαράσταση ΙΕΕΕ

Διαβάστε περισσότερα

Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10

Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10 Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10 Chapter 10 Part 1 1 Περιεχόμενο Εισαγωγή Παράδειγμα Διαδρομής Δεδομένων Αριθμητική Λογική Μονάδα (Arithmetic Logic Uit - ALU) Μονάδα

Διαβάστε περισσότερα

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code) Ας ξεκινήσουμε Τι χρειαζόμαστε για να υλοποιήσουμε έναν επεξεργαστή? Macro-instructions ALU (Assembly level) Register File Micro-instructions Main memory (micro-code) Control signals and microcode (control

Διαβάστε περισσότερα

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 13 Διακλαδώσεις Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Η μέχρι τώρα μικρο-αρχιτεκτονική (Eντολές Διακλάδωσης) Η μικρο-αρχιτεκτονική

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Multicycle datapath

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Multicycle datapath Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης lticycle path Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Μηχανές Πεπερασμένων Καταστάσεων Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ

Διαβάστε περισσότερα

Διάλεξη 12 Καθυστερήσεις (Stalls)

Διάλεξη 12 Καθυστερήσεις (Stalls) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής 1 Νοεμβρίου 2017 Πρώτη Σειρά Ασκήσεων παράδοση: 29 Νοεμβρίου 3μμ Άσκηση 1 Θεωρήστε τη ΜΕΔ της αρχιτεκτονικής MIPS καλωδιωμένης λογικής για κύκλο εντολής τόσο απλού,

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

Διαβάστε περισσότερα

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 2. Εντολές : Η γλώσσα του υπολογιστή

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 2. Εντολές : Η γλώσσα του υπολογιστή Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Δεύτερη (2 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο

Διαβάστε περισσότερα

Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος)

Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος) Άδεια Χρήσης Το

Διαβάστε περισσότερα

1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις

1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις Άσκηση 1: Σωστό/Λάθος

Διαβάστε περισσότερα

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.3 : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών Στόχοι Μαθήματος: Να γνωρίσετε τις βασικές αρχές αριθμητικής των Η/Υ. Ποια είναι τα κυκλώματα

Διαβάστε περισσότερα

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,

Διαβάστε περισσότερα

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων Γιώργος Δημητρίου Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων Εντολή Απλού Κύκλου Μηχανής Όλες οι φάσεις του κύκλου εντολής στον ίδιο κύκλο μηχανής: Ο χρόνος από την ανάκληση μέχρι την ολοκλήρωση της εκτέλεσης (με

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 8: Μία Απλή Υλοποίηση του MIPS σε Έναν Κύκλο Ρολογιού ανά Εντολή

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 8: Μία Απλή Υλοποίηση του MIPS σε Έναν Κύκλο Ρολογιού ανά Εντολή ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 8: Μία Απλή Υλοποίηση του MIPS σε Έναν Κύκλο Ρολογιού ανά Εντολή Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης

Διαβάστε περισσότερα

Ενότητα ΚΑΤΑΧΩΡΗΤΕΣ ΜΕΤΡΗΤΕΣ ΜΝΗΜΕΣ RAM

Ενότητα ΚΑΤΑΧΩΡΗΤΕΣ ΜΕΤΡΗΤΕΣ ΜΝΗΜΕΣ RAM 2 Ενότητα ΚΑΤΑΧΩΡΗΤΕΣ ΜΕΤΡΗΤΕΣ ΜΝΗΜΕΣ RAM Γενικές Γραμμές Παράλληλα και Σειριακά Δεδομένα Παράλληλοι λ Καταχωρητές Σήματα Ενεργοποίησης Διαβάσματος & Γραψίματος - Εισόδου & Εξόδου Υπολογισμός Περιόδου

Διαβάστε περισσότερα

Pipelined Datapath, Hazards and Forwarding

Pipelined Datapath, Hazards and Forwarding Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Pipelined Datapath, Hazards and Forwarding Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,

Διαβάστε περισσότερα

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1 Τεχνολογίες ημιαγωγών Chapter 2 Instructions: Language of the Computer 1 Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες

Διαβάστε περισσότερα

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

Τελική Εξέταση, Απαντήσεις/Λύσεις

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

Διαβάστε περισσότερα

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4 ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 4 Διαδικασίες Ι Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Διευθυνσιοδότηση διακλαδώσεων

Διαβάστε περισσότερα

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση» Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το

Διαβάστε περισσότερα

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Παράρτηµα Γ Τα Βασικά της Λογικής Σχεδίασης ιαφάνειες διδασκαλίας του πρωτότυπου βιβλίου µεταφρασµένες στα ελληνικά και εµπλουτισµένες

Διαβάστε περισσότερα

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος Ε.1 Σας δίνεται ο πιο κάτω κώδικας. Ξαναγράψτε τον ώστε να μειωθεί ο αριθμός των εντολών του αλλά διατηρώντας την ίδια λειτουργιά

Διαβάστε περισσότερα