Presentation is loading. Please wait.

Presentation is loading. Please wait.

Digital Circuits and Logic

Similar presentations


Presentation on theme: "Digital Circuits and Logic"— Presentation transcript:

1 Digital Circuits and Logic
Gates Combinatorial logic adder ALU Sequential logic flip-flop memory CPU fetch-decode-execute cycle 17/05/2019 CMPUT 229

2 How to make a computer Computers are electronic equipment
contain many connected electronic components memory Central Processing Unit (CPU) specialized devices (network, video, etc.) components largely made of circuits containing wires and gates 17/05/2019 CMPUT 229

3 Logic Level one (1) / zero (0)
A Boolean logical signal always takes one of two logic levels. on / off high (H) / low (L) one (1) / zero (0) true (T) / false (F) positive / negative Why two levels ? Why not use, say, 4 levels? For example, electrical voltage as 0 v, 5v, 10v, and 20v 17/05/2019 CMPUT 229

4 Gates Tiny electronic switches made of transistors
implement Boolean logic 0/1  low/high voltage digital for given inputs, produce known output according to truth table represented in circuit diagrams by symbols 17/05/2019 CMPUT 229

5 Gates NOT In Out 1 1 17/05/2019 CMPUT 229

6 Gates 1 Out In 2 In 1 AND 17/05/2019 CMPUT 229

7 Gates NAND In 1 In 2 Out 1 1 1 1 1 1 1 17/05/2019 CMPUT 229

8 Gates OR 1 Out In 2 In 1 17/05/2019 CMPUT 229

9 Gates 1 Out In 2 In 1 XOR 17/05/2019 CMPUT 229

10 Implementation of Logic Gates
The NAND gate, the basic logic gate easier to manufacture any other logic gate can be made from a combination of NAND gates 17/05/2019 CMPUT 229

11 17/05/2019 CMPUT 229

12 Implementation of Logic Gates
CMOS The standard, 4000 series (4011) 17/05/2019 CMPUT 229

13 Implementation of Logic Gates
TTL The 4011's TTL counterpart is the 7400 17/05/2019 CMPUT 229

14 Logic Circuits Combinatorial Logic Sequential logic
Output depends solely on the input values Example: arithmetic logic unit (ALU) Sequential logic output depends on the present input, and the history of the input Examle: Flip-flop, Memory 17/05/2019 CMPUT 229

15 Combinatorial logic What about more complex truth tables?
Made by combining many gates together wires connect inputs and outputs each wire can carry only one bit, 0 or 1 17/05/2019 CMPUT 229

16 Combinatorial logic Circuits made from collections of gates
outputs depend only on inputs not on prior state characterized by truth table comparable to Boolean expression 17/05/2019 CMPUT 229

17 are equivalent; each can be converted to the other two.
Combinatorial logic boolean expression X = (A & ~B) | (B & C) truth table logic circuit A B C X 1 A B C X 1 1 1 1 1 1 all three of forms are equivalent; each can be converted to the other two. 17/05/2019 CMPUT 229

18 DeMorgan’s Law 17/05/2019 CMPUT 229

19 1 Out In 2 In 1 17/05/2019 CMPUT 229

20 Combinatorial logic Many parts of a computer are constructed of combinatorial logic adder circuit performs addition arithmetic logic unit (ALU) performs many kinds of arithmetic and bitwise logical operations contains adder circuit multiplexer and decoder direct bit traffic between components 17/05/2019 CMPUT 229

21 Adder A combinatorial circuit that adds binary values
according to this truth table In 1 In 2 Sum Carry 1 Carry is equivalent to AND Sum is equivalent to XOR 17/05/2019 CMPUT 229

22 This circuit can add two binary digits and is called a half-adder
Carry In 1 In 2 Sum This circuit can add two binary digits and is called a half-adder 17/05/2019 CMPUT 229

23 Adder 5 3 8 1 4 + 9 1 Why “half-adder”. . . ? 1
. . . because to add multi-digit numbers each column requires two additions 17/05/2019 CMPUT 229

24 Full adder in 1 This circuit is called a full adder and can add three binary digits in 2 half adders carry out carry in This OR gate combines the carries from the two half-adders sum 17/05/2019 CMPUT 229

25 Ripple-carry adder A3 A2 A1 A0 B3 B2 B1 B0 out3 out2 out1 out0
17/05/2019 CMPUT 229

26 Ripple-carry adder 0101 + 0110 = 1011 A3 A2 A1 A0 B3 B2 B1 B0 out3
1 1 1 1 1 1 out3 out2 out1 out0 17/05/2019 CMPUT 229

27 Ripple-carry adder So named because gate results (including carries) propagate (“ripple”) from LSB to MSB right to left corresponds to how humans add numbers with pen and paper More sophisticated, faster, adder circuits exist that can create the higher order carries more quickly 17/05/2019 CMPUT 229

28 Adder A3-A0 B3-B0 Adders (and other arithmetic circuits) are usually drawn like this in block diagrams inputs + output collections of parallel, related wires like this are known as buses; they carry multi-bit values between components out3-out0 17/05/2019 CMPUT 229

29 Arithmetic Computers need to do more than just addition
logic: & | ~ << >> Need a circuit that can select operation to perform 17/05/2019 CMPUT 229

30 Multiplexer (Mux) A B A B S S C C 17/05/2019 CMPUT 229

31 Arithmetic Logic Unit (ALU)
B more operations here . . . op 0 op 1 op 2 op 3 + * & << Multiplexer: a combinatorial circuit which selects exactly one input MUX 1 2 3 .. op op selects operation: 0 = add, 1 = multiply, ... out 17/05/2019 CMPUT 229

32 Arithmetic Logic Unit (ALU)
B = 2 for example: compute 15 << 2 more operations here . . . op 0 op 1 op 2 op 3 + * & << other results also computed but ignored by multiplexer MUX 1 2 3 .. op = 3 out = 60 17/05/2019 CMPUT 229

33 How to design a logic circuit for a given truth table?
For each row in the truth table whose output value is 1, construct a logic expression of the conjunction of all input column values Form the disjunction of all conjunctive formulas obtained in step 1 Simplify the disjunction obtained from Step 2 Construct the logic circuit from the simplified logical expression in Step 3 17/05/2019 CMPUT 229

34 Memory Computers need memory for storage
Different kinds of memory distinguished by speed, size, cost and proximity to CPU main memory slowish, huge, cheap, far from CPU typical size 109 bits cache fast, medium-sized, expensive, near to CPU typical size 106 bits registers extremely fast, tiny, very expensive, located on CPU in MIPS (32 GPRs)×32 bits = 1024 bits 17/05/2019 CMPUT 229

35 Memory The smallest piece of memory is a single binary digit (bit)
can hold 0 or 1 only A one-bit memory is called a flip-flop or a data latch because its value can flip and flop between 0 and 1 because it can latch onto a data value and store it 17/05/2019 CMPUT 229

36 Flip-flop Flip-flop needs two operation modes Also need
write: store (memorize) a value read: load (recall) a previously stored value Also need data in for telling flip-flop what value to store (0 or 1) used only when writing data out for finding out what value flip-flop currently contains (0 or 1) used only when reading 17/05/2019 CMPUT 229

37 Flip-flop Flip-flop can be implemented with gates
Not combinatorial logic because current output may depend on previous state Example of sequential logic current output depends on inputs and prior output 17/05/2019 CMPUT 229

38 Flip-flop NOR gate: OR gate followed by NOT gate data in data out
read/write read/write control: 0 = read, 1 = write 17/05/2019 CMPUT 229

39 Flip-flop: writing Try changing data in to 0 and watch data out
1 1 1 1 1 1 data out = 1 1 when read/write = 1, data out = data in read/write = 1 (write) 17/05/2019 CMPUT 229

40 Flip-flop: reading data in = ? data out = 1 read/write = 0 (read)
when read/write = 0, no signals in box can change, data out holds value regardless of data in 1 ? ? 1 data out = 1 read/write = 0 (read) 17/05/2019 CMPUT 229

41 Flip-flops are often drawn like this in block diagrams
D = data in Q = data out Flip-flops are often drawn like this in block diagrams D Q CK CK is read/write (“clock” because this input is often connected to computer’s processor clock) 17/05/2019 CMPUT 229

42 Flip-flop using NAND Gates
17/05/2019 CMPUT 229

43 Flip-flop using NAND Gates
Data In Data Out read/write 17/05/2019 CMPUT 229

44 Memory Memory can store many bits independently
many flip-flops Need to identify which bit (flip-flop) to read or write Give each flip-flop a unique number (address) 17/05/2019 CMPUT 229

45 Memory Decoder: feeds input to selected output, 0 to all others DEC
data in D Q address 0 CK D Q data out address 1 rd/wr 1 CK 1 DEC MUX 2 2 3 D Q 3 ... address 2 ... CK D Q address address 3 CK . . . millions more flip-flops . . . 17/05/2019 CMPUT 229

46 Memory: writing Writing value 1 to flip-flop at address 2 DEC MUX 1
data in ? D Q 1 address 0 CK ? D Q data out address 1 rd/wr 1 CK 1 DEC MUX 2 2 1 3 1 D Q 3 ... 1 address 2 ... 1 CK ? D Q address address 3 CK 2 . . . millions more flip-flops . . . 17/05/2019 CMPUT 229

47 Memory: reading Reading value from flip-flop at address 2 DEC MUX 1 1
data in D Q address 0 CK D Q data out address 1 rd/wr 1 CK 1 DEC MUX 2 2 1 3 1 D Q 3 ... 1 address 2 ... CK D Q address address 3 CK 2 . . . millions more flip-flops . . . 17/05/2019 CMPUT 229

48 Memory Memory usually operates in terms of bytes (8 bits), not single bits Repeat memory circuit eight times connect each memory circuit to one of the eight lanes of the data bus reads and writes occur in parallel for each bit in byte 17/05/2019 CMPUT 229

49 Central Processing Unit (CPU)
Coordinates all computer’s components according to program being run Contains registers ALU program counter (PC) address of current instruction instruction register (IR) copy of current instruction control logic Runs programs using fetch-(decode)-execute cycle 17/05/2019 CMPUT 229

50 CPU out Registers Memory in Control logic rd/wr addr IR ALU PC
17/05/2019 CMPUT 229

51 Fetch-execute cycle: fetch
IR Registers out Stage 1 of fetch-execute cycle: instruction at address pointed to by PC is fetched into IR Memory in Control logic rd/wr addr ALU PC 17/05/2019 CMPUT 229

52 Fetch-execute cycle: decode
IR Registers out Memory Stage 2 of fetch-execute cycle: instruction (now in IR) is decoded by control logic to determine which operation to perform in Control logic rd/wr addr ALU PC 17/05/2019 CMPUT 229

53 Fetch-execute cycle: execute
IR Registers out Stage 3 of fetch-execute cycle: CPU performs the operation (for example, arithmetic on two registers) Memory in Control logic rd/wr addr ALU PC 17/05/2019 CMPUT 229

54 Fetch-execute cycle: update PC
IR Registers out Stage 4 of fetch-execute cycle: PC’s value is updated to point to the next instruction Memory in Control logic rd/wr addr ALU PC 17/05/2019 CMPUT 229


Download ppt "Digital Circuits and Logic"

Similar presentations


Ads by Google