Digital logic. Boolean Algebra. Tietokoneen rakenne. Tietokoneen rakenne

Samankaltaiset tiedostot
Luento 3: Digitaalilogiikka Luento 3. u binary: AND ( ) A B = AB. u unary: NOT ( _ ) A. u precedence: NOT, AND, OR.

Digital logic. Boolean Algebra. Tietokoneen rakenne. Tietokoneen rakenne

Capacity Utilization

2_1----~--~r--1.~--~--~--,.~~

21~--~--~r--1~~--~--~~r--1~

Information on preparing Presentation

Efficiency change over time

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Other approaches to restrict multipliers

c) loogiset funktiot tulojen summana B 1 = d) AND- ja EXOR-porteille sopivat yhtälöt

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Alternative DEA Models

C++11 seminaari, kevät Johannes Koskinen

16. Allocation Models

The CCR Model and Production Correspondence

Capacity utilization

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

The Viking Battle - Part Version: Finnish

812336A C++ -kielen perusteet,

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

RINNAKKAINEN OHJELMOINTI A,

LYTH-CONS CONSISTENCY TRANSMITTER

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Telecommunication Software

anna minun kertoa let me tell you

SIMULINK S-funktiot. SIMULINK S-funktiot

Gap-filling methods for CH 4 data

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

Internal Memory, Cache

Operatioanalyysi 2011, Harjoitus 2, viikko 38

Internal Memory, Cache

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

Use of spatial data in the new production environment and in a data warehouse

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

7.4 Variability management

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Bounds on non-surjective cellular automata

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

Counting quantities 1-3

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Counting quantities 1-3

Salasanan vaihto uuteen / How to change password

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

c) loogiset funktiot tulojen summana B 1 = C 2 C 1 +C 1 C 0 +C 2 C 1 C 0 e) logiikkakaavio

Choose Finland-Helsinki Valitse Finland-Helsinki

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

Miksi Suomi on Suomi (Finnish Edition)

Rekisteröiminen - FAQ

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

Oma sininen meresi (Finnish Edition)

Internal Memory, Cache (välimuisti)

Internal Memory, Cache (välimuisti)

Operatioanalyysi 2011, Harjoitus 4, viikko 40

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

Statistical design. Tuomas Selander

make and make and make ThinkMath 2017

Tietorakenteet ja algoritmit

MEETING PEOPLE COMMUNICATIVE QUESTIONS

VAASAN YLIOPISTO Humanististen tieteiden kandidaatin tutkinto / Filosofian maisterin tutkinto

A DEA Game II. Juha Saloheimo S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

MRI-sovellukset. Ryhmän 6 LH:t (8.22 & 9.25)

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Digitaalilaitteen signaalit

Security server v6 installation requirements

Mat Seminar on Optimization. Data Envelopment Analysis. Economies of Scope S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

Huom. tämä kulma on yhtä suuri kuin ohjauskulman muutos. lasketaan ajoneuvon keskipisteen ympyräkaaren jänteen pituus

Security server v6 installation requirements

AYYE 9/ HOUSING POLICY

Results on the new polydrug use questions in the Finnish TDI data

Sisällysluettelo Table of contents

Returns to Scale Chapters

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) ( (Finnish Edition)

I. Principles of Pointer Year Analysis

Fraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit

TIETEEN PÄIVÄT OULUSSA

Curriculum. Gym card

1. Liikkuvat määreet

Kvanttilaskenta - 2. tehtävät

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Hankkeen toiminnot työsuunnitelman laatiminen

Data Quality Master Data Management

OFFICE 365 OPISKELIJOILLE

E80. Data Uncertainty, Data Fitting, Error Propagation. Jan. 23, 2014 Jon Roberts. Experimental Engineering

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto

TKT-1202 Digitaalisuunnittelu Digital Design Fall 2007

Ohjelmien kehittämisstudiot varmistavat laadukkaat ja linjakkaat maisteriohjelmat Maire Syrjäkari ja Riikka Rissanen

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

Operatioanalyysi 2011, Harjoitus 3, viikko 39

RULLARADAT RULLADAT ROLLER TABLES

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

EUROOPAN PARLAMENTTI

Transkriptio:

Tietokoneen rakenne Luento 3 Digital logic Stallings: Appendix B Boolean Algebra Combinational Circuits Simplification Sequential Circuits Lecture 3-1 Tietokoneen rakenne Boolean Algebra Lecture 3-2 Tietokoneen rakenne / 2007 / Liisa Marttinen 1

Boolean Algebra George Boole u ideas 1854 Claude Shannon (kuva) (gradu) u apply to circuit design, 1938 u father of information theory Topics: Describe digital circuitry function u programming language? Optimise given circuitry (piirisuunnittelu) u use algebra (Boolean algebra) to manipulate (Boolean) expressions into simpler expressions Lecture 3-3 Boolean Algebra Variables: A, B, C Values: TRUE (1), FALSE (0) Basic logical operations: u binary: AND ( ) A B = AB OR ( + ) B + C u unary: NOT ( _ ) Composite operations, equations u precedence: NOT, AND, OR u parenthesis A ja tai ei integer arithmetics product sum negation D = A+ B C = A + (( B) C) Lecture 3-4 Tietokoneen rakenne / 2007 / Liisa Marttinen 2

Boolean Algebra Other operations u XOR (exclusive-or) u NAND u NOR A NAND B = NOT( A ANDB) = AB A NOR B = NOT( A ORB) = A + B Truth tables u What is the result of the operation? (Sta06 Table B.1) Lecture 3-5 Postulates and Identities How can I manipulate expressions? u Simple set of rules? vaihdantalaki osittelulaki neutraalialkiot alkion ja komplementin tulo ja summa tulo 0 n kanssa, summa 1 n kanssa tulo ja summa itsensä kanssa liitäntälait (Sta06 Table B.2) Lecture 3-6 Tietokoneen rakenne / 2007 / Liisa Marttinen 3

Gates (veräjät / portit) Implement basic Boolean algebra operations Fundamental building blocks u 1 or 2 inputs, 1 output Combine to build more complex circuits u memory, adder, multiplier, yhteenlaskupiiri, Gate delay kertolaskupiiri u change inputs, after gate delay new output available u 1 ns? 10 ns? 0.1 ns? http://tech-www.informatik.uni-hamburg.de/ applets/cmos/cmosdemo.html (extra material) Sta06 Fig B.1 Lecture 3-7 Functionally Complete Set funktionaalisesti täydellinen joukko => joukosta voidaan muodostaa kaikki portit Can build all basic gates (AND, OR, NOT) from a smaller set of gates u With AND, NOT u With OR, NOT u With NAND alone u With NOR alone (Nämä seuraavat suoraan DeMorganin kaavoista ) A + B = A B OR with AND and NOT gates Sta06 Fig B.2, B.3 Lecture 3-8 Tietokoneen rakenne / 2007 / Liisa Marttinen 4

Combinational Circuits yhdistelmäpiirit Interconnected set of gates u m inputs, n outputs Sta06 Fig B.4 u change inputs, wait for gate delays, new outputs Each output u depends on combination of input signals u can be expressed as Boolean function of inputs Function can be described in three ways u with Boolean equations (one equation for each output) u with truth table u with graphical symbols for gates and wires Lecture 3-9 Describing the Circuit Boolean equations Truth table F = ABC + ABC + ABC <------------- inputs -----------> <- output -> (Sta06 Table B.3) Graphical symbols Sta06 Fig B.4 Lecture 3-10 Tietokoneen rakenne / 2007 / Liisa Marttinen 5

Tietokoneen rakenne Simplification Piirin yksinkertaistaminen Lecture 3-11 Simplify Presentation (and Implementation) Boolean equations u Sum of products form (SOP) tulojen summa Sta06 Table B.3 Sta06 Fig B.4 u Product of sums form (POS) F = F = ABC + ABC + ABC summien tulo ( A + B + C) ( A + B + C) ( A + B + C) ( A + B + ( A + B + Boolean algebra Sta06 Fig B.5 Which presentation is better? u Fewer gates? Smaller area on chip? u Smaller circuit delay? Faster? Lecture 3-12 Tietokoneen rakenne / 2007 / Liisa Marttinen 6

Algebraic Simplification Circuits become too large to handle? Use basic identities to simplify Boolean expressions F = ABC + ABC + ABC = AB + BC = B( A + C) Sta06 Fig B.4 Sta06 Fig B.6 May be difficult to do! How to do it automatically? Build a program to do it best? f = abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd Lecture 3-13 How so? F = ABC + ABC + ABC = ABC + ABC + ABC + ABC =( ABC+ABC)+( ABC+ABC) = AB( C + C)+( A + A) BC = AB( 1)+( 1) BC = AB +BC =B( A+C) Boolean algebra: A+A =A And this? Entäs tämä? f = abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd Lecture 3-14 Tietokoneen rakenne / 2007 / Liisa Marttinen 7

Karnaugh Map Karnaugh kartta Represent Boolean function (i.e., circuit) truth table in another way u Use canonical form: each term has each variable once u Use SOP presentation Karnaugh map squares u Each square is one product (input value combination) u Value is one (1) iff the product is present o/w value is empty (Sta06 Fig B.7) Lecture 3-15 Karnaugh Map u Adjacent squares differ only in one input value (wrap around) order!! u Square for input combination = 1001 (Sta06 Fig B.7) Lecture 3-16 Tietokoneen rakenne / 2007 / Liisa Marttinen 8

Karnaugh Map Simplification If adjacent squares have value 1, input values differ only in one variable Value of that variable is irrelevant (when all other input variables are fixed for those squares) Can ignore that variable for those expressions u............ ignore C Lecture 3-17 Using Karnaugh Maps to Minimize Boolean Functions (8) Original function Canonical form (already OK) Karnaugh Map Find smallest number of circles, each with largest number (2 i ) of 1 s ab can wrap-around Select parameter combinations corresponding to the circles Get reduced function f = abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd 00 f = bd + ac + ab cd 00 01 11 10 01 1 1 11 1 1 1 1 10 1 1 ac bd ab Lecture 3-18 Tietokoneen rakenne / 2007 / Liisa Marttinen 9

Impossible Input Variable Combinations (3) What if some input combinations can never occur? u Mark them don t care, d u Treat them as 0 or 1, whichever is best for you u More room to optimize ab 00 d cd 00 01 11 10 01 1 1 11 1 1 1 1 10 d d 1 1 Treat as 0 Treat as 1 f = bd + a Lecture 3-19 Example: Circuit to add 1 (mod 10) to 4-bit BCD decimal number (3)? 5 = 0101 0110 = 6 9 = 1001? 0000 = 0 A B C D? W X Y Z Truth table? Karnaugh maps for W, X, Y and Z? Lecture 3-20 Tietokoneen rakenne / 2007 / Liisa Marttinen 10

Example cont.: Truth Table No carry! (Sta06 Table B.4) Lecture 3-21 Example cont: Karnaugh Map Sta06 Table B.4 (Sta06 Fig B.10) Lecture 3-22 Tietokoneen rakenne / 2007 / Liisa Marttinen 11

Other Methods to simplify Boolean expressions Why? u Karnaugh maps become complex with 6 input variables Quine-McKluskey method u Tabular method u Automatically suitable for programming Luque Method u Based on dividing circle in different ways u Can be fractally expanded to infinitely many variables Interesting, but not part of this course Details skipped click Lecture 3-23 Tietokoneen rakenne Basic Combinatorial Circuits Building blocks for more complex circuits u Multiplexer u Encoders/decoder u Read-Only-Memory u Adder Lecture 3-24 Tietokoneen rakenne / 2007 / Liisa Marttinen 12

Multiplexers limitin Select one of many possible inputs to output u black box u truth table u implementation Sta06 Table B.7 Sta06 Fig B.13 Each input/output line can be many parallel lines u select one of three 16 bit values 0 inputs 1 2 3 Sta06 Fig B.12 output select lines C 0..15, IR 0..15, ALU 0..15 u simple extension to one line selection lots of wires, plenty of gates Used to control signal and data routing u Example: loading the value of PC Sta06 Fig B.14 Lecture 3-25 Encoders/Decoders Exactly one of many Encoder input or Decoder output lines is 1 Encode that line number as output u hopefully less pins (wires) needed this way u optimise for space, not for time u Example: encode 8 input wires with 3 output pins route 3 wires around the board decode 3 wires back to 8 wires at target space-time tradeoff Sta06 Fig B.15 Ex. Choosing the right memory chip from the address bits. Encode Decode Lecture 3-26 Tietokoneen rakenne / 2007 / Liisa Marttinen 13

Read-Only-Memory (ROM) (5) Given input values, get output value u Like multiplexer, but with fixed data Consider input as address, output as contents of memory location Example u Truth tables for a ROM 64 bit ROM 16 words, each 4 bits wide Sta06 Table B.8 Mem (7) =?4 Mem (11) = 14? u Implementation with decoder & or gates Sta06 Fig B.20 Lecture 3-27 Adders 1-bit adder A=1 B=0? Carry=0 Sum=1 Carry=1 A=1 1-bit adder with carry B=0? Carry=1 Sum=0 Implementation Sta06 Table B.9, Fig B.22 Compare to ROM? Build a 4-bit adder from four 1-bit adders Sta06 Fig B.21 Lecture 3-28 Tietokoneen rakenne / 2007 / Liisa Marttinen 14

Tietokoneen rakenne Sequential Circuits sarjalliset piirit u Flip-Flop u S-R Latch u Registers u Counters Lecture 3-29 Sequential Circuit (sarjallinen piiri) Circuit has (modifiable) internal state u remembers its previous state Output of circuit depends (also) on internal state u not only from current inputs u output = f o (input, state) u new state = f s (input, state) Circuits needed for u processor control u registers u memory Lecture 3-30 Tietokoneen rakenne / 2007 / Liisa Marttinen 15

http://www.du.edu/~etuttle/electron/elect36.htm Flip-Flop (kiikku) William Eccles & F.W. Jordan u with vacuum tubes, 1919 2 states for Q (0 or 1, true or false) 2 outputs u complement values u both always available on different pins Need to be able to change the state (Q)? Q Q Lecture 3-31 S-R Flip-Flop or S-R Latch (salpa) Usually both 0 R=0 S=0? Q Q S = SET = Write 1 = set S=1 for a short time R = RESET = Write 0 = set R=1 for a short time nor (0, 0) = 1 nor (0, 1) = 0 nor (1, 0) = 0 nor (1, 1) = 0 R S nor Q Q Lecture 3-32 Tietokoneen rakenne / 2007 / Liisa Marttinen 16

S-R Latch Stable States (4) 1 bit memory (value = value of Q) bistable, when R=S=0 u Q=0? u Q=1? nor (0, 0) = 1 nor (0, 1) = 0 nor (1, 0) = 0 nor (1, 1) = 0 R: S: 0 0 nor(0,1)=0 nor(0,0)=1 nor(0,0)=1 nor(1,0)=0 QQ=0 Q=1 Q1 0 u output = f o (input, state), u state = f s (input, state) Lecture 3-33 S-R Latch Set (=1) and Reset (=0) (17) Write 1: S= 0 1 0 R=0 R nor(0,0)=1 Q=0 Q=1 Write 0: R= 0 1 0 nor (0, 0) = 1 nor (0, 1) = 0 nor (1, 0) = 0 nor (1, 1) = 0 S=0 S=1 S=0 S Q1 0 nor(0,1)=0 nor(1,1)=0 R=0 R=1 R=0 nor(1,0)=0 nor(1,1)=0 S=0 S nor(0,0)=1 Q=1 Q=0 Q0 1 Lecture 3-34 Tietokoneen rakenne / 2007 / Liisa Marttinen 17

Clocked Flip-Flops State change can happen only when clock is 1 u more control on state changes Clocked S-R Flip-Flop D Flip-Flop u only one input D D = 1 and CLOCK write 1 D = 0 and CLOCK write 0 J-K Flip-Flop u Toggle Q when J=K=1 Sta06 Fig B.27 Sta06 Fig B.28 (Sta06 Fig B.26) Sta06 Fig B.29 Lecture 3-35 Registers Parallel registers u read/write u CPU user registers u additional internal registers Sta06 Fig B.30 Shift Registers u shifts data 1 bit to the right u serial to parallel? u ALU ops? u rotate? (Sta06 Fig B.31) Lecture 3-36 Tietokoneen rakenne / 2007 / Liisa Marttinen 18

Counters Add 1 to stored counter value Counter u parallel register plus increment circuits Ripple counter (aalto, viive) u asynchronous u increment least significant bit, and handle carry bit as far as needed Synchronous counter u modify all counter flip-flops simultaneously u faster, more complex, more expensive space-time tradeoff Sta06 Fig B.32 (http://www.allaboutcircuits.com) Lecture 3-37 Summary Boolean Algebra Gates Circuits u can implement all with NANDs or NORs u simplify circuits: Karnaugh, (Quine-McKluskey, Luque, ) Components for CPU design u ROM, adder u multiplexer, encoder/decoder u flip-flop, register, shift register, counter Lecture 3-38 Tietokoneen rakenne / 2007 / Liisa Marttinen 19

-- End of Appendix B: Digital Logic -- Simple processor http://www.gamezero.com/team-0/articles/math_magic/micro/stage4.html Lecture 3-39 Kertauskysymyksiä/Review questions DeMorganin laki? Miten boolen funktio minimoidaan Karnaughkartan avulla? Mitä eroa sarjallisessa piirissä on verrattuna normaaliin kombinatoriseen piiriin? Miten S-R kiikku toimii? DeMorgan s theorem? How to minimize a Boolean function using Karnaughs map? How do sequential circuits differ from normal combinational circuits? How does the S-R flip-flop function? Lecture 3-40 Tietokoneen rakenne / 2007 / Liisa Marttinen 20