Computer Organization Boolean Logic and the CPU
-
Upload
ulric-boyd -
Category
Documents
-
view
31 -
download
0
description
Transcript of Computer Organization Boolean Logic and the CPU
![Page 1: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/1.jpg)
Computer Organization
Boolean Logic and the CPU
i206 Fall 2010
John Chuang
Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear
![Page 2: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/2.jpg)
John Chuang 2
Boolean LogicCPU Operation
Bits & BytesBinary Numbers
Number Systems
Gates
Boolean Logic
Circuits
CPU Machine Instructions
Assembly Instructions
Program Algorithms
Application
Memory
Data compression
Compiler/Interpreter
OperatingSystem
Data Structures
Analysis
I/O
Memory hierarchy
Design
Methodologies/Tools
Process
Truth tableVenn DiagramDeMorgan’s Law
Numbers, text,audio, video, image, …
Decimal, Hexadecimal, Binary
AND, OR, NOT, XOR, NAND, NOR,etc.
Register, CacheMain Memory,Secondary Storage
Context switchProcess vs. ThreadLocks and deadlocks
Op-code, operandsInstruction set arch
Lossless v. lossyInfo entropy & Huffman code Adders, decoders,
Memory latches, ALUs, etc.
DataRepresentation
Data
Data storage
Principles
ALUs, Registers,Program Counter, Instruction Register
Network
Distributed Systems Security
Cryptography
Standards & Protocols
Inter-processCommunication
Searching, sorting,Encryption, etc.
Stacks, queues,maps, trees, graphs, …
Big-O
UML, CRC
TCP/IP, RSA, …
ConfidentialityIntegrityAuthentication…
C/S, P2PCaching
sockets
Formal models
Finite automataregex
![Page 3: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/3.jpg)
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)
![Page 4: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/4.jpg)
John Chuang 4
Central Processing Unit (CPU) CPU components:
- Arithmetic/Logic Units (ALU)- Control Unit- Registers- Cache Memory
http://www.ischool.berkeley.edu/~chuang/images/mips_r10000.jpg
![Page 5: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/5.jpg)
John Chuang 5
Boolean Logic
Boolean algebra = logical calculation of truth values (true/false values)
Basic boolean operators- AND- OR- XOR (exclusive-OR)- NOT
![Page 6: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/6.jpg)
John Chuang 6
AND, OR, XOR, and NOT:Gates and Truth Tables
![Page 7: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/7.jpg)
John Chuang 7
Boolean Notation
U
Operator
Symbol Example
AND * or • orA*B = A•B = A B = AB
OR + or U A+B = A U B
NOT¬ or ¯ or -
¬(A+B) = (A+B) = -(A+B)
XOR A B = AB + AB+
U
+
![Page 8: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/8.jpg)
John Chuang 8
Boolean Logic Relationships
A BC
D
Venn Diagram
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
![Page 9: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/9.jpg)
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
![Page 10: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/10.jpg)
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)
AB =
A
B
![Page 11: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/11.jpg)
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
![Page 12: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/12.jpg)
John Chuang 12
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
Image and further reading at: http://www.lithoguru.com/scientist/lithobasics.html
![Page 13: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/13.jpg)
John Chuang 13
NAND Gate
NAND gate implemented using 4 transistors
![Page 14: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/14.jpg)
John Chuang 14
Integrated Circuit (IC) Chips Contain Gates & Connectors
Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html
![Page 15: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/15.jpg)
John Chuang 15
Circuits for Binary AdditionHalf Adder
Images from http://www.play-hookey.com/digital/adder.html
![Page 16: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/16.jpg)
John Chuang 16
Circuits for Binary AdditionFull Adder
Images from http://www.play-hookey.com/digital/adder.html
![Page 17: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/17.jpg)
John Chuang 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
Images from http://www.play-hookey.com/digital/adder.html
![Page 18: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/18.jpg)
John Chuang 18
Arithmetic Logic Unit (ALU)Add, Subtract, and Logic Operations
http://www.seas.upenn.edu/~ee201/lab/LabALU/ALU.html
multiplexer
![Page 19: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/19.jpg)
John Chuang 21
CPU Operation
Bits & BytesBinary Numbers
Number Systems
Gates
Boolean Logic
Circuits
CPU Machine Instructions
Assembly Instructions
Program Algorithms
Application
Memory
Data compression
Compiler/Interpreter
OperatingSystem
Data Structures
Analysis
I/O
Memory hierarchy
Design
Methodologies/Tools
Process
Truth tableVenn DiagramDeMorgan’s Law
Numbers, text,audio, video, image, …
Decimal, Hexadecimal, Binary
AND, OR, NOT, XOR, NAND, NOR,etc.
Register, CacheMain Memory,Secondary Storage
Context switchProcess vs. ThreadLocks and deadlocks
Op-code, operandsInstruction set arch
Lossless v. lossyInfo entropy & Huffman code Adders, decoders,
Memory latches, ALUs, etc.
DataRepresentation
Data
Data storage
Principles
ALUs, Registers,Program Counter, Instruction Register
Network
Distributed Systems Security
Cryptography
Standards & Protocols
Inter-processCommunication
Searching, sorting,Encryption, etc.
Stacks, queues,maps, trees, graphs, …
Big-O
UML, CRC
TCP/IP, RSA, …
ConfidentialityIntegrityAuthentication…
C/S, P2PCaching
sockets
Formal models
Finite automataregex
![Page 20: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/20.jpg)
John Chuang 22
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
![Page 21: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/21.jpg)
John Chuang 23
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
![Page 22: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/22.jpg)
John Chuang 24
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
![Page 23: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/23.jpg)
John Chuang 25
Example Machine Architecture (Brookshear Appendix C)
![Page 24: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/24.jpg)
John Chuang 26
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
![Page 25: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/25.jpg)
John Chuang 27
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:
![Page 26: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/26.jpg)
John Chuang 28
Example: Decoding the instruction 35A7
![Page 27: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/27.jpg)
John Chuang 29
Example: Addition Operation
![Page 28: Computer Organization Boolean Logic and the CPU](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a6c550346895d8ded7c/html5/thumbnails/28.jpg)
John Chuang 30
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