ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα...

84
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ ([email protected]) Χειμερινό Εξάμηνο 2016 ΔΙΑΛΕΞΗ 01: ΕΙΣΑΓΩΓΗ ΚΩΔΙΚΟΠΟΙΗΣΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

Upload: others

Post on 08-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ

([email protected])

Χειμερινό Εξάμηνο 2016

ΔΙΑΛΕΞΗ 01: ΕΙΣΑΓΩΓΗ – ΚΩΔΙΚΟΠΟΙΗΣΗ ΤΗΣ

ΠΛΗΡΟΦΟΡΙΑΣ

Page 2: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.2 © Θεοχαρίδης, ΗΜΥ, 2016

Γενικές Πληροφορίες Διδάσκων: Χάρης Θεοχαρίδης

Γραφείο: Green Park, #110 και ΚΙΟΣ #101Η.

Τηλέφωνο: 22892259

Ώρες Γραφείου: ΤΡΙΤΗ 12:00 - 2:00 (ΚΙΟΣ) και Παρασκευή 12:00-2:00 (ΚΙΟΣ), ή με ραντεβού

email: [email protected]

Βοηθοί: Παναγιώτης Παπαδόπουλος και Πέτρος Πετρίδης Ο Παναγιώτης και ο Πέτρος θα σας βοηθούν στα φροντιστήρια. Τα φροντιστήρια είναι τρία (η

δύο, αναλόγως συμμετοχών) συνολικά, και στην ουσία εσείς θα πηγαίνετε στο ΕΝΑ!

Γραφείο: KIOS Research Center, ΚΟΔ 02 101F email: [email protected] και [email protected]

Page 3: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.3 © Θεοχαρίδης, ΗΜΥ, 2016

Διαλέξεις και Σύγγραμμα Διαλέξεις: Τρίτη και Παρασκευή, 10:30 – 12:00

Πανεπιστημιούπολη, ΧΩΔ01, 108

Φροντηστήριο: l Δευτέρα/Πέπμτη 12-1:30,ΧΩΔ02 Β108 l Τρίτη, 13:30 – 15:00 μ.μ, ΧΩΔ02, Β107 l – ΜΑΛΛΟΝ ΘΑ ΚΑΤΑΡΓΗΘΕΙ!

URL: http://www.eng.ucy.ac.cy/theocharides/Courses/ECE210

Σύγγραμμα: Μ. Μ. Mano and C. R. Kime, Logic and Computer Design Fundamentals, 4th Ed. (International Ed.), Prentice-Hall, 2007. Σχετική Ιστοσελίδα: http://www.prenhall.com/mano (Διορθώσεις Βιβλίου)

Σημειώσεις: pdf στην ιστοσελίδα μετά τις διαλέξεις. ΠΡΟΝΟΗΣΤΕ ΝΑ ΦΕΡΝΕΤΑΙ ΣΗΜΕΙΩΜΑΤΑΡΙΟ ΚΑΙ ΝΑ ΠΡΟΣΕΧΕΤΕ ΣΤΗΝ ΤΑΞΗ!

Page 4: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.4 © Θεοχαρίδης, ΗΜΥ, 2016

ΒΑΘΜΟΛΟΓΙΑ Εργασίες (QUIZ) στην τάξη 10% και συμμετοχή στο

μάθημα και τα φροντιστήρια 5%. l Θα δοθούν κατοίκον εργασίες που ΔΕΝ ΘΑ ΔΙΟΡΘΩΝΟΝΤΑΙ. Αντίθετα, οι

βοηθοί διδασκαλίας θα τα λύνουν στο φροντηστήριο. Θα πάρετε το 5% αν πάτε στο φροντιστήριο και ΜΑΘΕΤΕ! Οι βοηθοί διδασκαλίας θα με ενημερώσουν για παρουσίες. Είστε υπεύθυνοι για να λύνετε τις ασκήσεις σπίτι και να πηγαίνετε στο φροντιστήριο με ΑΠΟΡΙΕΣ!

l ΣΥΜΜΕΤΕΧΕΤΕ ΣΤΗΝ ΤΑΞΗ. ΡΩΤΑΤΕ, ΑΜΦΙΣΒΗΤΗΣΤΕ. - There is no such thing as a stupid question if it's sincere. Better to

ask and risk appearing stupid than to continue on your ignorant way and make a stupid mistake.

Ενδιάμεση Εξετάση 40% l Ενδιάμεση – Τετάρτη, 9 Νοεμβρίου ή Σάββατο, 12 Νοεμβρίου

Τελική Εξέταση (εφ όλης της ύλης) 50%

Απαραίτητη προυπόθεση επιτυχίας στο μάθημα είναι: l η εξασφάλιση συνολικού βαθμού πέραν του 50%. l (49.999% ΔΕΝ ΕΙΝΑΙ 50%!)

Page 5: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.5 © Θεοχαρίδης, ΗΜΥ, 2016

Τί είναι ένα υπολογιστικό σύστημα;

Technology

Applications Computer

Interfaces

Machine Organization

Measurement & Evaluation

ISA

API

Link

I/O

Cha

n

Regs

IR

Page 6: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.6 © Θεοχαρίδης, ΗΜΥ, 2016

Αντίληψη των υπολογιστικών συστημάτων

Algorithm

Gates/Register-Transfer Level (RTL)

Application

Instruction Set Architecture (ISA)

Operating System/Virtual Machines

Microarchitecture

Devices

Programming Language

Circuits

Physics

Software, O/S and Run-Time

System

Hardware System

© K. Asanovic, UC Berkeley

Page 7: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.7 © Θεοχαρίδης, ΗΜΥ, 2016

Υλικό

Λογισμικό

Machine Lang. pgm

Instruction Set Architecture

Οργάνωση Μηχανής

HLL Program Asm Lang. Pgm

foo.c foo.s foo.o

I/O system Instr. Set Proc.

Digital Design

Circuit Design

Datapath & Control

Layout & fab Semiconductor Materials (Ημιαγωγοί)

foo.exe

Πως Δουλεύει Όμως;

© David Culler, UC Berkeley

Page 8: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.8 © Θεοχαρίδης, ΗΜΥ, 2016

Οι Υπολογιστές Τότε...

EDSAC, University of Cambridge, UK, 1949

Page 9: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.9 © Θεοχαρίδης, ΗΜΥ, 2016

...και τώρα

Sources: Sony, Philips, McLaren Mercedes, Apple, Airbus, Lexus, Toshiba

Page 10: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.10 © Θεοχαρίδης, ΗΜΥ, 2016

Πάρα πολύ παλιά…

In 1900 Greek sponge drivers discovered an astonishingly intricate mechanism in Antikythera, an island near Crete. A Greek sponge diver, Elias Stadiatos, discovered the wreck of a cargo ship with statues lying on the seabed that made the greatest impression on him. He returned to the surface, removed his helmet, and gabbled that he had found a heap of dead, naked women. The ship's cargo of luxury goods also included jewellery, pottery, fine furniture, wine and bronzes dating back to the first century BC. But the most important finds proved to be a few green, corroded lumps, the last remnants of an elaborate mechanical device. The device was in the shipwreck of a commercial boat dated at the first century BC located near to cape Glyfada in Potamakia position 60m under the sea and 30m from the shore of the small island of Antikythera. This device now known as the Antikythera device represents the most sophisticated machinery found to date from antiquity; as such its importance is hard to overestimate.

Page 11: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.11 © Θεοχαρίδης, ΗΜΥ, 2016

Λίγο πιο μετά…

•Joseph-Marie Jaquard’s Loom – 1801 •Πρώτο αποθηκευμένο πρόγραμμα σε μεταλλικές κάρτες •Πρώτος υπολογιστής παραγωγής •Χρήση ΚΑΙ σήμερα / (Ταυτότητες Στρατού!)

•Slide Rule 1630 •Βασισμένο στους κανόνες λογαρίθμων του John Napier (1550-1617) •Χρήση μέχρι και 1970s

Page 12: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.12 © Θεοχαρίδης, ΗΜΥ, 2016

Charles Babbage 1791-1871 Lucasian Professor of Mathematics, Cambridge University, 1827-1839

Page 13: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.13 © Θεοχαρίδης, ΗΜΥ, 2016

Charles Babbage - 1791-1871

Μηχανή Υπολογισμού Διαφορών c.1822

l Τεράστια υπολογιστική μηχανή που δεν τελείωσε ποτέ.

Analytic Engine 1833 l Αποθήκευση αριθμών l Ο υπολογιστικός «μύλος»

χρησιμοποιούσε μεταλλικές κάρτες για λήψη εντολών.

l Τροφοδότηση με ατμό l Ακριβές υπολογισμός μέχρι και

6 δεκαδικά ψηφία!

Η μηχανή τώρα βρίσκεται στο Smithsonian

Page 14: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.14 © Θεοχαρίδης, ΗΜΥ, 2016

Babage’s Analytic Engine 1833: Ο Babbage δημοσιεύει την ιδέα

του l Την σκέφτηκε ενώ δούλευε στο

Difference Engine Έμπνευση από τα Jacquard’s Looms

l looms were controlled by punched cards

- The set of cards with fixed punched holes dictated the pattern of weave program!

- The same set of cards could be used with different colored threads numbers!

1871: O Babbage πεθαίνει...

l Το μηχάνημα δεν υλοποιήται ποτέ...

Μέχρι και σήμερα δεν είναι ξεκάθαρο αν η μηχανή μπορεί να δημιουργηθεί με μηχανική τεχνολογία!

Page 15: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.15 © Θεοχαρίδης, ΗΜΥ, 2016

Ο Πρώτος Προγραμματιστής Ada Byron aka “Lady Lovelace” 1815-52 Η κόρη του γνωστού Λόρδου Βύρωνα

Ο δάσκαλος της Ada ήταν ο Babbage!

Όπως δημιουργήθηκε πρώτα ο άντρας και μετά η γυναίκα για να τον κατευθύνει, έτσι και ο πρώτος προγραμματιστής ήταν γυναίκα!

Page 16: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.16 © Θεοχαρίδης, ΗΜΥ, 2016

Vacuum Tubes - 1941 - 1956

Οι Ηλεκτρονικοί Υπολογιστές πρώτης γενιάς χρησιμοποιούσαν Vacuum Tubes (λυχνίες κενού αέρος)

Vacuum tubes είναι γυάλινοι σωλήνες με κυκλώματα μέσα

Τα κυκλώματα προστατεύονται μέσω του κενού αέρος που υπάρχει.

Ανάλογα με την ποσότητα του κενού (δηλ. μέγεθος λαμπτήρων), ελέγχεται η ταχύτητα των ηλεκτρονίων και έτσι επιτυγχάνεται η αυτοματοποίηση.

Page 17: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.17 © Θεοχαρίδης, ΗΜΥ, 2016

Ο πρώτος αναλογικός Υπολογιστής του Κόσμου: Colossus

o Το Colossus δημιουργήθηκε στο Bletchley Park κατά τον WWII.

http://www.bletchleypark.org.uk/ o Το Bletchley Park εστία

αποκωδικοποίησης Γερμανικών κωδικών τύπου Enigma

o Το Colossus δημιουργήθηκε για αποκρυπτογράφηση των Enigma codes.

o Το Bletchley Park είναι σήμερα μουσείο, το οποίο εστιάζει μουσείο ιστορίας υπολογιστών καθώς επίσης και λειτουργικό αντίγραφο του Colossus.

Top the Colossus computer, Bottom left Bletchley Park and

Bottom right an Enigma machine. http://www.bletchleypark.org.uk/

Page 18: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.18 © Θεοχαρίδης, ΗΜΥ, 2016

Harvard Mark I

Δημιουργήθηκε το 1944 στα IBM Endicott laboratories

l Howard Aiken – Professor of Physics at Harvard l Essentially mechanical but had some electro-magnetically controlled

relays and gears l Weighed 5 tons and had 750,000 components l A synchronizing clock that beat every 0.015 seconds (66Hz)

Performance: 0.3 seconds for addition 6 seconds for multiplication 1 minute for a sine calculation

Broke down once a week!

Page 19: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.19 © Θεοχαρίδης, ΗΜΥ, 2016

Linear Equation Solver John Atanasoff, Iowa State University

1930’s: l Ο Atanasoff έφτιαξε το Linear Equation Solver. l Αποτελούνταν από 300 tubes! l Special-purpose binary digital calculator l Dynamic RAM (stored values on refreshed capacitors)!

Εφαρμογή:

l Linear and Integral differential equations Τεχνολογία:

l Tubes and Electromechanical relays

Atanasoff decided that the correct mode of computation was using electronic binary digits.

Page 20: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.20 © Θεοχαρίδης, ΗΜΥ, 2016

Οι υπολογιστές στο Manchester μετά τον WWII Mark 1

Right Images of Mark 1 the computer built at Manchester University after WWII

Above Kilburn and Williams at the Manchester Mark 1 Console http://www.computer50.org/kgill/index.html

o Το Πανεπιστήμιο του Manchester πρόσφερε σημαντικά στην ανάπτυξη των πρώτων υπολογιστών. Ανέπτυξαν το πρώτο πρόγραμμα (αποθηκευμένο), υπολογιστή κινιτής υποδιαστολής, τον πρώτο υπολογιστή με βάση το transistor, και τον πρώτο υπολογιστή με “εικονική” μνήμη.

Page 21: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.21 © Θεοχαρίδης, ΗΜΥ, 2016

Το πρώτο πρόγραμμα Υπολογιστών

Page 22: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.22 © Θεοχαρίδης, ΗΜΥ, 2016

Electronic Numerical Integrator and Computer (ENIAC) Έμπνευση από τους Atanasoff and Berry, οι Eckert and Mauchly σχδίασαν και

δημιούργησαν το ENIAC (1943-45) στο University of Pennsylvania

Η πρώτη, ΕΞΟΛΟΚΛΗΡΟΥ ελεκτρονική λειτουργική γενικής χρήσεως υπολογιστική μηχανή!The first, completely electronic, operational, general-purpose analytical calculator!

Performance l Read in 120 cards per minute l Addition took 200 µs, Division 6 ms l 1000 times faster than Mark I

ΚΑΘΟΛΟΥ ΑΞΙΟΠΙΣΤΟ!

Εφαρμογή: Ballistic calculations angle = f (location, tail wind, cross wind, air density, temperature, weight of shell, propellant charge, ... )

WW-2 ΕΠΙΡΡΟΗ

Page 23: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.23 © Θεοχαρίδης, ΗΜΥ, 2016

Electronic Discrete Variable Automatic Computer (EDVAC) Το σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό

l Sequences of instructions were executed independently of the results of the calculation

l Human intervention required to take instructions “out of order”

Οι Eckert, Mauchly, ο John von Neumann και άλλοι, σχεδίασαν το EDVAC (1944) για να επιλύσουν το πρόβλημα!

l Η λύση ήταν το stored program computer “program can be manipulated as data”

Μια πρώτη, πρόχειρη αναφορά για το EDVAC δημοσιεύτηκε το 1945, αλλά είχε μόνο την υπογραφή του von Neumann!

l Το 1973 ένα δικαστήριο στην Minneapolis απέδωσε την τιμή της εφεύρεσης του computer στον John Atanasoff

Page 24: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.24 © Θεοχαρίδης, ΗΜΥ, 2016

ENIAC (Electronic Numerical Integrator and Computer) U.S. Army Computer @ University of Pennsylvania

oΟ ENIAC είχε γύρω στα 18,000 vacuum tubes, 70,000 resistors, 10,000 capacitors, και 6,000 switches.

oΕίχε 33 μέτρα μήκος, 3 μέτρα ύψος, και 1 μέτρο βάθος. Κατανάλωνε 140 kilowatts power.

Page 25: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.25 © Θεοχαρίδης, ΗΜΥ, 2016

Grace Hopper

Ήταν η προγραμματίστρια του ENIAC

Αποδέχτης του Computer Science’s first “Man of the Year Award”

Page 26: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.26 © Θεοχαρίδης, ΗΜΥ, 2016

Το πρώτο Computer Bug - 1945

Οι διακόπτες ροής είτανε μέρος του ENIAC

Η Grace Hopper βρήκε μια πεταλούδα σφηνωμένη στους διακόπτες!

Η πεταλούδα είναι έντομο, στα αγγλικά “bug”

Το ονόμασε «“debugging” a computer»

Ακόμη και ο πρώτος που βρήκε λάθη στην υπολογιστική μηχανή ΗΤΑΝ ΓΥΝΑΙΚΑ

Page 27: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.27 © Θεοχαρίδης, ΗΜΥ, 2016

Tο Transistor Οι John Bardeen, Walter Brattain και

William Shockley ανακαλύψανε το transistor effect και αναπτύξανε την πρώτη συσκευή τον Δεκέμβριο του 1947, όταν ήταν μέλη του τεχνικού προσωπικού των Bell Laboratories στο Murray Hill, NJ. Πήρανε το πρώτο βραβείο Nobel φυσικής το 1956.

Σκοπός του ήταν η αντικατάσταση των μεγάλων και αναποτελεσματικών vacuum tubes και μηχανικών διακοπτών, αργότερα όμως έφερε την επανάσταση στον χώρο των ηλεκτρονικών!

Page 28: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.28 © Θεοχαρίδης, ΗΜΥ, 2016

Το πρώτο Transistor Χρήση Πυριτίου

(Silicon)

Αναπτύχθηκε το 1948

‘Έφερε ένα Nobel prize

Αυτόματος διακόπτης!

Η δεύτερη γενιά υπολογιστών στηριζόταν στα Transistors, ξεκινώντας από το 1956

Page 29: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.29 © Θεοχαρίδης, ΗΜΥ, 2016

Το Τρανζίστορ σαν Διακόπτης (switch) Μπορούμε να δούμε τα transistors σαν electrically

controlled switches

Η τάση (Voltage) στο gate ελέγχει το ρεύμα από το source στο drain

gs

d

g = 0

s

d

g = 1

s

d

gs

d

s

d

s

d

nMOS

pMOS

OFF ON

ON OFF

Page 30: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.30 © Θεοχαρίδης, ΗΜΥ, 2016

Σχεδιασμός Microchip

Page 31: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.31 © Θεοχαρίδης, ΗΜΥ, 2016

Ροή Σχεδιασμού

Page 32: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.32 © Θεοχαρίδης, ΗΜΥ, 2016

Επίπεδα Σχεδιασμού

SYSTEM

GATE

CIRCUIT

Vout Vin

CIRCUIT

Vout Vin

MODULE

+

DEVICE

n+ S D

n+

G

Page 33: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.33 © Θεοχαρίδης, ΗΜΥ, 2016

ENIAC-on-a-Chip Moore School of Electrical Engineering, University of Pennsylvania http://www.ee.upenn.edu/~jan/eniacproj.html

Size: 7.44mm x 5.29mm; 174,569 transistors; 0.5 um CMOS technology (triple metal layer).

Page 34: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.34 © Θεοχαρίδης, ΗΜΥ, 2016

ΆΡΑ! Ο Σκοπός του μαθήματος

Λογικός Σχεδιασμός και Σχεδιασμός Η/Υ

Βασικές έννοιες & εργαλεία που χρησιμοποιούνται για το σχεδιασμό ψηφιακού υλικού (από ψηφιακά κυκλώματα)

Επιπρόσθετες έννοιες & εργαλεία που χρησιμοποιούνται για το σχεδιασμό Υπολογιστικών Συστημάτων

Σχεδιασμός Ψηφιακών Συστημάτων

Page 35: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.35 © Θεοχαρίδης, ΗΜΥ, 2016

ΠΛΗΡΟΦΟΡΙΑ!

Ήχος, Εικόνα, Αφή, Όραση, Ακοή, ‘Οσφρηση, Γεύση...

Page 36: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.36 © Θεοχαρίδης, ΗΜΥ, 2016

Πώς όμως αντιλαμβάνεται την πληροφορία ένας υπολογιστής;

Page 37: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.37 © Θεοχαρίδης, ΗΜΥ, 2016

Περίληψη 1ου Κεφαλαίου Ψηφιακοί Υπολογιστές

Αριθμητικά Συστήματα l Αναπαραστάσεις l Μετατροπές

Αριθμητικές Λειτουργίες

Δεκαδικοί Κώδικες

Αλφαριθμητικοί Κώδικες

Page 38: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.38 © Θεοχαρίδης, ΗΜΥ, 2016

Ψηφιακά Συστήματα Κύρια χαρακτηριστικά:

l επεξεργασία διακριτών στοιχείων πληροφορίας (οποιοδήποτε σύνολο που περιορίζεται σε ένα πεπερασμένο αριθμό στοιχείων)

l π.χ. 10 δεκαδικά ψηφία, 26 γράμματα, …

Διακριτά στοιχεία (σε ψηφιακά συστήματα) αναπαριστούν σήματα (φυσικές οντότητες)

l Πιο κοινά σήματα: ηλεκτρικά (voltage, current)

Page 39: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.39 © Θεοχαρίδης, ΗΜΥ, 2016

Εύρος Τάσης (Voltage Ranges)

Ένα ψηφιακό σήμα έχει δυαδική τιμή (HIGH, LOW) η οποία αναπαριστεί ένα εύρος τιμών τάσης

Το εύρος των εισόδων είναι μεγαλύτερο έτσι ώστε να λαμβάνεται υπόψη ο θόρυβος εισόδου

Εύρος Εισόδου: HIGH: 3.0 .. 5.5 V LOW: -0.5 .. 2.0 V

Εύρος Εξόδου: HIGH: 4.0 .. 5.5 V LOW: -0.5 .. 1.0 V

Page 40: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.40 © Θεοχαρίδης, ΗΜΥ, 2016

Αναπαράσταση Πληροφοριών

Δυαδικά σήματα (2 διακριτές τιμές) l 0 και 1 (ή LOW και HIGH ή FALSE και TRUE) l Δυαδική μονάδα: δυαδικό ψηφίο/μπιτ (digit/bit) l Πληροφορία: σύνολο από bits (=words). Τυπικό

μέγεθος: 8, 16, 32, 64, …

Ψηφιακό Υλικό: υπολογίζει δυαδικές συναρτήσεις από διάδικους αριθμούς

l Συνδυαστικά υλικό (χωρίς μνήμη) l Ακολουθιακά υλικό (με μνήμη)

Page 41: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.41 © Θεοχαρίδης, ΗΜΥ, 2016

Βασική Δομή Η/Υ

Αποθηκεύει προγρ., δεδομένα I/O, και ενδιάμεσα δεδομένα

Ελέγχει τη ροή πληροφοριών σε όλες τις μονάδες

Εκτελεί αριθμητικές και άλλες λειτουργίες επεξεργασίας δεδομένων

Page 42: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.42 © Θεοχαρίδης, ΗΜΥ, 2016

Μια πιο λεπτομερής όψη

FPU

CPU

Internal Cache

MMU

Επεξεργαστής: Πολύπλοκο κύκλωμα

(αποτελείται από εκατομμύρια transistors)

Μνήμη External Cache

(κρυφή μνήμη –- εξωτερική )

RAM (μνήμη τυχαίας προσπέλασης)

Page 43: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.43 © Θεοχαρίδης, ΗΜΥ, 2016

Αριθμητικά Συστήματα Αναπαράσταση αριθμών

Radix: η βάση l βασική μονάδα μιας ομάδας αριθμών, π.χ. για το

δεκαδικό σύστημα το radix = 10 (“βάση” 10)

Για κάθε σύστημα χρειαζόμαστε αριθμητικές λειτουργίες (πρόσθεση, αφαίρεση, πολλαπλασιασμός)

Επίσης, μετατροπή από μια βάση σε άλλη

Page 44: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.44 © Θεοχαρίδης, ΗΜΥ, 2016

Αριθμητικά Συστήματα -Δεκαδικό “βάση” 10 (το radix είναι 10)

10 ψηφία: 0...9

(251.3)10 = 2*102 + 5*101 + 1*100 + 3*10-1

Σημείωση: ‘.’ ονομάζεται η υποδιαστολή για το σύστημα radix (υποδιαστολή για τη βάση 10)

Page 45: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.45 © Θεοχαρίδης, ΗΜΥ, 2016

Αριθμητικά Συστήματα–Δεκαδικό (συν.)

Γενικά, ένας δεκαδικός αριθμός με n ψηφία αριστερά (πριν) από την υποδιαστολή, και m ψηφία στα δεξιά (μετά) γράφεται ως ακολούθως:

An-1 An-2 … A1 A0 . A-1 A-2 … A-m+1 A-m

το Ai λέγεται συντελεστής (coefficient) και παίρνει

τιμές μεταξύ 0...9, ενώ το i δείχνει το βάρος (την τάξη) (=10i) του Ai.

Page 46: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.46 © Θεοχαρίδης, ΗΜΥ, 2016

Αριθμητικά Συστήματα–Δεκαδικό (συν.)

Η τιμή του

An-1 An-2 … A1 A0 . A-1 A-2 … A-m+1 A-m

υπολογίζεται από

Σ(Ai * 10i ) + Σ (Ai * 10i ) i=n-1..0 i=-1..-m

Page 47: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.47 © Θεοχαρίδης, ΗΜΥ, 2016

Αριθμητικά Συστήματα – Γενικά

“βάση” r (radix r)

r ψηφία

N r = An-1 *r n-1 + An-2*r n-2 +… + A1*r1 + A0 +

A-1 *r -1 + A-2*r -2 +… + A-m *r -m

Περισσότερο

Σημαντικό Ψηφίο (Most Significant Bit -MSB)

Λιγότερο Σημαντικό Ψηφίο (Least Significant Bit - LSB)

Page 48: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.48 © Θεοχαρίδης, ΗΜΥ, 2016

Αριθμητικά Συστήματα – Γενικά (συν.)

π.χ. r = 6

(312.4)6 = 3*62 + 1*61 + 2*60 + 4*6-1

= (116.66)10

Μετατροπή από n-δικό (οποιοδήποτε σύστημα με radix n) σε δεκαδικό ακολουθεί παρόμοια διαδικασία όπως την πιο πάνω

Page 49: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.49 © Θεοχαρίδης, ΗΜΥ, 2016

Αριθμητικά Συστήματα (συν.) Τα πιο κοινά αριθμητικά συστήματα για Η/Υ:

l Δυαδικό (r = 2) (Binary) l Οκταδικό (r = 8) (Octal) l Δεκαεξαδικό (r = 16) (Hexadecimal)

Page 50: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.50 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικοί αριθμοί -- βάση 2

Οι Η/Υ αναπαριστούν όλα τα δεδομένα σαν “συμβολοσειρές bits”, κάθε bit είναι 0 ή 1

“βάση” 2, με 2 ψηφία: 0 και 1

π.χ.

(101101.10)2 = 1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 + 1*2-1 + 0*2-2

(σε δεκαδικό) = 32 + 0 + 8 + 4 + 0 + 1 + ½ + 0

= (45.5)10

Page 51: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.51 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικοί αριθμοί -- βάση 2 (συν.)

π.χ.

(1001.011)2 = 1*23 + 0*22 + 0*21 + 1*20 + 0*2-1 + 1*2-2 + 1*2-3

(σε δεκαδικό) = 8 + 1 + 0.25 + 0.125

= (9.375)10

Page 52: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.52 © Θεοχαρίδης, ΗΜΥ, 2016

Δυνάμεις του 2

Page 53: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.53 © Θεοχαρίδης, ΗΜΥ, 2016

Οκταδικοί αριθμοί (Octal) - βάση 8

“βάση” 8, με 8 ψηφία: 0..7

π.χ.

(762)8 = 7*82 + 6*81 + 2*80

(σε δεκαδικό) = 448 + 48 + 2

= (498)10

Page 54: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.54 © Θεοχαρίδης, ΗΜΥ, 2016

Δεκαεξαδικοί αριθμοί (Hex) - βάση 16

r = 16

Ψηφία (σύμβαση): 0..9, A, B, C, D, E, F

A=10, B=11, … , F = 15

π.χ.

(3FB)16 = 3*162 + 15*161 + 11*160

(σε δεκαδικό) = 768 + 240 + 11

= (1019)10

Page 55: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.55 © Θεοχαρίδης, ΗΜΥ, 2016

Μετατροπή Βάσεων Οποιαδήποτε βάση r δεκαδικό

Εύκολο!

(Το έχουμε δει, βλέπε διαφάνειες 13-14, 16-17, 19-20)

Δεκαδικό Δυαδικό

Οκταδικό Δυαδικό

Δεκαεξαδικό Δυαδικό

Δεκαδικό Όποια βάση r

Page 56: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.56 © Θεοχαρίδης, ΗΜΥ, 2016

Δεκαδικό σε Δυαδικό N είναι ένας δεκαδικός αριθμός.

a) Βρείτε το μεγαλύτερο αριθμό που είναι δύναμη του 2 και όταν αφαιρείται από το N παράγει μια θετική διαφορά N1 ( Ν = 2x+Ν1 )

b) Βάλτε 1 στο MSB

c) Εκτελέστε αναδρομικά το α), ξεκινώντας από το N1 και βρίσκοντας την διαφορά N2, βάζοντας 1 στα bit που αναλογούν στο x και 0 στα υπόλοιπα bit. Σταμάτησε όταν η διαφορά είναι 0.

Page 57: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.57 © Θεοχαρίδης, ΗΜΥ, 2016

Δεκαδικό σε Δυαδικό (συν.) π.χ. N = (717)10

717 – 512 = 205 = N1 512 = 29 (x = 9)

205 –128 = 77 = N2 128 = 27 (x = 7)

77 – 64 = 13 = N3 64 = 26 (x = 6)

13 – 8 = 5 = N4 8 = 23 (x = 3)

5 – 4 = 1 = N5 4 = 22 (x = 2)

1 – 1 = 0 = N6 1 = 20 (x = 0)

(717)10 = 29 + 27 + 26 + 23 + 22 + 20

= ( 1 0 1 1 0 0 1 1 0 1)2

Page 58: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.58 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικό σε Οκταδικό και Δεκαεξαδικό Οκταδικό:

8 = 23

κάθε 3 bits μεταφράζονται σε 1 οκταδικό

Δεκαεξαδικό:

16 = 24

κάθε 4 bits μεταφράζονται σε 1 δεκαεξαδικό

Page 59: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.59 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικό Οκταδικό

(011 010 101 000 . 111 101 011 100)2

( 3 2 5 0 . 7 5 3 4 )8

Page 60: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.60 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικό Δεκαεξαδικό

( 6 A 8 . F 5 C )16

( 0110 1010 1000 . 1111 0101 1100 )2

Page 61: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.61 © Θεοχαρίδης, ΗΜΥ, 2016

Οκταδικό Δεκαεξαδικό

Μέσο δυαδικού! Δεκαεξαδικό Δυαδικό Οκταδικό Οκταδικό Δυαδικό Δεκαεξαδικό

Page 62: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.62 © Θεοχαρίδης, ΗΜΥ, 2016

Μετατροπή Δεκαδικών σε οποιαδήποτε βάση r

Ακέραιο Μέρος: Αναδρομικά, διαιρέστε το ακέραιο μέρος δια τη βάση, κρατώντας το υπόλοιπο μέχρι το ακέραιο μέρος να γίνει 0

π.χ. (153)10 = ( ? )8 , r = 8

153 / 8 = 19 + 1/8 υπόλοιπο = 1 LSB

19 / 8 = 2 + 3/8 υπόλοιπο = 3

2 / 8 = 0 + 2/8 υπόλοιπο = 2 MSB

τέλος

Page 63: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.63 © Θεοχαρίδης, ΗΜΥ, 2016

Μετατροπή Δεκαδικών σε οποιαδήποτε βάση r

Κλασματικό Μέρος: Αναδρομικά, πολ/στε το κλασματικό μέρος επί τη βάση κρατώντας το ακέραιο μέρος μέχρι το κλασματικό μέρος να γίνει 0

π.χ. (0.78125)10 = ( ? )16 , r = 16

0.78125 * 16 = 12.5 ακέραιος = 12 = C MSB

0.5 * 16 = 8.0 ακέραιος = 8 = 8 LSB

(0.78125)10 = (0.C8)16

τέλος

Page 64: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.64 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικές Αριθμητικές Πράξεις:Πρόσθεση

Ακολουθεί τους ίδιους κανόνες με τη δεκαδική πρόσθεση, με την διαφορά ότι όταν το άθροισμα είναι 2 (και όχι 10) έχουμε κρατούμενο

Νέοι κανόνες κρατουμένου (carry) l 0+0 = 0c0 (άθροισμα 0 με carry 0) l 0+1 = 1+0 = 1c0 l 1+1 = 0c1 l 1+1+1 = 1c1

Κρατούμενο 1 1 1 1 1 0 Προσθετέος 1 0 0 1 0 0 1 Προσθετέος 2 0 1 1 1 1 1 Αποτέλεσμα 1 0 1 0 0 0

+

Page 65: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.65 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικές Αριθμητικές Πράξεις:Πρόσθεση (συν.)

“Ημιάθροισμα” (δεξιότερο bit, π.χ LSB): μόνο 2 bits προσθέτονται, με αποτέλεσμα ένα ψηφίο αθροίσματος και ένα κρατουμένου

“Πλήρες Άθροισμα” (υπόλοιπες θέσεις): 3 bits προσθέτονται με αποτέλεσμα ένα άθροισμα (3 ψηφίων) και ένα κρατούμενο

Στο κεφάλαιο 3, θα δούμε πολλές διαφορετικές υλοποιήσεις ημιαθροιστών (half-adders) και αθροιστών (full-adders).

Page 66: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.66 © Θεοχαρίδης, ΗΜΥ, 2016

Υπερχείλιση Εάν το μέγεθος της λέξης (word) είναι n bits

και το αποτέλεσμα του αθροίσματος είναι (n+1) bits, έχουμε υπερχείλιση (overflow) το αποτέλεσμα δεν μπορεί να αναπαρασταθεί ορθά (πλήρως) με n bits

Υπερχείλιση δεν συμβαίνει ποτέ στην αφαίρεση. Γιατί;

Page 67: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.67 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικές Αριθμητικές Πράξεις:Αφαίρεση

Νέοι κανόνες δανεικού (borrow) l 0-0 = 1-1 = 0b0 (αποτέλεσμα 0 με δανεικό 0) l 1-0 = 1b0 l 0-1 = 1b1 l … Δανεικό 1 1 0 0

Αφαιρετέος 1 1 0 1 1 Αφαιρέτης 0 1 1 0 1 Αποτέλεσμα 0 1 1 1 0

-

Page 68: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.68 © Θεοχαρίδης, ΗΜΥ, 2016

Κλειδιά για επιτυχία Χρήση των ίδιων αλγορίθμων που χρησιμοποιούνται

για την εκτέλεση δεκαδικών αριθμητικών λειτουργιών

Γενίκευση για τη καινούργια βάση (οι κανόνες carry, borrow αλλάζουν)

Διατήρηση της βάσης! Στο δυαδικό, 1+1=10

Page 69: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.69 © Θεοχαρίδης, ΗΜΥ, 2016

Δυαδικές Αριθμητικές Πράξεις:Πολ/σμός

Αλγόριθμος Ολίσθησης-και-πρόσθεσης (Shift-and-add), όπως για τη βάση 10

Πολλ/στής 0 0 0 1 1 0 1 Πολλ/στέος 0 0 0 0 1 1 0 (1) 0 0 0 0 0 0 0 (2) 0 0 1 1 0 1 0 (3) 0 1 1 0 1 0 0 Άθροισμα 1 0 0 1 1 1 0

Page 70: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.70 © Θεοχαρίδης, ΗΜΥ, 2016

Κώδικες

Αναπαράσταση ενός συνόλου από στοιχεία (π.χ. αριθμούς) αντιστοιχώντας ένα κώδικα (codeword) για κάθε στοιχείο του συνόλου.

Ο κώδικας είναι μια συμβολοσειρά

Δυαδικός κώδικας με n bits: μια ομάδα από n bits που κωδικοποιούν 2 n διακριτά στοιχεία

π.χ. Ένα σύνολο από 4 διακριτούς αριθμούς μπορεί να αναπαρασταθεί με κώδικα 2-bit έτσι ώστε κάθε αριθμός του συνόλου να αντιστοιχεί ακριβώς σε ένα συνδυασμό στο σύνολο {00,01,10,11}.

Page 71: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.71 © Θεοχαρίδης, ΗΜΥ, 2016

Κώδικες (συν.)

Για την κωδικοποίηση m διακριτών στοιχείων με ένα κώδικα n-bit πρέπει: 2n >= m

Σημείωση: Ο κώδικας που συσχετίζεται με κάθε αριθμό γίνεται κωδικοποιώντας τον αριθμό και ΟΧΙ με την μετατροπή του αριθμού σε δυαδικό

Θα δούμε: BCD, ASCII, Unicode

Page 72: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.72 © Θεοχαρίδης, ΗΜΥ, 2016

Δεκαδικοί με Δυαδική Κωδικοποίηση (Binary Coded Decimals - BCD)

Ένας δεκαδικός κώδικας: Δεκαδικοί αριθμοί (0..9) κωδικοποιούνται χρησιμοποιώντας διακριτές δυαδικές λέξεις 4ων bit

1010 .. 1111 (δεκαδικοί 10..15) δεν αναπαρίστανται (άκυρες λέξεις για BCD)

Page 73: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.73 © Θεοχαρίδης, ΗΜΥ, 2016

Δεκαδικοί με Δυαδική Κωδικοποίηση (συν.)

Για την κωδικοποίηση αριθμών με n δεκαδικά ψηφία, χρειαζόμαστε 4n bits στο BCD

π.χ. (365)10 = (0011 0110 0101)BCD

Αυτό είναι διαφορετικό από την μετατροπή σε δυαδικό όπου (365)10 = (101101101)2

Ο κώδικας BCD χρειάζεται περισσότερα bits. Όμως, παρέχει μεγαλύτερη ευκολία στην ανάγνωση/ερμηνεία.

Page 74: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.74 © Θεοχαρίδης, ΗΜΥ, 2016

Πρόσθεση με BCD

Όταν 2 κώδικες BCD προστίθενται:

l Εάν το δυαδικό άθροισμα είναι μικρότερο από 10102 (=1010), το αποτέλεσμα της πρόσθεσης δίνει έγκυρο και ορθό κώδικα για BCD

l Εάν το δυαδικό άθροισμα είναι ίσο ή μεγαλύτερο από 10102, τότε το αποτέλεσμα της πρόσθεσης δίνει άκυρο ή/και λανθασμένο κώδικα για BCD. Διορθώνεται με την πρόσθεση του 01102 (=610) στο αποτέλεσμα της πρόσθεσης, έτσι ώστε να παραχθεί το σωστό κρατούμενο στο αριστερό ψηφίο. Γιατί 610;

Page 75: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.75 © Θεοχαρίδης, ΗΜΥ, 2016

Πρόσθεση με BCD (συν.)

Παράδειγμα: Πρόσθεση 448 & 489 σε BCD.

0100 0100 1000 (448 σε BCD)

0100 1000 1001 (489 σε BCD)

10001 ( > 9, πρόσθεσε 6)

1 0111 (κρατούμενο 1 στο μεσαίο ψηφίο)

1101 ( > 9, πρόσθεσε 6)

1001 1 0011 (κρατούμενο 1 στο αριστερότερο ψηφίο)

1001 0011 0111 (κώδικας BCD για 93710)

Page 76: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.76 © Θεοχαρίδης, ΗΜΥ, 2016

Κώδικας Gray

Δυαδικός κώδικας

# αλλαγών

Κώδικας Gray

# αλλαγών

000 000 001 001 010 011 011 010 100 110 101 111 110 101 111 100 000 000

1 2 1 3 1 2 1 3

Για οκταδικό Απόσταση Hamming: Ο # των αλλαγών στις τιμές των bit μεταξύ δύο δυαδικών τιμών/κωδίκων

Στον κώδικα Gray, η απόσταση Hamming πρέπει να είναι 1 μεταξύ κάθε δύο συνεχόμενων κωδίκων

Σε ένα κώδικα Gray των n κωδίκων (n άρτιος):

l Οι πρώτοι n/2 κώδικες έχουν 0 για MSB και άρτια ισοτιμία μεταξύ συνεχόμενων bit

l Οι υπόλοιποι n/2 παράγονται παίρνοντας την πρώτη λίστα ανάποδα, με 1 για MSB

1 1 1 1 1 1 1 1

Page 77: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.77 © Θεοχαρίδης, ΗΜΥ, 2016

Κώδικας Χαρακτήρων ASCII Χρειαζόμαστε αναπαράσταση γραμμάτων και άλλων

συμβόλων αλφαριθμητικοί κώδικες

ASCII = American Standard Code for Information Interchange. Γνωστό ως «Western European»

Περιέχει 128 χαρακτήρες: l 94 εκτυπώσιμους (26 κεφαλαία και 26 μικρά

γράμματα, 10 ψηφία, 32 ειδικά σύμβολα) l 34 μη εκτυπώσιμους (για πράξεις ελέγχου)

Χρησιμοποιεί δυαδικό κώδικα των 7-bit για να αναπαραστήσει κάθε ένα από τους 128 χαρακτήρες

Page 78: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.78 © Θεοχαρίδης, ΗΜΥ, 2016

Πίνακας ASCII

Page 79: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.79 © Θεοχαρίδης, ΗΜΥ, 2016

Κώδικας Unicode Καθιερωμένο Πρότυπο (Established Standard)

Αλφαριθμητικός κώδικας 16-bit για διεθνή σύνολα χαρακτήρων

Αφού έχει 16-bit, υποστηρίζει 65,536 διαφορετικούς κώδικες

Αναπαρίσταται από 4 δεκαεξαδικά (Hex) ψηφία

Οι ASCII χαρακτήρες αντιστοιχούν στις τιμές 000016 έως 007F16 του Unicode

Page 80: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.80 © Θεοχαρίδης, ΗΜΥ, 2016

Πίνακας Unicode (191 πρώτοι χαρακτήρες)

Page 81: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.81 © Θεοχαρίδης, ΗΜΥ, 2016

Bit ισοτιμίας (Parity Bit) για ASCII Η κωδικοποίηση με ισοτιμία (parity) χρησιμοποιείται

για τον εντοπισμό σφαλμάτων κατά τη διάρκεια μεταφοράς (επικοινωνία) ή/και υπολογισμού δεδομένων

Ένα 8ο bit προστίθεται στον 7-bit κώδικα ASCII

Άρτια (Περιττή) Ισοτιμία: το bit ισοτιμίας ορίζεται έτσι ώστε ο αριθμός των 1 στην 8-bit λέξη να είναι άρτιος (περιττός)

Page 82: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.82 © Θεοχαρίδης, ΗΜΥ, 2016

Bit ισοτιμίας για ASCII (συν.) Για παράδειγμα:

l Μετατροπή της 7-bit λέξης 1011011 σε 8-bit λέξη άρτιας ισοτιμίας 11011011

l Μετατροπή της 7-bit λέξη 1011011 σε 8-bit λέξη περιττής ισοτιμίας 01011011

Και οι 2 κώδικες ισοτιμίας μπορούν να ανιχνεύσουν περιττό αριθμό λαθών. Κανένας άρτιος αριθμός λαθών δεν εντοπίζεται.

Page 83: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.83 © Θεοχαρίδης, ΗΜΥ, 2016

ΕΠΟΜΕΝΗ ΔΙΑΛΕΞΗ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ ΕΠΟΜΕΝΗ ΔΙΑΛΕΞΗ –Συνδυαστική Λογική και βασικές

πύλες!

Υπενθυμίζω ΦΡΟΝΤΙΣΤΗΡΙΑ: ΠΕΜΠΤΗ 12:00-1:30 και ΤΕΤΑΡΤΗ 1:30-3:00. ΕΠΙΛΕΓΕΤΕ ΝΑ ΠΗΓΑΙΝΕΤΕ ΤΟΥΛΑΧΙΣΤΟΝ ΕΝΑ ΤΗΝ

ΕΒΔΟΜΑΔΑ ΚΑΤΟΠΙΝ ΣΥΝΕΝΝΟΗΣΗΣ ΜΕ ΤΟΥΣ ΒΟΗΘΟΥΣ

Page 84: ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝΤο σύστημα προγραμματισμού του ENIAC ήταν εξωτερικό l. Sequences of instructions

ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.84 © Θεοχαρίδης, ΗΜΥ, 2016