1 / 28

Computer Organization Boolean Logic and the CPU

Computer Organization Boolean Logic and the CPU. i206 Fall 2010 John Chuang. Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear. Confidentiality Integrity Authentication …. Boolean Logic CPU Operation. Distributed Systems. C/S, P2P Caching. Security.

ulric-boyd
Download Presentation

Computer Organization Boolean Logic and the CPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer OrganizationBoolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

  2. Confidentiality Integrity Authentication … Boolean LogicCPU Operation Distributed Systems C/S, P2P Caching Security Cryptography Network Standards & Protocols sockets Inter-process Communication Methodologies/ Tools Principles TCP/IP, RSA, … UML, CRC OperatingSystem Formal models Application Design Process I/O Finite automata regex Context switch Process vs. Thread Locks and deadlocks Algorithms Program Analysis Memory hierarchy ALUs, Registers, Program Counter, Instruction Register Memory Big-O Compiler/ Interpreter Assembly Instructions Data Structures Register, Cache Main Memory, Secondary Storage Searching, sorting, Encryption, etc. Machine Instructions CPU Op-code, operands Instruction set arch Data storage Stacks, queues, maps, trees, graphs, … Circuits Lossless v. lossy Info entropy & Huffman code Decimal, Hexadecimal, Binary Adders, decoders, Memory latches, ALUs, etc. Gates Data compression Number Systems Data AND, OR, NOT, XOR, NAND, NOR, etc. Boolean Logic Numbers, text, audio, video, image, … Truth table Venn Diagram DeMorgan’s Law Data Representation Binary Numbers Bits & Bytes John Chuang

  3. Central Processing Unit (CPU) • Software programs consist of arithmetic and logical operations • The CPU or processor of a machine is responsible for executing these operations in hardware • Modern CPUs are implemented using tens of millions of transistors (switches) John Chuang

  4. http://www.ischool.berkeley.edu/~chuang/images/mips_r10000.jpghttp://www.ischool.berkeley.edu/~chuang/images/mips_r10000.jpg Central Processing Unit (CPU) • CPU components: • Arithmetic/Logic Units (ALU) • Control Unit • Registers • Cache Memory John Chuang

  5. Boolean Logic • Boolean algebra = logical calculation of truth values (true/false values) • Basic boolean operators • AND • OR • XOR (exclusive-OR) • NOT John Chuang

  6. AND, OR, XOR, and NOT:Gates and Truth Tables John Chuang

  7. + + Boolean Notation U U John Chuang

  8. Boolean Logic Relationships D • C = A*B • D = (A+B) • X+X = 1; X*X = 0 • X+Y=Y+X; XY = YX • X(Y+Z) = XY + XZ • DeMorgan’s Law: • (A*B) = A + B • (A+B) = A * B C B A Venn Diagram John Chuang

  9. Exercise • Let’s solve a problem using Boolean Logic • First express the problem using Boolean expressions and/or truth table • Then implement solution using Boolean gates John Chuang

  10. NAND, NOR, XNOR • NAND and NOR gates easier to implement in hardware than AND and OR gates • Example: AND logic can be implemented with two NOTs and a NOR (DeMorgan’s Law) A A = B B John Chuang

  11. Gates • The Richest Man in the World • Devices that produce the outputs of Boolean operations when given the operations’ input values • Often implemented as electronic circuits called transistors • Provide the building blocks from which computers are constructed • Gates are used to build up circuits that perform computations (e.g., addition, subtraction), or store values to be used later John Chuang

  12. Image and further reading at: http://www.lithoguru.com/scientist/lithobasics.html Inverter (NOT Gate) • Implements the simplest Boolean operator “NOT” using two transistors • Photolithography techniques used in fabrication of integrated circuit (IC) chips http://www.csee.umbc.edu/~plusquel/vlsi/slides/chap3_2.html John Chuang

  13. NAND Gate • NAND gate implemented using 4 transistors John Chuang

  14. Integrated Circuit (IC) Chips Contain Gates & Connectors John Chuang Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html

  15. Circuits for Binary AdditionHalf Adder John Chuang Images from http://www.play-hookey.com/digital/adder.html

  16. Circuits for Binary AdditionFull Adder John Chuang Images from http://www.play-hookey.com/digital/adder.html

  17. Circuits for Binary AdditionFull Adder, 4 bit output + carry • Can link up an arbitrary number of input bits • Can modify this easily to do subtraction John Chuang Images from http://www.play-hookey.com/digital/adder.html

  18. Arithmetic Logic Unit (ALU)Add, Subtract, and Logic Operations multiplexer John Chuang http://www.seas.upenn.edu/~ee201/lab/LabALU/ALU.html

  19. Confidentiality Integrity Authentication … CPU Operation Distributed Systems C/S, P2P Caching Security Cryptography Network Standards & Protocols sockets Inter-process Communication Methodologies/ Tools Principles TCP/IP, RSA, … UML, CRC OperatingSystem Formal models Application Design Process I/O Finite automata regex Context switch Process vs. Thread Locks and deadlocks Algorithms Program Analysis Memory hierarchy ALUs, Registers, Program Counter, Instruction Register Memory Big-O Compiler/ Interpreter Assembly Instructions Data Structures Register, Cache Main Memory, Secondary Storage Searching, sorting, Encryption, etc. Machine Instructions CPU Op-code, operands Instruction set arch Data storage Stacks, queues, maps, trees, graphs, … Circuits Lossless v. lossy Info entropy & Huffman code Decimal, Hexadecimal, Binary Adders, decoders, Memory latches, ALUs, etc. Gates Data compression Number Systems Data AND, OR, NOT, XOR, NAND, NOR, etc. Boolean Logic Numbers, text, audio, video, image, … Truth table Venn Diagram DeMorgan’s Law Data Representation Binary Numbers Bits & Bytes John Chuang

  20. Central Processing Unit (CPU) • Software programs consist of arithmetic and logical operations • The CPU or processor of a machine is responsible for executing these operations in hardware • CPU components • Arithmetic/Logic Units (ALU) • Control Unit • Registers • Cache Memory John Chuang

  21. Program execution • Controlled by two special-purpose registers • Program counter: address of next instruction • Instruction register: current instruction • Steps performed by control unit • Fetch • Decode • Execute John Chuang

  22. Machine language • Machine instruction: an instruction coded as a bit pattern directly recognizable by the CPU • Machine language: the set of all instructions recognized by a machine • Also known as instruction set architecture (ISA) • E.g., Intel x86, IA-64, MIPS, PowerPC, … • Brookshear Appendix C provides an example John Chuang

  23. Example Machine Architecture (Brookshear Appendix C) John Chuang

  24. Machine instruction types • Data Transfer: copy data between CPU and main memory • Arithmetic/Logic: use existing data values to compute a new data value • Control: direct the execution of the program John Chuang

  25. Parts of a machine instruction • Op-code: specifies which machine operation to execute • One per instruction • Operand: more detailed information about this operation • Number of operands varies depending on op-code • Example: John Chuang

  26. Example: Decoding the instruction 35A7 John Chuang

  27. Example: Addition Operation John Chuang

  28. Readings for Next Week • Read: Brookshear Chapter 5.1-5.5, 6.1 • Review: Brookshear Chapter 6.2-6.5 • Read: Brookshear Chapter 7.1-7.7 • Read: • http://en.wikipedia.org/wiki/Unified_Modeling_Language John Chuang

More Related