ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ
Χειμερινό Εξάμηνο 2016
ΔΙΑΛΕΞΗ 01: ΕΙΣΑΓΩΓΗ – ΚΩΔΙΚΟΠΟΙΗΣΗ ΤΗΣ
ΠΛΗΡΟΦΟΡΙΑΣ
ΗΜΥ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]
ΗΜΥ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 στην ιστοσελίδα μετά τις διαλέξεις. ΠΡΟΝΟΗΣΤΕ ΝΑ ΦΕΡΝΕΤΑΙ ΣΗΜΕΙΩΜΑΤΑΡΙΟ ΚΑΙ ΝΑ ΠΡΟΣΕΧΕΤΕ ΣΤΗΝ ΤΑΞΗ!
ΗΜΥ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%!)
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.5 © Θεοχαρίδης, ΗΜΥ, 2016
Τί είναι ένα υπολογιστικό σύστημα;
Technology
Applications Computer
Interfaces
Machine Organization
Measurement & Evaluation
ISA
API
Link
I/O
Cha
n
Regs
IR
ΗΜΥ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
ΗΜΥ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
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.8 © Θεοχαρίδης, ΗΜΥ, 2016
Οι Υπολογιστές Τότε...
EDSAC, University of Cambridge, UK, 1949
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.9 © Θεοχαρίδης, ΗΜΥ, 2016
...και τώρα
Sources: Sony, Philips, McLaren Mercedes, Apple, Airbus, Lexus, Toshiba
ΗΜΥ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.
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.11 © Θεοχαρίδης, ΗΜΥ, 2016
Λίγο πιο μετά…
•Joseph-Marie Jaquard’s Loom – 1801 •Πρώτο αποθηκευμένο πρόγραμμα σε μεταλλικές κάρτες •Πρώτος υπολογιστής παραγωγής •Χρήση ΚΑΙ σήμερα / (Ταυτότητες Στρατού!)
•Slide Rule 1630 •Βασισμένο στους κανόνες λογαρίθμων του John Napier (1550-1617) •Χρήση μέχρι και 1970s
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.12 © Θεοχαρίδης, ΗΜΥ, 2016
Charles Babbage 1791-1871 Lucasian Professor of Mathematics, Cambridge University, 1827-1839
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.13 © Θεοχαρίδης, ΗΜΥ, 2016
Charles Babbage - 1791-1871
Μηχανή Υπολογισμού Διαφορών c.1822
l Τεράστια υπολογιστική μηχανή που δεν τελείωσε ποτέ.
Analytic Engine 1833 l Αποθήκευση αριθμών l Ο υπολογιστικός «μύλος»
χρησιμοποιούσε μεταλλικές κάρτες για λήψη εντολών.
l Τροφοδότηση με ατμό l Ακριβές υπολογισμός μέχρι και
6 δεκαδικά ψηφία!
Η μηχανή τώρα βρίσκεται στο Smithsonian
ΗΜΥ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 Το μηχάνημα δεν υλοποιήται ποτέ...
Μέχρι και σήμερα δεν είναι ξεκάθαρο αν η μηχανή μπορεί να δημιουργηθεί με μηχανική τεχνολογία!
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.15 © Θεοχαρίδης, ΗΜΥ, 2016
Ο Πρώτος Προγραμματιστής Ada Byron aka “Lady Lovelace” 1815-52 Η κόρη του γνωστού Λόρδου Βύρωνα
Ο δάσκαλος της Ada ήταν ο Babbage!
Όπως δημιουργήθηκε πρώτα ο άντρας και μετά η γυναίκα για να τον κατευθύνει, έτσι και ο πρώτος προγραμματιστής ήταν γυναίκα!
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.16 © Θεοχαρίδης, ΗΜΥ, 2016
Vacuum Tubes - 1941 - 1956
Οι Ηλεκτρονικοί Υπολογιστές πρώτης γενιάς χρησιμοποιούσαν Vacuum Tubes (λυχνίες κενού αέρος)
Vacuum tubes είναι γυάλινοι σωλήνες με κυκλώματα μέσα
Τα κυκλώματα προστατεύονται μέσω του κενού αέρος που υπάρχει.
Ανάλογα με την ποσότητα του κενού (δηλ. μέγεθος λαμπτήρων), ελέγχεται η ταχύτητα των ηλεκτρονίων και έτσι επιτυγχάνεται η αυτοματοποίηση.
ΗΜΥ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/
ΗΜΥ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!
ΗΜΥ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.
ΗΜΥ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, και τον πρώτο υπολογιστή με “εικονική” μνήμη.
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.21 © Θεοχαρίδης, ΗΜΥ, 2016
Το πρώτο πρόγραμμα Υπολογιστών
ΗΜΥ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 ΕΠΙΡΡΟΗ
ΗΜΥ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
ΗΜΥ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.
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.25 © Θεοχαρίδης, ΗΜΥ, 2016
Grace Hopper
Ήταν η προγραμματίστρια του ENIAC
Αποδέχτης του Computer Science’s first “Man of the Year Award”
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.26 © Θεοχαρίδης, ΗΜΥ, 2016
Το πρώτο Computer Bug - 1945
Οι διακόπτες ροής είτανε μέρος του ENIAC
Η Grace Hopper βρήκε μια πεταλούδα σφηνωμένη στους διακόπτες!
Η πεταλούδα είναι έντομο, στα αγγλικά “bug”
Το ονόμασε «“debugging” a computer»
Ακόμη και ο πρώτος που βρήκε λάθη στην υπολογιστική μηχανή ΗΤΑΝ ΓΥΝΑΙΚΑ
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.27 © Θεοχαρίδης, ΗΜΥ, 2016
Tο Transistor Οι John Bardeen, Walter Brattain και
William Shockley ανακαλύψανε το transistor effect και αναπτύξανε την πρώτη συσκευή τον Δεκέμβριο του 1947, όταν ήταν μέλη του τεχνικού προσωπικού των Bell Laboratories στο Murray Hill, NJ. Πήρανε το πρώτο βραβείο Nobel φυσικής το 1956.
Σκοπός του ήταν η αντικατάσταση των μεγάλων και αναποτελεσματικών vacuum tubes και μηχανικών διακοπτών, αργότερα όμως έφερε την επανάσταση στον χώρο των ηλεκτρονικών!
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.28 © Θεοχαρίδης, ΗΜΥ, 2016
Το πρώτο Transistor Χρήση Πυριτίου
(Silicon)
Αναπτύχθηκε το 1948
‘Έφερε ένα Nobel prize
Αυτόματος διακόπτης!
Η δεύτερη γενιά υπολογιστών στηριζόταν στα Transistors, ξεκινώντας από το 1956
ΗΜΥ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
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.30 © Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασμός Microchip
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.31 © Θεοχαρίδης, ΗΜΥ, 2016
Ροή Σχεδιασμού
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.32 © Θεοχαρίδης, ΗΜΥ, 2016
Επίπεδα Σχεδιασμού
SYSTEM
GATE
CIRCUIT
Vout Vin
CIRCUIT
Vout Vin
MODULE
+
DEVICE
n+ S D
n+
G
ΗΜΥ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).
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.34 © Θεοχαρίδης, ΗΜΥ, 2016
ΆΡΑ! Ο Σκοπός του μαθήματος
Λογικός Σχεδιασμός και Σχεδιασμός Η/Υ
Βασικές έννοιες & εργαλεία που χρησιμοποιούνται για το σχεδιασμό ψηφιακού υλικού (από ψηφιακά κυκλώματα)
Επιπρόσθετες έννοιες & εργαλεία που χρησιμοποιούνται για το σχεδιασμό Υπολογιστικών Συστημάτων
Σχεδιασμός Ψηφιακών Συστημάτων
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.35 © Θεοχαρίδης, ΗΜΥ, 2016
ΠΛΗΡΟΦΟΡΙΑ!
Ήχος, Εικόνα, Αφή, Όραση, Ακοή, ‘Οσφρηση, Γεύση...
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.36 © Θεοχαρίδης, ΗΜΥ, 2016
Πώς όμως αντιλαμβάνεται την πληροφορία ένας υπολογιστής;
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.37 © Θεοχαρίδης, ΗΜΥ, 2016
Περίληψη 1ου Κεφαλαίου Ψηφιακοί Υπολογιστές
Αριθμητικά Συστήματα l Αναπαραστάσεις l Μετατροπές
Αριθμητικές Λειτουργίες
Δεκαδικοί Κώδικες
Αλφαριθμητικοί Κώδικες
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.38 © Θεοχαρίδης, ΗΜΥ, 2016
Ψηφιακά Συστήματα Κύρια χαρακτηριστικά:
l επεξεργασία διακριτών στοιχείων πληροφορίας (οποιοδήποτε σύνολο που περιορίζεται σε ένα πεπερασμένο αριθμό στοιχείων)
l π.χ. 10 δεκαδικά ψηφία, 26 γράμματα, …
Διακριτά στοιχεία (σε ψηφιακά συστήματα) αναπαριστούν σήματα (φυσικές οντότητες)
l Πιο κοινά σήματα: ηλεκτρικά (voltage, current)
ΗΜΥ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
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.40 © Θεοχαρίδης, ΗΜΥ, 2016
Αναπαράσταση Πληροφοριών
Δυαδικά σήματα (2 διακριτές τιμές) l 0 και 1 (ή LOW και HIGH ή FALSE και TRUE) l Δυαδική μονάδα: δυαδικό ψηφίο/μπιτ (digit/bit) l Πληροφορία: σύνολο από bits (=words). Τυπικό
μέγεθος: 8, 16, 32, 64, …
Ψηφιακό Υλικό: υπολογίζει δυαδικές συναρτήσεις από διάδικους αριθμούς
l Συνδυαστικά υλικό (χωρίς μνήμη) l Ακολουθιακά υλικό (με μνήμη)
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.41 © Θεοχαρίδης, ΗΜΥ, 2016
Βασική Δομή Η/Υ
Αποθηκεύει προγρ., δεδομένα I/O, και ενδιάμεσα δεδομένα
Ελέγχει τη ροή πληροφοριών σε όλες τις μονάδες
Εκτελεί αριθμητικές και άλλες λειτουργίες επεξεργασίας δεδομένων
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.42 © Θεοχαρίδης, ΗΜΥ, 2016
Μια πιο λεπτομερής όψη
FPU
CPU
Internal Cache
MMU
Επεξεργαστής: Πολύπλοκο κύκλωμα
(αποτελείται από εκατομμύρια transistors)
Μνήμη External Cache
(κρυφή μνήμη –- εξωτερική )
RAM (μνήμη τυχαίας προσπέλασης)
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.43 © Θεοχαρίδης, ΗΜΥ, 2016
Αριθμητικά Συστήματα Αναπαράσταση αριθμών
Radix: η βάση l βασική μονάδα μιας ομάδας αριθμών, π.χ. για το
δεκαδικό σύστημα το radix = 10 (“βάση” 10)
Για κάθε σύστημα χρειαζόμαστε αριθμητικές λειτουργίες (πρόσθεση, αφαίρεση, πολλαπλασιασμός)
Επίσης, μετατροπή από μια βάση σε άλλη
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.44 © Θεοχαρίδης, ΗΜΥ, 2016
Αριθμητικά Συστήματα -Δεκαδικό “βάση” 10 (το radix είναι 10)
10 ψηφία: 0...9
(251.3)10 = 2*102 + 5*101 + 1*100 + 3*10-1
Σημείωση: ‘.’ ονομάζεται η υποδιαστολή για το σύστημα radix (υποδιαστολή για τη βάση 10)
ΗΜΥ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.
ΗΜΥ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
ΗΜΥ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)
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.48 © Θεοχαρίδης, ΗΜΥ, 2016
Αριθμητικά Συστήματα – Γενικά (συν.)
π.χ. r = 6
(312.4)6 = 3*62 + 1*61 + 2*60 + 4*6-1
= (116.66)10
Μετατροπή από n-δικό (οποιοδήποτε σύστημα με radix n) σε δεκαδικό ακολουθεί παρόμοια διαδικασία όπως την πιο πάνω
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.49 © Θεοχαρίδης, ΗΜΥ, 2016
Αριθμητικά Συστήματα (συν.) Τα πιο κοινά αριθμητικά συστήματα για Η/Υ:
l Δυαδικό (r = 2) (Binary) l Οκταδικό (r = 8) (Octal) l Δεκαεξαδικό (r = 16) (Hexadecimal)
ΗΜΥ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
ΗΜΥ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
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.52 © Θεοχαρίδης, ΗΜΥ, 2016
Δυνάμεις του 2
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.53 © Θεοχαρίδης, ΗΜΥ, 2016
Οκταδικοί αριθμοί (Octal) - βάση 8
“βάση” 8, με 8 ψηφία: 0..7
π.χ.
(762)8 = 7*82 + 6*81 + 2*80
(σε δεκαδικό) = 448 + 48 + 2
= (498)10
ΗΜΥ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
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.55 © Θεοχαρίδης, ΗΜΥ, 2016
Μετατροπή Βάσεων Οποιαδήποτε βάση r δεκαδικό
Εύκολο!
(Το έχουμε δει, βλέπε διαφάνειες 13-14, 16-17, 19-20)
Δεκαδικό Δυαδικό
Οκταδικό Δυαδικό
Δεκαεξαδικό Δυαδικό
Δεκαδικό Όποια βάση r
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.56 © Θεοχαρίδης, ΗΜΥ, 2016
Δεκαδικό σε Δυαδικό N είναι ένας δεκαδικός αριθμός.
a) Βρείτε το μεγαλύτερο αριθμό που είναι δύναμη του 2 και όταν αφαιρείται από το N παράγει μια θετική διαφορά N1 ( Ν = 2x+Ν1 )
b) Βάλτε 1 στο MSB
c) Εκτελέστε αναδρομικά το α), ξεκινώντας από το N1 και βρίσκοντας την διαφορά N2, βάζοντας 1 στα bit που αναλογούν στο x και 0 στα υπόλοιπα bit. Σταμάτησε όταν η διαφορά είναι 0.
ΗΜΥ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
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.58 © Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικό σε Οκταδικό και Δεκαεξαδικό Οκταδικό:
8 = 23
κάθε 3 bits μεταφράζονται σε 1 οκταδικό
Δεκαεξαδικό:
16 = 24
κάθε 4 bits μεταφράζονται σε 1 δεκαεξαδικό
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.59 © Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικό Οκταδικό
(011 010 101 000 . 111 101 011 100)2
( 3 2 5 0 . 7 5 3 4 )8
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.60 © Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικό Δεκαεξαδικό
( 6 A 8 . F 5 C )16
( 0110 1010 1000 . 1111 0101 1100 )2
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.61 © Θεοχαρίδης, ΗΜΥ, 2016
Οκταδικό Δεκαεξαδικό
Μέσο δυαδικού! Δεκαεξαδικό Δυαδικό Οκταδικό Οκταδικό Δυαδικό Δεκαεξαδικό
ΗΜΥ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
τέλος
ΗΜΥ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
τέλος
ΗΜΥ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
+
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.65 © Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικές Αριθμητικές Πράξεις:Πρόσθεση (συν.)
“Ημιάθροισμα” (δεξιότερο bit, π.χ LSB): μόνο 2 bits προσθέτονται, με αποτέλεσμα ένα ψηφίο αθροίσματος και ένα κρατουμένου
“Πλήρες Άθροισμα” (υπόλοιπες θέσεις): 3 bits προσθέτονται με αποτέλεσμα ένα άθροισμα (3 ψηφίων) και ένα κρατούμενο
Στο κεφάλαιο 3, θα δούμε πολλές διαφορετικές υλοποιήσεις ημιαθροιστών (half-adders) και αθροιστών (full-adders).
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.66 © Θεοχαρίδης, ΗΜΥ, 2016
Υπερχείλιση Εάν το μέγεθος της λέξης (word) είναι n bits
και το αποτέλεσμα του αθροίσματος είναι (n+1) bits, έχουμε υπερχείλιση (overflow) το αποτέλεσμα δεν μπορεί να αναπαρασταθεί ορθά (πλήρως) με n bits
Υπερχείλιση δεν συμβαίνει ποτέ στην αφαίρεση. Γιατί;
ΗΜΥ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
-
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.68 © Θεοχαρίδης, ΗΜΥ, 2016
Κλειδιά για επιτυχία Χρήση των ίδιων αλγορίθμων που χρησιμοποιούνται
για την εκτέλεση δεκαδικών αριθμητικών λειτουργιών
Γενίκευση για τη καινούργια βάση (οι κανόνες carry, borrow αλλάζουν)
Διατήρηση της βάσης! Στο δυαδικό, 1+1=10
ΗΜΥ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
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.70 © Θεοχαρίδης, ΗΜΥ, 2016
Κώδικες
Αναπαράσταση ενός συνόλου από στοιχεία (π.χ. αριθμούς) αντιστοιχώντας ένα κώδικα (codeword) για κάθε στοιχείο του συνόλου.
Ο κώδικας είναι μια συμβολοσειρά
Δυαδικός κώδικας με n bits: μια ομάδα από n bits που κωδικοποιούν 2 n διακριτά στοιχεία
π.χ. Ένα σύνολο από 4 διακριτούς αριθμούς μπορεί να αναπαρασταθεί με κώδικα 2-bit έτσι ώστε κάθε αριθμός του συνόλου να αντιστοιχεί ακριβώς σε ένα συνδυασμό στο σύνολο {00,01,10,11}.
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.71 © Θεοχαρίδης, ΗΜΥ, 2016
Κώδικες (συν.)
Για την κωδικοποίηση m διακριτών στοιχείων με ένα κώδικα n-bit πρέπει: 2n >= m
Σημείωση: Ο κώδικας που συσχετίζεται με κάθε αριθμό γίνεται κωδικοποιώντας τον αριθμό και ΟΧΙ με την μετατροπή του αριθμού σε δυαδικό
Θα δούμε: BCD, ASCII, Unicode
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.72 © Θεοχαρίδης, ΗΜΥ, 2016
Δεκαδικοί με Δυαδική Κωδικοποίηση (Binary Coded Decimals - BCD)
Ένας δεκαδικός κώδικας: Δεκαδικοί αριθμοί (0..9) κωδικοποιούνται χρησιμοποιώντας διακριτές δυαδικές λέξεις 4ων bit
1010 .. 1111 (δεκαδικοί 10..15) δεν αναπαρίστανται (άκυρες λέξεις για BCD)
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.73 © Θεοχαρίδης, ΗΜΥ, 2016
Δεκαδικοί με Δυαδική Κωδικοποίηση (συν.)
Για την κωδικοποίηση αριθμών με n δεκαδικά ψηφία, χρειαζόμαστε 4n bits στο BCD
π.χ. (365)10 = (0011 0110 0101)BCD
Αυτό είναι διαφορετικό από την μετατροπή σε δυαδικό όπου (365)10 = (101101101)2
Ο κώδικας BCD χρειάζεται περισσότερα bits. Όμως, παρέχει μεγαλύτερη ευκολία στην ανάγνωση/ερμηνεία.
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.74 © Θεοχαρίδης, ΗΜΥ, 2016
Πρόσθεση με BCD
Όταν 2 κώδικες BCD προστίθενται:
l Εάν το δυαδικό άθροισμα είναι μικρότερο από 10102 (=1010), το αποτέλεσμα της πρόσθεσης δίνει έγκυρο και ορθό κώδικα για BCD
l Εάν το δυαδικό άθροισμα είναι ίσο ή μεγαλύτερο από 10102, τότε το αποτέλεσμα της πρόσθεσης δίνει άκυρο ή/και λανθασμένο κώδικα για BCD. Διορθώνεται με την πρόσθεση του 01102 (=610) στο αποτέλεσμα της πρόσθεσης, έτσι ώστε να παραχθεί το σωστό κρατούμενο στο αριστερό ψηφίο. Γιατί 610;
ΗΜΥ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)
ΗΜΥ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
ΗΜΥ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 χαρακτήρες
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.78 © Θεοχαρίδης, ΗΜΥ, 2016
Πίνακας ASCII
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.79 © Θεοχαρίδης, ΗΜΥ, 2016
Κώδικας Unicode Καθιερωμένο Πρότυπο (Established Standard)
Αλφαριθμητικός κώδικας 16-bit για διεθνή σύνολα χαρακτήρων
Αφού έχει 16-bit, υποστηρίζει 65,536 διαφορετικούς κώδικες
Αναπαρίσταται από 4 δεκαεξαδικά (Hex) ψηφία
Οι ASCII χαρακτήρες αντιστοιχούν στις τιμές 000016 έως 007F16 του Unicode
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.80 © Θεοχαρίδης, ΗΜΥ, 2016
Πίνακας Unicode (191 πρώτοι χαρακτήρες)
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.81 © Θεοχαρίδης, ΗΜΥ, 2016
Bit ισοτιμίας (Parity Bit) για ASCII Η κωδικοποίηση με ισοτιμία (parity) χρησιμοποιείται
για τον εντοπισμό σφαλμάτων κατά τη διάρκεια μεταφοράς (επικοινωνία) ή/και υπολογισμού δεδομένων
Ένα 8ο bit προστίθεται στον 7-bit κώδικα ASCII
Άρτια (Περιττή) Ισοτιμία: το bit ισοτιμίας ορίζεται έτσι ώστε ο αριθμός των 1 στην 8-bit λέξη να είναι άρτιος (περιττός)
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.82 © Θεοχαρίδης, ΗΜΥ, 2016
Bit ισοτιμίας για ASCII (συν.) Για παράδειγμα:
l Μετατροπή της 7-bit λέξης 1011011 σε 8-bit λέξη άρτιας ισοτιμίας 11011011
l Μετατροπή της 7-bit λέξη 1011011 σε 8-bit λέξη περιττής ισοτιμίας 01011011
Και οι 2 κώδικες ισοτιμίας μπορούν να ανιχνεύσουν περιττό αριθμό λαθών. Κανένας άρτιος αριθμός λαθών δεν εντοπίζεται.
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.83 © Θεοχαρίδης, ΗΜΥ, 2016
ΕΠΟΜΕΝΗ ΔΙΑΛΕΞΗ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ ΕΠΟΜΕΝΗ ΔΙΑΛΕΞΗ –Συνδυαστική Λογική και βασικές
πύλες!
Υπενθυμίζω ΦΡΟΝΤΙΣΤΗΡΙΑ: ΠΕΜΠΤΗ 12:00-1:30 και ΤΕΤΑΡΤΗ 1:30-3:00. ΕΠΙΛΕΓΕΤΕ ΝΑ ΠΗΓΑΙΝΕΤΕ ΤΟΥΛΑΧΙΣΤΟΝ ΕΝΑ ΤΗΝ
ΕΒΔΟΜΑΔΑ ΚΑΤΟΠΙΝ ΣΥΝΕΝΝΟΗΣΗΣ ΜΕ ΤΟΥΣ ΒΟΗΘΟΥΣ
ΗΜΥ210 Δ01 Εισαγωγή – ΚΩΔΙΚΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ.84 © Θεοχαρίδης, ΗΜΥ, 2016