# 211: Computer Architecture Summer 2016

Size: px
Start display at page:

Transcription

1 211: Computer Architecture Summer 2016 Liu Liu Topic: Storage Project3 Digital Logic

2 - Storage: Recap - Direct - Mapping - Fully Associated - 2-way Associated - Cache Friendly Code Rutgers University Liu Liu 2

3 - Storage: Today s Topic - Review: cache hit rate - Project3 - Digital Logic: - Review: cache hit rate - Project3 Rutgers University Liu Liu 3

4 Matrix Multiplication (ijk) /* ijk */ for (i=0; i<n; i++) { for (j=0; j<n; j++) { sum = 0.0; for (k=0; k<n; k++) sum += a[i][k] * b[k][j]; c[i][j] = sum; } } Inner loop: (*,j) (i,j) (i,*) A B C Row-wise Columnwise Fixed Misses per Inner Loop Iteration: A B C Rutgers University Liu Liu 4

5 /* ijk */ for (i=0; i<n; i++) { for (j=0; j<n; j++) { sum = 0.0; for (k=0; k<n; k++) sum += a[i][k] * b[k][j]; c[i][j] = sum; } } Matrix Multiplication (ijk) sum+=a[0][0] * b[0][0];//what data been loaded to cache? sum+=a[0][1] * b[1][0]; sum+=a[0][2] * b[2][0]; sum+=a[0][3] * b[3][0]; sum+=a[0][4] * b[4][0]; sum+=a[0][5] * b[5][0]; sum+=a[0][6] * b[6][0]; sum+=a[0][7] * b[7][0];//first K loop ends c[0][0] = sum; sum+=a[0][0] * b[0][1];//what data been loaded to cache? sum+=a[0][1] * b[1][1]; sum+=a[0][2] * b[2][1]; sum+=a[0][3] * b[3][1]; sum+=a[0][4] * b[4][1]; sum+=a[0][5] * b[5][1]; sum+=a[0][6] * b[6][1]; sum+=a[0][7] * b[7][1];//second K loop ends Inner loop: A B C Row-wise Rutgers University Liu Liu 5 (i,*) (*,j) Columnwise (i,j) Fixed

6 Matrix Multiplication (jik) /* jik */ for (j=0; j<n; j++) { for (i=0; i<n; i++) { sum = 0.0; for (k=0; k<n; k++) sum += a[i][k] * b[k][j]; c[i][j] = sum } } Inner loop: (*,j) (i,j) (i,*) A B C Misses per Inner Loop Iteration: Row-wise Columnwise Fixed A B C Rutgers University Liu Liu 6

7 /* jik */ for (j=0; j<n; j++) { for (i=0; i<n; i++) { sum = 0.0; for (k=0; k<n; k++) sum += a[i][k] * b[k][j]; c[i][j] = sum } } Matrix Multiplication (jik) sum+=a[0][0] * b[0][0];//what data been loaded to cache? sum+=a[0][1] * b[1][0]; sum+=a[0][2] * b[2][0]; sum+=a[0][3] * b[3][0]; sum+=a[0][4] * b[4][0]; sum+=a[0][5] * b[5][0]; sum+=a[0][6] * b[6][0]; sum+=a[0][7] * b[7][0];//first K loop ends c[0][0] = sum; sum+=a[1][0] * b[0][0];//what data been loaded to cache? sum+=a[1][1] * b[1][0]; sum+=a[1][2] * b[2][0]; sum+=a[1][3] * b[3][0]; sum+=a[1][4] * b[4][0]; sum+=a[1][5] * b[5][0]; sum+=a[1][6] * b[6][0]; sum+=a[1][7] * b[7][0];//second K loop ends Inner loop: A B C Row-wise Rutgers University Liu Liu 7 (i,*) (*,j) Columnwise (i,j) Fixed

8 Matrix Multiplication (kij) /* kij */ for (k=0; k<n; k++) { for (i=0; i<n; i++) { r = a[i][k]; for (j=0; j<n; j++) c[i][j] += r * b[k][j]; } } Inner loop: (i,k) (k,*) A B C (i,*) Fixed Row-wise Row-wise Misses per Inner Loop Iteration: A B C Rutgers University Liu Liu 8

9 /* kij */ for (k=0; k<n; k++) { for (i=0; i<n; i++) { r = a[i][k]; for (j=0; j<n; j++) c[i][j] += r * b[k][j]; } } Matrix Multiplication (kij) r = a[0][0]; c[0][0] += r * b[0][0]; //what data been loaded to cache? c[0][1] += r * b[0][1]; c[0][2] += r * b[0][2]; c[0][3] += r * b[0][3]; c[0][4] += r * b[0][4]; c[0][5] += r * b[0][5]; c[0][6] += r * b[0][6]; c[0][7] += r * b[0][7]; //end of first J loop r = a[1][0]; c[1][0] += r * b[0][0]; //what data been loaded to cache? c[1][1] += r * b[0][1]; c[1][2] += r * b[0][2]; c[1][3] += r * b[0][3]; c[1][4] += r * b[0][4]; c[1][5] += r * b[0][5]; c[1][6] += r * b[0][6]; c[1][7] += r * b[0][7]; //end of first J loop A B C Rutgers University Liu Liu 9 (i,k) Fixed Inner loop: (k,*) Row-wise Row-wise (i,*)

10 Matrix Multiplication (ikj) /* ikj */ for (i=0; i<n; i++) { for (k=0; k<n; k++) { r = a[i][k]; for (j=0; j<n; j++) c[i][j] += r * b[k][j]; } } Inner loop: (i,k) (k,*) A B C (i,*) Fixed Row-wise Row-wise Misses per Inner Loop Iteration: A B C Rutgers University Liu Liu 10

11 Matrix Multiplication (jki) /* jki */ for (j=0; j<n; j++) { for (k=0; k<n; k++) { r = b[k][j]; for (i=0; i<n; i++) c[i][j] += a[i][k] * r; } } Inner loop: (*,k) (*,j) (k,j) A B C Misses per Inner Loop Iteration: A B C Column - wise Fixed Columnwise Rutgers University Liu Liu 11

12 Matrix Multiplication (jki) /* jki */ for (j=0; j<n; j++) { for (k=0; k<n; k++) { r = b[k][j]; for (i=0; i<n; i++) c[i][j] += a[i][k] * r; } } Inner loop: (*,k) (*,j) (k,j) A B C Unroll the loop by yourself and check if correct? Column - wise Fixed Columnwise Rutgers University Liu Liu 12

13 Improving Temporal Locality by Blocking Example: Blocked matrix multiplication block (in this context) does not mean cache block. Instead, it mean a sub-block within the matrix. Example: N = 8; sub-block size = 4 A 11 A 12 X B 11 B 12 = C 11 C 12 A 21 A 22 B 21 B 22 C 21 C 22 Key idea: Sub-blocks (i.e., A xy ) can be treated just like scalars. C 11 = A 11 B 11 + A 12 B 21 C 12 = A 11 B 12 + A 12 B 22 C 21 = A 21 B 11 + A 22 B 21 C 22 = A 21 B 12 + A 22 B 22 Rutgers University Liu Liu 13

14 Improving Temporal Locality by Blocking /* kij */ for (k=0; k<n; k++) { for (i=0; i<n; i++) { r = a[0][0]; r = a[0][0]; r = a[i][k]; c[0][0] += r * b[0][0]; c[0][0] += r * b[0][0]; for (j=0; j<n; j++) c[0][1] += r * b[0][1]; c[0][1] += r * b[0][1]; c[i][j] += r * b[k][j]; c[0][2] += r * b[0][2]; c[0][2] += r * b[0][2]; } c[0][3] += r * b[0][3]; c[0][3] += r * b[0][3]; } c[0][4] += r * b[0][4]; r = a[1][0]; c[0][5] += r * b[0][5]; c[1][0] += r * b[0][0]; c[0][6] += r * b[0][6]; c[1][1] += r * b[0][1]; c[0][7] += r * b[0][7]; c[1][2] += r * b[0][2]; A 11 A 12 B 11 B 12 C 11 C 12 r = a[1][0]; c[1][3] += r * b[0][3]; c[1][0] += r * b[0][0]; r = a[2][0]; X = A c[1][1] += r * b[0][1]; 21 A 22 B 21 B 22 C 21 C 22 c[1][2] += r * b[0][2]; r = a[3][0]; c[1][3] += r * b[0][3]; c[1][4] += r * b[0][4]; r = a[0][1]; c[1][5] += r * b[0][5]; c[0][0] += r * b[1][0]; C 11 = A 11 B 11 + A 12 B 21 c[1][6] += r * b[0][6]; c[1][7] += r * b[0][7]; r = a[2][0];.. r = a[7][0];.. r = a[0][1]; c[0][0] += r * b[1][0]; Rutgers University Liu Liu 14 Example: N = 8; sub-block size = 4

15 Improving Temporal Locality by Blocking /* kij */ for (k=0; k<n; k++) { for (i=0; i<n; i++) { r = a[0][0]; r = a[0][0]; r = a[i][k]; c[0][0] += r * b[0][0]; c[0][0] += r * b[0][0]; for (j=0; j<n; j++) c[0][1] += r * b[0][1]; c[0][1] += r * b[0][1]; c[i][j] += r * b[k][j]; c[0][2] += r * b[0][2]; c[0][2] += r * b[0][2]; } c[0][3] += r * b[0][3]; c[0][3] += r * b[0][3]; } c[0][4] += r * b[0][4]; r = a[1][0]; c[0][5] += r * b[0][5]; c[1][0] += r * b[0][0]; c[0][6] += r * b[0][6]; c[1][1] += r * b[0][1]; c[0][7] += r * b[0][7]; c[1][2] += r * b[0][2]; A 11 A 12 B 11 B 12 C 11 C 12 r = a[1][0]; c[1][3] += r * b[0][3]; c[1][0] += r * b[0][0]; r = a[2][0]; X = A c[1][1] += r * b[0][1]; 21 A 22 B 21 B 22 C 21 C 22 c[1][2] += r * b[0][2]; r = a[3][0]; c[1][3] += r * b[0][3]; c[1][4] += r * b[0][4]; r = a[0][1]; c[1][5] += r * b[0][5]; c[0][0] += r * b[1][0]; C 11 = A 11 B 11 + A 12 B 21 c[1][6] += r * b[0][6]; c[1][7] += r * b[0][7]; r = a[2][0];.. r = a[7][0];.. r = a[0][1]; c[0][0] += r * b[1][0]; Rutgers University Liu Liu 15 Example: N = 8; sub-block size = 4

16 Digital Logic Rutgers University Liu Liu

17 Transistor: Building Block of Computers Microprocessors contain millions (billions) of transistors Intel Pentium 4 (2000): 48 million IBM PowerPC 750FX (2002): 38 million IBM/Apple PowerPC G5 (2003): 58 million Logically, each transistor acts as a switch Combined to implement logic functions AND, OR, NOT Combined to build higher-level structures Adder, multiplexer, decoder, register, Combined to build processor Rutgers University Liu Liu 17

18 Simple Switch Circuit Switch open: No current through circuit Light is off V out is +2.9V Switch closed: Current flows Light is on V out is 0V Switch-based circuits can easily represent two states: on/off, open/closed, voltage/no voltage. Rutgers University Liu Liu 18

19 n-type MOS Transistor MOS = Metal Oxide Semiconductor n-type two types: n-type and p-type when Gate has positive voltage, short circuit between #1 and #2 when Gate has zero voltage, open circuit between #1 and #2 Gate = 1 Gate = 0 Rutgers University Liu Liu 19

20 p-type MOS Transistor p-type is complementary to n-type when Gate has positive voltage, open circuit between #1 and #2 when Gate has zero voltage, short circuit between #1 and #2 Gate = 1 Gate = 0 Rutgers University Liu Liu 20

21 Logic Gates Use transistors to implement logical functions: AND, OR, NOT Digital symbols: recall that we assign a range of analog voltages to each digital (logic) symbol assignment of voltage ranges depends on electrical properties of transistors being used typical values for "1": +5V, +3.3V, +2.9V from now on we'll use +2.9V Rutgers University Liu Liu 21

22 Complementary MOS CMOS Circuit Uses both n-type and p-type MOS transistors p-type Attached to + voltage Pulls output voltage UP when input is zero n-type Attached to GND Pulls output voltage DOWN when input is one MOS transistors are combined to form Logic Gates For all inputs, make sure that output is either connected to GND or to +, but not both! Rutgers University Liu Liu 22

23 Inverter (NOT Gate) Truth table In Out 0 V 2.9 V 2.9 V 0 V In Out Rutgers University Liu Liu 23

24 NOR Gate A B C Note: Serial structure on top, parallel on bottom Rutgers University Liu Liu 24

25 OR Gate A B C Add inverter to NOR. Rutgers University Liu Liu 25

26 NAND Gate (AND-NOT) A B C Note: Parallel structure on top, serial on bottom Rutgers University Liu Liu 26

27 AND Gate A B C Add inverter to NAND. Rutgers University Liu Liu 27

28 Basic Logic Gates Symbols Rutgers University Liu Liu 28

29 Logical Completeness Can implement ANY truth table with AND, OR, NOT. A B C D AND combinations that yield a "1" in the truth table OR the results of the AND gates Rutgers University Liu Liu 29

30 NAND, NOR universality NAND, NOR universal because they can realize AND, OR, NOT Rutgers University Liu Liu 30

31 NAND and NOR Functional Completeness Any gate can be implemented using either NOR or NAND gates. Why is this important? When building a chip, easier to build one with all of the same gates. Rutgers University Liu Liu 31

32 DeMorgan's Law Converting AND to OR (with some help from NOT) Consider the following gate: A B A B A B A B To convert AND to OR (or vice versa), invert inputs and output. Generally, DeMorgan s Laws: 1. PQ = P + Q 2. P + Q = P Q Same as A+B! Rutgers University Liu Liu 32

33 More than 2 Inputs? AND/OR can take any number of inputs. AND = 1 if all inputs are 1. OR = 1 if any input is 1. Similar for NAND/NOR. Can implement with multiple two-input gates or with single CMOS circuit. Rutgers University Liu Liu 33

34 n inputs, 2 n outputs Decoder(next lecture) exactly one output is 1 for each possible input pattern 2-bit decoder Rutgers University Liu Liu 34

35 Multiplexer (MUX)(next lecture) n-bit selector and 2 n inputs, one output output equals one of the inputs, depending on selector 4-to-1 MUX Rutgers University Liu Liu 35

36 Full Adder(next lecture) Add two bits and carry-in, produce one-bit sum and carry-out. A B C in S C ou t Rutgers University Liu Liu 36

37 Four-bit Adder(next lecture) Rutgers University Liu Liu 37

38 Circuit Design Have a good idea. What kind of circuit might be useful? Derive a truth table for this circuit Derive a Boolean expression for the truth table Build a circuit given the Boolean expression Building the circuit involves mapping the Boolean expression to actual gates. This part is easy. Deriving the Boolean expression is easy. Deriving a good one is tricky. Rutgers University Liu Liu 38

39 Converting Truth Table to Boolean Expression Given a circuit, isolate the rows in which the output of the circuit should be true Rutgers University Liu Liu 39

40 Converting Truth Table to Boolean Expression Given a circuit, isolate that rows in which the output of the circuit should be true A product term that contains exactly one instance of every variable is called a minterm Rutgers University Liu Liu 40

41 Converting Truth Table to Boolean Expression Given the expressions for each row, build a larger Boolean expression for the entire table. This is a sum-of-products (SOP) form. Rutgers University Liu Liu 41

42 Converting Truth Table to Boolean Expression Finally build the circuit. Problem: SOP forms are often not minimal. Solution: Make it minimal. We ll go over two ways. Rutgers University Liu Liu 42

43 Boolean Identities Rutgers University Liu Liu 43

44 Boolean Algebra Example Rutgers University Liu Liu 44

45 Boolean Algebra Example 2 Find the complement of F Rutgers University Liu Liu 45

46 Using DeMorgan s Laws to Complement 1. To big bar over AND and OR of 2 or more functions 2. Replace AND with OR, OR with AND 3. 1 with 0, 0 with 1 4. F with not(f), not(f) with F Rutgers University Liu Liu 46

47 First Approach: Algebraic Simply use the rules of Boolean logic Rutgers University Liu Liu 47

48 The Result Rutgers University Liu Liu 48

49 Karnaugh Maps or K-Maps K-maps are a graphical technique to view minterms and how they relate. The map is a diagram made up of squares, with each square representing a single minterm. Minterms resulting in a 1 are marked as 1, all others are marked 0 Rutgers University Liu Liu 49

50 2 Variable K-Map Rutgers University Liu Liu 30 50

51 2 Variable K-Map Rutgers University Liu Liu 31 51

52 2 Variable K-Map Rutgers University Liu Liu 32 52

53 Finding Commonality Rutgers University Liu Liu 33 53

54 Finding the best solution Grouping become simplified products. Both are correct. A+B is preferred. Rutgers University Liu Liu 34 54

55 Simplify Example Rutgers University Liu Liu 35 55

56 Simplify Example Rutgers University Liu Liu 36 56

57 3 Variable K-Maps C Note in higher maps, several variables occupy a given axis The sequence of 1s and 0s follow a Gray Code Sequence. (WHY?) B Rutgers University Liu Liu 57

58 3 Variable K-Maps Rutgers University Liu Liu 58

59 3 Variable K-Maps C B Rutgers University Liu Liu 59

60 3 Variable K-Maps Rutgers University Liu Liu 60

61 3 Variable K-Maps Rutgers University Liu Liu 61

62 3 Variable K-Maps Rutgers University Liu Liu 62

63 Back to our earlier example.. The K-map and the algebraic produce the same result. Rutgers University Liu Liu 43 63

64 Up up and let s keep going D A B C Rutgers University Liu Liu 64

65 D Few more examples B A C Rutgers University Liu Liu 65

66 Few more examples D A B C Rutgers University Liu Liu 66

### 211: Computer Architecture Summer 2016

211: Computer Architecture Summer 2016 Liu Liu Topic: Assembly Programming Storage - Assembly Programming: Recap - Call-chain - Factorial - Storage: - RAM - Caching - Direct - Mapping Rutgers University

### Memory Hierarchy. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Memory Hierarchy Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Time (ns) The CPU-Memory Gap The gap widens between DRAM, disk, and CPU speeds

### Cache memories are small, fast SRAM based memories managed automatically in hardware.

Cache Memories Cache memories are small, fast SRAM based memories managed automatically in hardware. Hold frequently accessed blocks of main memory CPU looks first for data in caches (e.g., L1, L2, and

### QUESTION BANK FOR TEST

CSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK FOR TEST 1 Note: This represents a sample set. Please study all the topics from the lecture notes. Question 1. Multiple Choice

### Cache Memories. Topics. Next time. Generic cache memory organization Direct mapped caches Set associative caches Impact of caches on performance

Cache Memories Topics Generic cache memory organization Direct mapped caches Set associative caches Impact of caches on performance Next time Dynamic memory allocation and memory bugs Fabián E. Bustamante,

### Systems I. Optimizing for the Memory Hierarchy. Topics Impact of caches on performance Memory hierarchy considerations

Systems I Optimizing for the Memory Hierarchy Topics Impact of caches on performance Memory hierarchy considerations Cache Performance Metrics Miss Rate Fraction of memory references not found in cache

### Today Cache memory organization and operation Performance impact of caches

Cache Memories 1 Today Cache memory organization and operation Performance impact of caches The memory mountain Rearranging loops to improve spatial locality Using blocking to improve temporal locality

### The course that gives CMU its Zip! Memory System Performance. March 22, 2001

15-213 The course that gives CMU its Zip! Memory System Performance March 22, 2001 Topics Impact of cache parameters Impact of memory reference patterns memory mountain range matrix multiply Basic Cache

### CISC 360. Cache Memories Nov 25, 2008

CISC 36 Topics Cache Memories Nov 25, 28 Generic cache memory organization Direct mapped caches Set associative caches Impact of caches on performance Cache Memories Cache memories are small, fast SRAM-based

### Giving credit where credit is due

CSCE 23J Computer Organization Cache Memories Dr. Steve Goddard goddard@cse.unl.edu http://cse.unl.edu/~goddard/courses/csce23j Giving credit where credit is due Most of slides for this lecture are based

### CSCI 402: Computer Architectures. Performance of Multilevel Cache

CSCI 402: Computer Architectures Memory Hierarchy (5) Fengguang Song Department of Computer & Information Science IUPUI Performance of Multilevel Cache Main Memory CPU L1 cache L2 cache Given CPU base

### Cache Memories. EL2010 Organisasi dan Arsitektur Sistem Komputer Sekolah Teknik Elektro dan Informatika ITB 2010

Cache Memories EL21 Organisasi dan Arsitektur Sistem Komputer Sekolah Teknik Elektro dan Informatika ITB 21 Topics Generic cache memory organization Direct mapped caches Set associative caches Impact of

### High-Performance Parallel Computing

High-Performance Parallel Computing P. (Saday) Sadayappan Rupesh Nasre Course Overview Emphasis on algorithm development and programming issues for high performance No assumed background in computer architecture;

### Cache Memories October 8, 2007

15-213 Topics Cache Memories October 8, 27 Generic cache memory organization Direct mapped caches Set associative caches Impact of caches on performance The memory mountain class12.ppt Cache Memories Cache

### Memory Hierarchy. Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3. Instructor: Joanna Klukowska

Memory Hierarchy Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3 Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU) Mohamed Zahran (NYU)

### Lecture (05) Boolean Algebra and Logic Gates

Lecture (05) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee ١ Minterms and Maxterms consider two binary variables x and y combined with an AND operation. Since eachv ariable may appear in either

### Last class. Caches. Direct mapped

Memory Hierarchy II Last class Caches Direct mapped E=1 (One cache line per set) Each main memory address can be placed in exactly one place in the cache Conflict misses if two addresses map to same place

### Agenda Cache memory organization and operation Chapter 6 Performance impact of caches Cache Memories

Agenda Chapter 6 Cache Memories Cache memory organization and operation Performance impact of caches The memory mountain Rearranging loops to improve spatial locality Using blocking to improve temporal

### Memory Hierarchy. Cache Memory Organization and Access. General Cache Concept. Example Memory Hierarchy Smaller, faster,

Memory Hierarchy Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3 Cache Memory Organization and Access Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O

### CSCI-UA.0201 Computer Systems Organization Memory Hierarchy

CSCI-UA.0201 Computer Systems Organization Memory Hierarchy Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Programmer s Wish List Memory Private Infinitely large Infinitely fast Non-volatile

### Combinational Circuits Digital Logic (Materials taken primarily from:

Combinational Circuits Digital Logic (Materials taken primarily from: http://www.facstaff.bucknell.edu/mastascu/elessonshtml/eeindex.html http://www.cs.princeton.edu/~cos126 ) Digital Systems What is a

### Today. Cache Memories. General Cache Concept. General Cache Organization (S, E, B) Cache Memories. Example Memory Hierarchy Smaller, faster,

Today Cache Memories CSci 2021: Machine Architecture and Organization November 7th-9th, 2016 Your instructor: Stephen McCamant Cache memory organization and operation Performance impact of caches The memory

### Cache Memories /18-213/15-513: Introduction to Computer Systems 12 th Lecture, October 5, Today s Instructor: Phil Gibbons

Cache Memories 15-213/18-213/15-513: Introduction to Computer Systems 12 th Lecture, October 5, 2017 Today s Instructor: Phil Gibbons 1 Today Cache memory organization and operation Performance impact

### Cache Memories. Cache Memories Oct. 10, Inserting an L1 Cache Between the CPU and Main Memory. General Org of a Cache Memory

5-23 The course that gies CMU its Zip! Topics Cache Memories Oct., 22! Generic cache memory organization! Direct mapped caches! Set associatie caches! Impact of caches on performance Cache Memories Cache

### Cache memories The course that gives CMU its Zip! Cache Memories Oct 11, General organization of a cache memory

5-23 The course that gies CMU its Zip! Cache Memories Oct, 2 Topics Generic cache memory organization Direct mapped caches Set associatie caches Impact of caches on performance Cache memories Cache memories

### ν Hold frequently accessed blocks of main memory 2 CISC 360, Fa09 Cache is an array of sets. Each set contains one or more lines.

Topics CISC 36 Cache Memories Dec, 29 ν Generic cache memory organization ν Direct mapped caches ν Set associatie caches ν Impact of caches on performance Cache Memories Cache memories are small, fast

### Cache Memories. Lecture, Oct. 30, Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition

Cache Memories Lecture, Oct. 30, 2018 1 General Cache Concept Cache 84 9 14 10 3 Smaller, faster, more expensive memory caches a subset of the blocks 10 4 Data is copied in block-sized transfer units Memory

### 1. Mark the correct statement(s)

1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another

### ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter

### Review: Standard forms of expressions

Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and NOT. These operations can be combined to form complex expressions, which can

### Boolean Logic CS.352.F12

Boolean Logic CS.352.F12 Boolean Algebra Boolean Algebra Mathematical system used to manipulate logic equations. Boolean: deals with binary values (True/False, yes/no, on/off, 1/0) Algebra: set of operations

### DIGITAL CIRCUIT LOGIC UNIT 7: MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES

DIGITAL CIRCUIT LOGIC UNIT 7: MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES 1 iclicker Question 13 Considering the K-Map, f can be simplified as (2 minutes): A) f = b c + a b c B) f = ab d + a b d AB CD

### Boolean Algebra and Logic Gates

Boolean Algebra and Logic Gates Binary logic is used in all of today's digital computers and devices Cost of the circuits is an important factor Finding simpler and cheaper but equivalent circuits can

### Experiment 4 Boolean Functions Implementation

Experiment 4 Boolean Functions Implementation Introduction: Generally you will find that the basic logic functions AND, OR, NAND, NOR, and NOT are not sufficient to implement complex digital logic functions.

### LECTURE 4. Logic Design

LECTURE 4 Logic Design LOGIC DESIGN The language of the machine is binary that is, sequences of 1 s and 0 s. But why? At the hardware level, computers are streams of signals. These signals only have two

### Boolean Algebra. BME208 Logic Circuits Yalçın İŞLER

Boolean Algebra BME28 Logic Circuits Yalçın İŞLER islerya@yahoo.com http://me.islerya.com 5 Boolean Algebra /2 A set of elements B There exist at least two elements x, y B s. t. x y Binary operators: +

### Carnegie Mellon. Cache Memories

Cache Memories Thanks to Randal E. Bryant and David R. O Hallaron from CMU Reading Assignment: Computer Systems: A Programmer s Perspec4ve, Third Edi4on, Chapter 6 1 Today Cache memory organiza7on and

### Simplification of Boolean Functions

Simplification of Boolean Functions Contents: Why simplification? The Map Method Two, Three, Four and Five variable Maps. Simplification of two, three, four and five variable Boolean function by Map method.

### Standard Forms of Expression. Minterms and Maxterms

Standard Forms of Expression Minterms and Maxterms Standard forms of expressions We can write expressions in many ways, but some ways are more useful than others A sum of products (SOP) expression contains:

### Chapter 2. Boolean Expressions:

Chapter 2 Boolean Expressions: A Boolean expression or a function is an expression which consists of binary variables joined by the Boolean connectives AND and OR along with NOT operation. Any Boolean

### 9/10/2016. The Dual Form Swaps 0/1 and AND/OR. ECE 120: Introduction to Computing. Every Boolean Expression Has a Dual Form

University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Boolean Properties and Optimization The Dual Form Swaps 0/1 and AND/OR Boolean

### ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

### Cache Memories. Andrew Case. Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron

Cache Memories Andrew Case Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron 1 Topics Cache memory organiza3on and opera3on Performance impact of caches 2 Cache Memories Cache memories are

### Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER

Gate-Level Minimization BME28 Logic Circuits Yalçın İŞLER islerya@yahoo.com http://me.islerya.com Complexity of Digital Circuits Directly related to the complexity of the algebraic expression we use to

### Department of Electrical Engineering McGill University ECSE 221 Introduction to Computer Engineering Assignment 2 Combinational Logic

Department of Electrical Engineering McGill University ECSE 221 Introduction to Computer Engineering Assignment 2 Combinational Logic Question 1: Due October 19 th, 2009 A convenient shorthand for specifying

### Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions 1. Convert the following SOP expression to an equivalent POS expression. 2. Determine the values of A, B, C, and D that make

### Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Announcements PS8 Due today PS9 Due July 22 Sound Lab tonight bring machines and headphones! Binary Search Today Review of binary floating point notation

### Memory Hierarchy. Announcement. Computer system model. Reference

Announcement Memory Hierarchy Computer Organization and Assembly Languages Yung-Yu Chuang 26//5 Grade for hw#4 is online Please DO submit homework if you haen t Please sign up a demo time on /6 or /7 at

### Denison University. Cache Memories. CS-281: Introduction to Computer Systems. Instructor: Thomas C. Bressoud

Cache Memories CS-281: Introduction to Computer Systems Instructor: Thomas C. Bressoud 1 Random-Access Memory (RAM) Key features RAM is traditionally packaged as a chip. Basic storage unit is normally

### Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Logic Design First Stage Lecture No.6 Boolean Algebra Bawar Abid Abdalla Assistant Lecturer Software Engineering Department Koya University Outlines Boolean Operations Laws of Boolean Algebra Rules of

### Example. How are these parameters decided?

Example How are these parameters decided? Comparing cache organizations Like many architectural features, caches are evaluated experimentally. As always, performance depends on the actual instruction mix,

### Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 1 Digital vs Analog Digital signals are binary; analog

### Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Announcements Today: PS 7 Lab 8: Sound Lab tonight bring machines and headphones! PA 7 Tomorrow: Lab 9 Friday: PS8 Today (Short) Floating point review Boolean

### Combinational Circuits

Combinational Circuits Q. What is a combinational circuit? A. Digital: signals are or. A. No feedback: no loops. analog circuits: signals vary continuously sequential circuits: loops allowed (stay tuned)

### 6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1.

Digital Circuits 6 Combinational Circuits Q What is a digital system? A Digital: signals are or analog: signals vary continuously Q Why digital systems? A Accurate, reliable, fast, cheap Basic abstractions

### Carnegie Mellon. Cache Memories. Computer Architecture. Instructor: Norbert Lu1enberger. based on the book by Randy Bryant and Dave O Hallaron

Cache Memories Computer Architecture Instructor: Norbert Lu1enberger based on the book by Randy Bryant and Dave O Hallaron 1 Today Cache memory organiza7on and opera7on Performance impact of caches The

### Objectives: 1. Design procedure. 2. Fundamental circuits. 1. Design procedure

Objectives: 1. Design procedure. 2. undamental circuits. 1. Design procedure Design procedure has five steps: o Specification. o ormulation. o Optimization. o Technology mapping. o Verification. Specification:

### CS8803: Advanced Digital Design for Embedded Hardware

CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

### IT 201 Digital System Design Module II Notes

IT 201 Digital System Design Module II Notes BOOLEAN OPERATIONS AND EXPRESSIONS Variable, complement, and literal are terms used in Boolean algebra. A variable is a symbol used to represent a logical quantity.

### Boolean Analysis of Logic Circuits

Course: B.Sc. Applied Physical Science (Computer Science) Year & Sem.: IInd Year, Sem - IIIrd Subject: Computer Science Paper No.: IX Paper Title: Computer System Architecture Lecture No.: 7 Lecture Title:

### 2/8/2017. SOP Form Gives Good Performance. ECE 120: Introduction to Computing. K-Maps Can Identify Single-Gate Functions

University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Two-Level Logic SOP Form Gives Good Performance s you know, one can use a K-map

### Cache Memories : Introduc on to Computer Systems 12 th Lecture, October 6th, Instructor: Randy Bryant.

Cache Memories 15-213: Introduc on to Computer Systems 12 th Lecture, October 6th, 2016 Instructor: Randy Bryant 1 Today Cache memory organiza on and opera on Performance impact of caches The memory mountain

### CS470: Computer Architecture. AMD Quad Core

CS470: Computer Architecture Yashwant K. Malaiya, Professor malaiya@cs.colostate.edu AMD Quad Core 1 Architecture Layers Building blocks Gates, flip-flops Functional bocks: Combinational, Sequential Instruction

### Combinational Logic Worksheet

Combinational Logic Worksheet Concept Inventory: Truth tables sum-of-products equations implementation using NOT/AND/OR Demorgan s Law, implementation using NAND/NOR Simplification, truth tables w/ don

### Menu. Algebraic Simplification - Boolean Algebra EEL3701 EEL3701. MSOP, MPOS, Simplification

Menu Minterms & Maxterms SOP & POS MSOP & MPOS Simplification using the theorems/laws/axioms Look into my... 1 Definitions (Review) Algebraic Simplification - Boolean Algebra Minterms (written as m i ):

### Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 3 Additional Gates and Circuits

Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 3 Additional Gates and Circuits Charles Kime & Thomas Kaminski 28 Pearson Education, Inc. (Hyperlinks are active in View

### CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

CONTENTS Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii) CHAPTER 1: NUMBER SYSTEM 1.1 Digital Electronics... 1 1.1.1 Introduction... 1 1.1.2 Advantages of Digital Systems...

### Chap-2 Boolean Algebra

Chap-2 Boolean Algebra Contents: My name Outline: My position, contact Basic information theorem and postulate of Boolean Algebra. or project description Boolean Algebra. Canonical and Standard form. Digital

### Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Logic Design First Stage Lecture No.5 Boolean Algebra Bawar Abid Abdalla Assistant Lecturer Software Engineering Department Koya University Boolean Operations Laws of Boolean Algebra Rules of Boolean Algebra

### Chapter 2. Boolean Algebra and Logic Gates

Chapter 2. Boolean Algebra and Logic Gates Tong In Oh 1 Basic Definitions 2 3 2.3 Axiomatic Definition of Boolean Algebra Boolean algebra: Algebraic structure defined by a set of elements, B, together

### Computer Organization

Computer Organization (Logic circuits design and minimization) KR Chowdhary Professor & Head Email: kr.chowdhary@gmail.com webpage: krchowdhary.com Department of Computer Science and Engineering MBM Engineering

### END-TERM EXAMINATION

(Please Write your Exam Roll No. immediately) END-TERM EXAMINATION DECEMBER 2006 Exam. Roll No... Exam Series code: 100919DEC06200963 Paper Code: MCA-103 Subject: Digital Electronics Time: 3 Hours Maximum

### Boolean algebra. June 17, Howard Huang 1

Boolean algebra Yesterday we talked about how analog voltages can represent the logical values true and false. We introduced the basic Boolean operations AND, OR and NOT, which can be implemented in hardware

### CprE 281: Digital Logic

CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Minimization CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative

### Logic Design (Part 2) Combinational Logic Circuits (Chapter 3)

Digital Logic Circuits Logic Design (Part ) Combinational Logic Circuits (Chapter 3) ² We saw how we can build the simple logic gates using transistors ² Use these gates as building blocks to build more

### Chapter 3. Boolean Algebra and Digital Logic

Chapter 3 Boolean Algebra and Digital Logic Chapter 3 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple logic circuits. Understand how

### COMP combinational logic 1 Jan. 18, 2016

In lectures 1 and 2, we looked at representations of numbers. For the case of integers, we saw that we could perform addition of two numbers using a binary representation and using the same algorithm that

### S1 Teknik Telekomunikasi Fakultas Teknik Elektro FEH2H3 2016/2017

S1 Teknik Telekomunikasi Fakultas Teknik Elektro FEH2H3 2016/2017 Karnaugh Map Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and

### COMBINATIONAL LOGIC CIRCUITS

COMBINATIONAL LOGIC CIRCUITS 4.1 INTRODUCTION The digital system consists of two types of circuits, namely: (i) Combinational circuits and (ii) Sequential circuits A combinational circuit consists of logic

### 3. The high voltage level of a digital signal in positive logic is : a) 1 b) 0 c) either 1 or 0

1. The number of level in a digital signal is: a) one b) two c) four d) ten 2. A pure sine wave is : a) a digital signal b) analog signal c) can be digital or analog signal d) neither digital nor analog

### Systems Programming. Lecture 2 Review of Computer Architecture I

Systems Programming www.atomicrhubarb.com/systems Lecture 2 Review of Computer Architecture I In The Book Patt & Patel Chapter 1,2,3 (review) Outline Binary Bit Numbering Logical operations 2's complement

### 2.6 BOOLEAN FUNCTIONS

2.6 BOOLEAN FUNCTIONS Binary variables have two values, either 0 or 1. A Boolean function is an expression formed with binary variables, the two binary operators AND and OR, one unary operator NOT, parentheses

### LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

LSN 4 Boolean Algebra & Logic Simplification Department of Engineering Technology LSN 4 Key Terms Variable: a symbol used to represent a logic quantity Compliment: the inverse of a variable Literal: a

### DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES 1 Learning Objectives 1. Explain the function of a multiplexer. Implement a multiplexer using gates. 2. Explain the

### BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

BUILDING BLOCKS OF A BASIC MICROPROCESSOR Part PowerPoint Format of Lecture 3 of Book Decoder Tri-state device Full adder, full subtractor Arithmetic Logic Unit (ALU) Memories Example showing how to write

### Propositional Calculus. Math Foundations of Computer Science

Propositional Calculus Math Foundations of Computer Science Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they can use it to

### B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

B.Tech II Year I Semester () Regular Examinations December 2014 (Common to IT and CSE) (a) If 1010 2 + 10 2 = X 10, then X is ----- Write the first 9 decimal digits in base 3. (c) What is meant by don

### E40M. Binary Numbers, Codes. M. Horowitz, J. Plummer, R. Howe 1

E40M Binary Numbers, Codes M. Horowitz, J. Plummer, R. Howe 1 Reading Chapter 5 in the reader A&L 5.6 M. Horowitz, J. Plummer, R. Howe 2 Useless Box Lab Project #2 Adding a computer to the Useless Box

### ENGIN 112 Intro to Electrical and Computer Engineering

ENGIN 2 Intro to Electrical and Computer Engineering Lecture 8 Minimization with Karnaugh Maps Overview K-maps: an alternate approach to representing oolean functions K-map representation can be used to

### Austin Herring Recitation 002 ECE 200 Project December 4, 2013

1. Fastest Circuit a. How Design Was Obtained The first step of creating the design was to derive the expressions for S and C out from the given truth tables. This was done using Karnaugh maps. The Karnaugh

### Gate Level Minimization Map Method

Gate Level Minimization Map Method Complexity of hardware implementation is directly related to the complexity of the algebraic expression Truth table representation of a function is unique Algebraically

### CS 261 Fall Mike Lam, Professor. Combinational Circuits

CS 261 Fall 2017 Mike Lam, Professor Combinational Circuits The final frontier Java programs running on Java VM C programs compiled on Linux Assembly / machine code on CPU + memory??? Switches and electric

### Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map

Points Addressed in this Lecture Lecture 4: Logic Simplication & Karnaugh Map Professor Peter Cheung Department of EEE, Imperial College London Standard form of Boolean Expressions Sum-of-Products (SOP),

### Objectives: 1- Bolean Algebra. Eng. Ayman Metwali

Objectives: Chapter 3 : 1- Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions 2- Logic gates 3- Digital Components 4-

### Digital Logic Lecture 7 Gate Level Minimization

Digital Logic Lecture 7 Gate Level Minimization By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Outline Introduction. K-map principles. Simplification using K-maps. Don t-care

### Lecture 12. Memory Design & Caches, part 2. Christos Kozyrakis Stanford University

Lecture 12 Memory Design & Caches, part 2 Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee108b 1 Announcements HW3 is due today PA2 is available on-line today Part 1 is due on 2/27

### Chapter 2 Logic Gates and Introduction to Computer Architecture

Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are