Functional Testing of Modern Microprocessors

Size: px
Start display at page:

Download "Functional Testing of Modern Microprocessors"

Transcription

1 Functional Testing of Modern Microprocessors Th.J.W. Verhallen and A.J. van de Goor Delft University of Technology, Department of Electrical Engineering P.O. Box GA Delft, The Netherlands Abstract: In the early 1980's a method has been developed [l], [2] and [3] for functional testing microprocessors. Modern microprocessors have a functionality, such as on-chip caches, which is not cowed by $he model of [I-j]. lhis paper atemis that functional model and proposes fault models together with tests for such modern microprocessors. The proposed concepts and algorithms have been applied to the lntel i860" and can be found in [4J. 1: Introduction. Due to the capabilities of current VLSI technology, many functions of a microprocessor system, such as memory management, caching and floating-point operations, are integrated together with the CPU. This makes them less accessible such that classical test methods for chips containing the individual functions cannot be used [5-6]. In addition, usually only a functional description is available via the Programmers Reference Manual such that a functional test has to be performed. Because the microprocessor is usually integrated with other hardware to form a product, it is desirable to design the test in such a way that it can be performed as a self-test while the processor is part of its normal, product environment. This paper is organized as follows: paragraph 2 reviews the current literature on testing microprocessors; paragraph 3 presents the developed functional and fault models for modem microprocessors, and paragraph 4 gives the general form of the algorithms to be used. 2: Functional testing of microprocessors. 2.1: The GTAFL (Graph Theoretical Approach at the Functional Level) method. In various publications [l-31 a functional test for microprocessors, solemnly based on the instruction set, is presented and summarized below: - ste~ 1: Divide the instruction set of the processor into three classes: the 'Transfer Class', the 'Manipulation Class' and the 'Branch Class'. - steo 2: Via a graph method the microprocessor is represented by a system graph in which (groups of) registers are modeled as nodes, together with a self created IN and OUT node to represent the world outside the microprocessor; the instructions are modeled as the directed edges between these nodes. - stem 3: The microprocessor is divided into five functional units associated with their fault models: the Register Decoding Function, the Instruction Sequencing and Control Function, the Data Storage Function, the Data Transfer Function and the Data Manipulation Function, all together with their specific fault model. 2.2: Other published methods for functional testing mkroprocessors. In other publications related to functional testing of microprocessors, the presented methods are either too strongly coupled with a specific hardware item [7], or the used fault model is that of paragraph 2.1 whereby the test method has been modifid (see [8] which uses pseudo random testing); alternatively, the presented models and tests are too global (91 for being USBd for a modem microprocessor. 2.3: Functional testing of special function units. The functional tests for special chips, such as Memory Management Units [5] and Floating-Point Units [6] are not usable for testing the on-chip versions of these function units: (1) the tests have been designed to test the chip in isolation (rather than embedded in its sumunding logic); (2) usually a combination of functional and structural testing techniques are used, and (3) the equivalent on-chip function units suffer from poor controllability and observability. From the above it follows that the published methods for functional testing a microprocessor do not cover all functions of a modem microprocessor and/or are not suitable for a self-test, while the processor is embedded in its normal product environment. 3: Functional and fault models for modern micraprocessors. Because of the complexity of modem microprocessors and the fact that the current functional test methods do not cover the complete microprocessor, a modification $ IEEE 350

2 and extension of the test of [l-31 is presented. - SteD 1: Divide the microprocessor's functional blocks (as found in the manual) into two groups: the Execution Group consisting of Execution Units and the Support Group consisting of Support Units. An Execution Unit is defined as a unit which can perform a unique modification on data provided to that unit, with instructions only applicable to that particular unit. A Support Unit is defined as a unit which cannot perform data manipulation operations (data in the broadest sense: instructions, addresses and actual data) but helps the processor in accomplishing its task. These units accelerate the instruction execution process of the microprocessor. - m: Divide the instruction set into the groups defined by their related execution unit (as probably done in the manual). Then every group is divided into the three classes as described in paragraph 2.1, step 1. - steo 3: The microprocessor is represented by a graph using the definition of [l]. Support units, as defined in step l, are represented by special nodes called support nodes. The instructions (if any) which directly act on these support nodes are placed as directed edges, according to the graph method out of [I-31. Other instructions performing data transfers from the OUT or IN node in or out of the microprocessor to a register node are routed via the applicable support node to the applicable register node; they are also routed directly to the register node (normal graph method) if a software capability to turn off the support unit exists. - steo 4: For every Execution Unit, a division into the five functional units (step 3 of paragraph 2.1) with their related fault models and test algorithms is made and used to functionally test the Execution Units. To test the Support Units, the following strategy is used: 1. Divide a Support Unit into its functional blocks. 2. Group these functional blocks into the following classes: - the fetchhtore class, which contains all functional blocks that control a (stream of) data to be fetched from main memory for local storage in the support unit and vice versa. This class also includes the control logic when it is not contained in the other classes; - the memory class, which contains all the memory arrays of the support unit; - the look-up class, which contains all functional blocks that control a look-up of certain data in its local memory and provides this data to the requesting execution unit - Fault model for the support unit fetchlstore class: 1. the control logic for turning the support unit on and off (if available) is incorrect; 2. the control logic determining the need for sto- ringlfetching data is incorrect; 3. the addressldata bus lines for the support unit can be stuck-at or coupled. - Fault model for the SUDDO~~ unit memow class: I. stuck-at4 or stuck-at-1; 2. transition faults; 3. (linked) coupling faults; 4. address decoder faults. - Fault model for the SUDDO~~ unit look-ur, class: 1. incorrect selection of required data; 2. no selection of required data; 3. mom than one required 'data package' is selected; the resulting data is the logical AND or OR of the individual data packages. 4: Algorithms for functional testing a modern mimopassor. The algorithms to test modern microprocessors can be divided into two sets: (1) algorithms to test the execution units, these test can be found in [l-31; (2) algorithms to test the support units (as defined in step 4 of paragraph 3), which are the subject of this paragraph. They are divided into (for a complete description see [4]): a. the fetchlstore class algorithms, which are the same for all units. b. the memory class algorithms, which are unique for each support unit; an algorithm for a data cache, an instruction cache and a memory management support unit is presented below. c. the look-up class algorithms, which are the same for all units. 4.1: Testing the fe &store class. To perform the test of the fetchlstore class of a support unit (SU), apply the fault model derived in step 4 to the various functional blocks of this class and test them as follows: Test for the on/off control logic: - Write n main memory locations (1 snssu's internal memory size) with ZERO; {Main memory is written) - Enable the SU; - Read the memory locations; (ZERO will be written into the SU's internal memory due to misses during the look-up cycle) - Write the same main memory locations with ONE; - Enable the SU; - Read the memory locations and expect ZERO; Test for the control logic for storing data: If a writethrough policy is used, main memory is always updated. If a write-back policy is used, a 'dirty-bit' is associated with each data-line in the SU. It is set when the data in the SU is altered. In case the replacement algorithm 3s I

3 chooses to replace a block with a set dirty-bit, or when a SU block is flushed, the dirty blacks are written to main memory. The following algorithm has to be run directly after the testing of the above ontoff function. - Write the SU memory locations from the previous test with ONE; (This will set the dirty bits} - Perform a flush, i.e. order the SU unit to write back the contents of those data-lines which s dirty-bits are set; (Not necessary with write-through policy} - Read the addressed memory locations and expect ONE; (Now the dirty-bit setting and the writethrough policy has been tested} Next part needed when write-back policy is used. - Write memory locations with ZERO; - Enable the SU and perform a flush: (No data should be transferred, since no dirty bits are set) - Disable the SU and read the memory locations and expect ZERO. (Now the dirty-bit clearing is tested} Test for the control loeic for fetching data: The need for fetching data in the SU s internal memory is determined by the SU s miss signal. The possible faults are that this line is stuck-at-1 or stuck-at4 This will result in always a miss or always a hit. As can be seen during the test performed for the memory class (see paragraph 4.2), that test will detect this fault. Test for the dataladdress buses of the su~wrt unit: Since the tests\lsed for the memory array(s) of the SU are modified March-B [lo-111 tests (see paragraph 4.2), all (linked) coupling faults, transition faults and stuck-at faults in the data and/or the address buses are mapped to the memory array faults according to [lo] and will therefore be detected. 4.2 Testiag the my class. In a cache SU there are two different memory arrays: the data memory array, in which the actual data is stored, and the directory memory array, in which the tags are stored. These memory arrays have to be tested separately. Test for the data memory array of a data cache SUDport unit: Since any data pattern can be written into and read from the data memory array of a data cache a standard memory test can be used. In order to cover the fault model of step 4, a March-B test is proposed which is defined as follows ([lo] or 1111): { 4 (WO); t (ro,wl,rl,wo,ro,wl); t (rl,wo,wl); l(rl,wo,wl,wo); l(ro,wl,wo)}, in which: - t represents an incrementing or decrementing addressing mode; - t represents an incremented addressing mode; 1 represents a decremented addressing mode; - WO and wl represent writing a ZERO or a ONE, respectively; - r0 and rl represent reading the address and expect a ZERO or a ONE, respectively. If the to be tested SU has a set-associative memory, the test has to be performed for each set. Fiwe 1. A two-way set associative cache. Test for the directory memory array of a data cache SUDDO~~ unit: A line in the directory memory array (see figure 1) contains a T-bit tag-field; the number of lines in a cache is determined by the L-bit line-field; there are addresses, and the number of entries in a line is determined by the D-bit displacement-field. As with the test for the data ory array, the test for the directory memory array has to take into account the set under test. To be sure to detect all address decoder faults, the test has to cover the complete address space of 2L lines. Since the tag-field has a width of T bits, a word wide test approach [lo] for T-bit words has to be used. For this, the T-bit data background patterns can be constructed as follows: z = I 210g T 1 (1..1 indicates integer upperbound) k = O,l,.-.,z w = bit pattern of 22 bits, initially all zero = the odd 1/2k parts of the w-bit pattem are inverted word(k) = lower T bits of ~ 1 2 ~ For example, if T=5 then z=3 and w= , w/2 = oooollll (word(k) = 0111 l ), w/4 = l, ~/8= W/W= Since the tag-field cannot be read directly, because it is an address rather than data, the verification of the contents of the tag-field is done by storing a word(k) into the tag-field (this is done by using the cache miss handling facilities) and a data value (called CODE ) in the data memory array location belonging to the tagfield. A fault in the tag-field will cause a cache miss; in order to detect this, the corresponding main memory locations are initialized with the data value!code. The! symbol denotes the one s complement. For CODE, the data pattem is used, because accessing a nonexisting memory location (due to a fault) will return OOO..OO or Perform a March-B whereby the WO, Io, wl and rl operations are modified as follows: 1-0: Enable the cache; {Read operations will now access the SU; i.e. the data and directory memory array (tag-field). All entries of the 352

4 tag-field contain the value word(k) ) -x- -y- 4- READ addr(word(k) I..i.. I XX..~) expect CODE; Disable the SU; (Address main memory) WO: Disable the SU; (Address main memory) -x- -Y- & WRITE addr(word(k) I..i.. I XX..~) with CODE; Enable the SU and read the addresses; (Due to cache misses the tag-field is filled with the value of word(&); the data memory array with the value of CODE) Disable the SU and write the same addresses into main memory with!code; For the rl and wl action, the word(k) is changed into!word(k) and CODE into!code. This March-B test has to be repeated for each value of k in word(k) until the value wiw ( ) has been reached. Test for the data memory arrav of an instruction cache suuuort unit: Since an instruction cache cannot contain just any data (it has to be a valid instruction), an approach different from the one used for the data cache SU has to be taken. If there are limited possibilities of applying immediate constants within the instruction stream, it is not possible to use immediate data as test patterns for the full size of code space. To be able to write a ZERO and a ONE as needed during the tests of the data array, the following definitions are made: ZERRO: a sequence of instructions which perform a unique transformation on one or more registers and satisfies the condition that the logical AND of this sequence of instructions is OOO..OO (all bits 0). The sequence must be terminated with the RETURN FROM SUBROUTINE instruction. W E a sequence of instructions which perform a unique transformation on one or more registers (other than the registers used during the ZERRO operations) and satisfies the condition that the logical OR of this sequence of instructions is (all bits I). The sequence must be terminated with the RETURN FROM SUBROUTINE instruction. Another restriction is that the reading from this memory array can only be done in one direction by means of executing the instructions. Furthermore the possibility exists that a fault in the memory array will result in an alteration of a certain instruction into the HALT instruction, which causes the computer to stop. This problem is inherent in the functional test of [l-31. These restrictions put severe constraints on the test. The consequences for the various faults are discussed below. - Stuck-at 0 and stuck-at 1 faults These faults can be detected by writing a 0 and a I to the memory array and reading this 0 and Z. The way to test the instruction cache for stuck-at faults is as follows: - Create a self-modifying testprogram that starts at the beginning of the instruction cache (i.e. place it at an address with the L and D bits equal to zero). - The testprogram starts with writing the ZERRO instruction sequence directly at the end of the program body. Next it calls this sub-program and after return checks the value of the altered registers. - This writing/executing of the ZERRO instruction sequence is then continued, such that every writing is shifted exactly one instruction-address. The program ends, when the final instruction of the ZERRO instruction sequence is placed at the end of the cache. The result is that every bit-cell of the instruction data array contained a 0: except that part where the testprogram was situated and the top of the cache. - The above is repeated for the ONNE instruction sequence. - To test the lower and upper part of the cache, the testprogram is placed in the middle of the cache. Because of the wrap-around of the addresses, the subprogram is now executed from the top, via the bottom of the cache and the part of the cache which contained the testprogram initially. In this way the total cache is tested for stuck-at faults. - Transition faults To detect transition faults it is necessary to make per bitcell a 0 to 1 transition and a I to 0 transition. During the testprogram for the stuck-at faults, the sequence ZERRO followed by ONNE occurred. This is exactly the bit level transition from 0 to I. To test the I to 0 transition it is sufficient to execute the testprogram with the ZERRO instruction sequence once again. - Coupling faults For these faults, and all other more complex memory faults, it is necessary to read and write the memory in normal and reverse order. Since this is not possible with the instruction cache, these more complicated faults cannot be detected. Test the directory memory array of an instruction &: To test this directory memory array, the same approach is used as with the directory memory array of a data cache. Only the following alteration is needed: - For the CODE and!code we use the defined code sequences ZERRO and ONNE respectively. Test the memory array of an memory management SUIXIOI~ unit: The WRITE addr... statement should be changed into Prepare the Page Directory and the Page Table with addr... as virtual address, and word(k) as physical address and be followed by READ addr... to place the address in the MMU s internal memory array (the Translation Look-Aside Buffer). - Note: Depending on the length of the programcode, one or two entries of the Page Directory and Page Table should be reserved for the instruction addresses of the test program. Later these places can be tested by relocating the testprogram

5 4.3: Testing the look-up class. To perform the test of the look-up class, we apply the fault model to the various functional blocks of this class. Test the &/word selector of the su~wrt unit: 1. no setlword selected 2. incorrect set/word selected 3. more then one &/word selected The first fault leads to a miss signal since the set or the word 8ccessBd is not selected and therefore a miss is generated. This situation is tested with the modified March-B. The second fault, which consists of the selection of a wrong word, is covered by the March-B test. The selection of the correct set remains to be tested, since the marches assume that the set under test is fixed by status bits in some control register The third fault, in which more than one word is selected, is also covered by March-B. More than one set being accessed, still has to be tested. From the above it follows that only the set selector has to be tested; this test does not have to read and/or write the complete cache, but only the various sets in at least one location. The normal operational replacement policy has to be disabled during the set selector test. If it can be guaranteed that all other pairs of directory memory and data memory array sets contain different data values during the test, a wrong set selection can be detected. It is assumed that if the set selection hardware is functioning correctly under fixed control, it will also function correctly under control of the normally used replacement algorithm. In order to perform the set selector test, the initialization part of the March-B of paragraph 4.2 is preceeded by the initialization of all other sets with a NON-CODE WORD, which is a NO OPERATION instruction if an instruction cache is tested. Test the comparator of the su~wrt unit: The faults which can occut in the comparator will all result in a false hit or a false miss signal: either the comparator indicates a hit when it should actually have been a miss (this can happen once with a certain bit-pattern or always, independent of the bit-pattern), or the comparator indicates a miss when it should have been a hit. The modified March-B test for the directory memory array ensures that a false miss signal will be detected, because it is ensured that main memory data differs from the SU data. A false hit signal, that is the SU's internal memory is read at a certain address although the tag-field bits are not equal to the tag in the SU's directory array, is also detected by the March-B test; it is assumed that if a false hit signal occurs it will reoccur if the same conditions exist during the second and following accesses of the cache (i.e. permanent faults are assumed). To detect these faults, it has to be ensured that the data expected in the consecutive verification read operation differs from the expected value. A false hit during the reading of the main memory will cause that the CODE,!CODE or instruction sequence ZERRO or ONNE is not placed in the cache. 5: conclusion. By introducing the notion Support Unit the functional model of [l-31 can be extended to include modem microprocessor functions such as instwtion/data caches and memory management units. The Support Unit is divided into three functional classes (fetch/store, memory, and look-up class), together with their fault models. Tests for the memory class of instruction caches are restricted due to the fact that the test data has to consist of actual instructions and the addressing is performed via the program counter. Test patterns ZERRO and ONNE, consisting of executable code, are defined such that they can detect stuck-at and transition faults in instruction cache memory arrays. Coupling faults are not detected with this method. 6: References. Thatte, S.M. and Abraham, J.A. (1980), Test Generation for Microprocessors, IEEE Transaction on Computers, C-29 (6). pp Brahme, D and Abraham, J.A. (1984), Functional Testing of Microprocessors, IEEE Transactions on Computers, C-33 (6), pp Thatte, S.M. (1979), Technical Report Test Generation For Microprocessors, No. R-842; UILU-ENG Verhallen, Th.J.W. (1991), Functional Testing of modern, advanced microprocessors, implemented on a Intel i860 Microprocessor, Laboratory Task No. T-91.09, Delft University, Delft, The Netherlands. Hamilton, J. et a1 (1988), Testing Memory Management Units, Research report no. RC 14095, IBM Research Division, Yorktown Height, New York Basto, L.A. Kuban, J.R. (1985), Test Feotures of the MC68881 Floating-Point Coprocessor, International Test Conference (ITC) paper 20.5, pp Bellon, C. et al, (1988), Analysis of Experimental Results on Functional Testing and Diagnosis of CO Icr Circuits, ITC 1988 Proceedings, paper 4.1, pp.64!!. Klug, H. (1988), Microprocessor Testing by Instructwn Sequences Derived fiom Random Patterns, International Test Conference 1988 Proceedings, paper 4.2, pp Shen, L. and Su, S.Y.H. (1988), A Functional Testing Method for Microprocessors, IEEE Transaction on Computers, C-37 (10). pp van de Goor. A.J. (1991), Testing Semiconductor M m ries. lheory and Practice, John Wdey & Sons; Chichester, U.K. Suk, D.S. and Reddy, S.M. (1981), A March Test for Functional Faults in Semiconductor Random Access Memories, IEEE Transaction on Computers, C-29 (6) pp

Applying March Tests to K-Way Set-Associative Cache Memories

Applying March Tests to K-Way Set-Associative Cache Memories 13th European Test Symposium Applying March Tests to K-Way Set-Associative Cache Memories Simone Alpe, Stefano Di Carlo, Paolo Prinetto, Alessandro Savino Politecnico di Torino, Dep. of Control and Computer

More information

RAM Testing Algorithms for Detection Multiple Linked Faults

RAM Testing Algorithms for Detection Multiple Linked Faults RAM Testing Algorithms for Detection Multiple Linked Faults V.G. Mikitjuk, V.N. Yarmolik, A.J. van de Goor* Belorussian State Univ. of Informatics and Radioelectronics, P.Brovki 6, Minsk, Belarus *Delft

More information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY LANGUAGE MACHINE ORGANIZATION ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction

More information

Testing Static and Dynamic Faults in Random Access Memories

Testing Static and Dynamic Faults in Random Access Memories Testing Static and Dynamic Faults in Random Access Memories Said Hamdioui 1 2 Zaid Al-Ars 2 Ad J. van de Goor 2 1 Intel Corporation, 2200 Mission College Boulevard, Santa Clara, CA 95052 2 Delft University

More information

Diagnostic Testing of Embedded Memories Using BIST

Diagnostic Testing of Embedded Memories Using BIST Diagnostic Testing of Embedded Memories Using BIST Timothy J. Bergfeld Dirk Niggemeyer Elizabeth M. Rudnick Center for Reliable and High-Performance Computing, University of Illinois 1308 West Main Street,

More information

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers.

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers. Set No. 1 IV B.Tech I Semester Supplementary Examinations, March - 2017 COMPUTER ARCHITECTURE & ORGANIZATION (Common to Electronics & Communication Engineering and Electronics & Time: 3 hours Max. Marks:

More information

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir What Are The Main Differences Between Program Counter Pc And Instruction Register Ir and register-based instructions - Anatomy on a CPU - Program Counter (PC): holds memory address of next instruction

More information

The functional block diagram of 8085A is shown in fig.4.1.

The functional block diagram of 8085A is shown in fig.4.1. Lecture-13 Internal Architecture of Intel 05A The functional block diagram of 05A is shown in fig.4.1. INTA INTR RST7.5 RST5.5 RST6.5 TRAP SOD SID INTERRUPT SERIAL I/O (Internal Bus) FR(S) IR() B() C()

More information

CPU issues address (and data for write) Memory returns data (or acknowledgment for write)

CPU issues address (and data for write) Memory returns data (or acknowledgment for write) The Main Memory Unit CPU and memory unit interface Address Data Control CPU Memory CPU issues address (and data for write) Memory returns data (or acknowledgment for write) Memories: Design Objectives

More information

Chapter 5 Memory Hierarchy Design. In-Cheol Park Dept. of EE, KAIST

Chapter 5 Memory Hierarchy Design. In-Cheol Park Dept. of EE, KAIST Chapter 5 Memory Hierarchy Design In-Cheol Park Dept. of EE, KAIST Why cache? Microprocessor performance increment: 55% per year Memory performance increment: 7% per year Principles of locality Spatial

More information

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Organization Part II Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn,

More information

6x86 PROCESSOR Superscalar, Superpipelined, Sixth-generation, x86 Compatible CPU

6x86 PROCESSOR Superscalar, Superpipelined, Sixth-generation, x86 Compatible CPU 1-6x86 PROCESSOR Superscalar, Superpipelined, Sixth-generation, x86 Compatible CPU Product Overview Introduction 1. ARCHITECTURE OVERVIEW The Cyrix 6x86 CPU is a leader in the sixth generation of high

More information

Complex test pattern generation for high speed fault diagnosis in Embedded SRAM

Complex test pattern generation for high speed fault diagnosis in Embedded SRAM Complex test pattern generation for high speed fault diagnosis in Embedded SRAM 1 Prasanna Kumari P., 2 Satyanarayana S. V. V., 3 Nagireddy S. 1, 3 Associate professor, 2 Master of Engineering, Teegala

More information

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1 CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1 Data representation: (CHAPTER-3) 1. Discuss in brief about Data types, (8marks)

More information

UNIT 2 PROCESSORS ORGANIZATION CONT.

UNIT 2 PROCESSORS ORGANIZATION CONT. UNIT 2 PROCESSORS ORGANIZATION CONT. Types of Operand Addresses Numbers Integer/floating point Characters ASCII etc. Logical Data Bits or flags x86 Data Types Operands in 8 bit -Byte 16 bit- word 32 bit-

More information

M. Sc (CS) (II Semester) Examination, Subject: Computer System Architecture Paper Code: M.Sc-CS-203. Time: Three Hours] [Maximum Marks: 60

M. Sc (CS) (II Semester) Examination, Subject: Computer System Architecture Paper Code: M.Sc-CS-203. Time: Three Hours] [Maximum Marks: 60 M. Sc (CS) (II Semester) Examination, 2012-13 Subject: Computer System Architecture Paper Code: M.Sc-CS-203 Time: Three Hours] [Maximum Marks: 60 Note: Question Number 1 is compulsory. Answer any four

More information

COSC 6385 Computer Architecture - Memory Hierarchy Design (III)

COSC 6385 Computer Architecture - Memory Hierarchy Design (III) COSC 6385 Computer Architecture - Memory Hierarchy Design (III) Fall 2006 Reducing cache miss penalty Five techniques Multilevel caches Critical word first and early restart Giving priority to read misses

More information

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009 Digital Signal Processing 8 December 24, 2009 VIII. DSP Processors 2007 Syllabus: Introduction to programmable DSPs: Multiplier and Multiplier-Accumulator (MAC), Modified bus structures and memory access

More information

Chapter 4 Main Memory

Chapter 4 Main Memory Chapter 4 Main Memory Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge of mathematics, science and engineering fundamentals

More information

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs Chapter 5 (Part II) Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple

More information

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy Chapter 5 B Large and Fast: Exploiting Memory Hierarchy Dependability 5.5 Dependable Memory Hierarchy Chapter 6 Storage and Other I/O Topics 2 Dependability Service accomplishment Service delivered as

More information

Modeling Techniques and Tests for Partial Faults in Memory Devices

Modeling Techniques and Tests for Partial Faults in Memory Devices Modeling Techniques and Tests for Partial Faults in Memory Devices Zaid Al-Ars Ad J. van de Goor Section Computer Engineering, Faculty of Information Technology and Systems Delft University of Technology,

More information

FPGA Implementation of ALU Based Address Generation for Memory

FPGA Implementation of ALU Based Address Generation for Memory International Journal of Emerging Engineering Research and Technology Volume 2, Issue 8, November 2014, PP 76-83 ISSN 2349-4395 (Print) & ISSN 2349-4409 (Online) FPGA Implementation of ALU Based Address

More information

Lecture 5: Instruction Pipelining. Pipeline hazards. Sequential execution of an N-stage task: N Task 2

Lecture 5: Instruction Pipelining. Pipeline hazards. Sequential execution of an N-stage task: N Task 2 Lecture 5: Instruction Pipelining Basic concepts Pipeline hazards Branch handling and prediction Zebo Peng, IDA, LiTH Sequential execution of an N-stage task: 3 N Task 3 N Task Production time: N time

More information

1. Creates the illusion of an address space much larger than the physical memory

1. Creates the illusion of an address space much larger than the physical memory Virtual memory Main Memory Disk I P D L1 L2 M Goals Physical address space Virtual address space 1. Creates the illusion of an address space much larger than the physical memory 2. Make provisions for

More information

The CPU Pipeline. MIPS R4000 Microprocessor User's Manual 43

The CPU Pipeline. MIPS R4000 Microprocessor User's Manual 43 The CPU Pipeline 3 This chapter describes the basic operation of the CPU pipeline, which includes descriptions of the delay instructions (instructions that follow a branch or load instruction in the pipeline),

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 13

ECE 571 Advanced Microprocessor-Based Design Lecture 13 ECE 571 Advanced Microprocessor-Based Design Lecture 13 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 21 March 2017 Announcements More on HW#6 When ask for reasons why cache

More information

MaanavaN.Com CS1202 COMPUTER ARCHITECHTURE

MaanavaN.Com CS1202 COMPUTER ARCHITECHTURE DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK SUB CODE / SUBJECT: CS1202/COMPUTER ARCHITECHTURE YEAR / SEM: II / III UNIT I BASIC STRUCTURE OF COMPUTER 1. What is meant by the stored program

More information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

UNIT I BASIC STRUCTURE OF COMPUTERS Part A( 2Marks) 1. What is meant by the stored program concept? 2. What are the basic functional units of a

UNIT I BASIC STRUCTURE OF COMPUTERS Part A( 2Marks) 1. What is meant by the stored program concept? 2. What are the basic functional units of a UNIT I BASIC STRUCTURE OF COMPUTERS Part A( 2Marks) 1. What is meant by the stored program concept? 2. What are the basic functional units of a computer? 3. What is the use of buffer register? 4. Define

More information

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

A Parametric Design of a Built-in Self-Test FIFO Embedded Memory

A Parametric Design of a Built-in Self-Test FIFO Embedded Memory A Parametric Design of a Built-in Self-Test FIFO Embedded Memory S. Barbagallo, M. Lobetti Bodoni, D. Medina G. De Blasio, M. Ferloni, F.Fummi, D. Sciuto DSRC Dipartimento di Elettronica e Informazione

More information

Memory Design. Cache Memory. Processor operates much faster than the main memory can.

Memory Design. Cache Memory. Processor operates much faster than the main memory can. Memory Design Cache Memory Processor operates much faster than the main memory can. To ameliorate the sitution, a high speed memory called a cache memory placed between the processor and main memory. Barry

More information

A VLSI Implementation of High Speed FSM-based programmable Memory BIST Controller

A VLSI Implementation of High Speed FSM-based programmable Memory BIST Controller Quest Journals Journal of Electronics and Communication Engineering Research ISSN:2321-5941 Volume1 ~ Issue 2 (2013) pp: 01-06 www.questjournals.org Research Paper A VLSI Implementation of High Speed FSM-based

More information

8086 INTERNAL ARCHITECTURE

8086 INTERNAL ARCHITECTURE 8086 INTERNAL ARCHITECTURE Segment 2 Intel 8086 Microprocessor The 8086 CPU is divided into two independent functional parts: a) The Bus interface unit (BIU) b) Execution Unit (EU) Dividing the work between

More information

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter IT 3123 Hardware and Software Concepts Notice: This session is being recorded. CPU and Memory June 11 Copyright 2005 by Bob Brown Latches Can store one bit of data Can be ganged together to store more

More information

Microcomputer Architecture and Programming

Microcomputer Architecture and Programming IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller

More information

Processor Structure and Function

Processor Structure and Function WEEK 4 + Chapter 14 Processor Structure and Function + Processor Organization Processor Requirements: Fetch instruction The processor reads an instruction from memory (register, cache, main memory) Interpret

More information

Reduction of Control Hazards (Branch) Stalls with Dynamic Branch Prediction

Reduction of Control Hazards (Branch) Stalls with Dynamic Branch Prediction ISA Support Needed By CPU Reduction of Control Hazards (Branch) Stalls with Dynamic Branch Prediction So far we have dealt with control hazards in instruction pipelines by: 1 2 3 4 Assuming that the branch

More information

Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore

Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore COMPUTER ORGANIZATION AND ARCHITECTURE V. Rajaraman Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore T. Radhakrishnan Professor of Computer Science

More information

4. Hardware Platform: Real-Time Requirements

4. Hardware Platform: Real-Time Requirements 4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture

More information

Computer Organization and Assembly Language (CS-506)

Computer Organization and Assembly Language (CS-506) Computer Organization and Assembly Language (CS-506) Muhammad Zeeshan Haider Ali Lecturer ISP. Multan ali.zeeshan04@gmail.com https://zeeshanaliatisp.wordpress.com/ Lecture 2 Memory Organization and Structure

More information

Introduction to Computer Science. Homework 1

Introduction to Computer Science. Homework 1 Introduction to Computer Science Homework. In each circuit below, the rectangles represent the same type of gate. Based on the input and output information given, identify whether the gate involved is

More information

Branch Prediction & Speculative Execution. Branch Penalties in Modern Pipelines

Branch Prediction & Speculative Execution. Branch Penalties in Modern Pipelines 6.823, L15--1 Branch Prediction & Speculative Execution Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 6.823, L15--2 Branch Penalties in Modern Pipelines UltraSPARC-III

More information

Instruction Set Architecture. "Speaking with the computer"

Instruction Set Architecture. Speaking with the computer Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design

More information

Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN)

Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN) Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN) Abstract With increasing design complexity in modern SOC design, many memory

More information

COSC 6385 Computer Architecture. - Memory Hierarchies (II)

COSC 6385 Computer Architecture. - Memory Hierarchies (II) COSC 6385 Computer Architecture - Memory Hierarchies (II) Fall 2008 Cache Performance Avg. memory access time = Hit time + Miss rate x Miss penalty with Hit time: time to access a data item which is available

More information

Structure of Computer Systems

Structure of Computer Systems 222 Structure of Computer Systems Figure 4.64 shows how a page directory can be used to map linear addresses to 4-MB pages. The entries in the page directory point to page tables, and the entries in a

More information

HY225 Lecture 12: DRAM and Virtual Memory

HY225 Lecture 12: DRAM and Virtual Memory HY225 Lecture 12: DRAM and irtual Memory Dimitrios S. Nikolopoulos University of Crete and FORTH-ICS May 16, 2011 Dimitrios S. Nikolopoulos Lecture 12: DRAM and irtual Memory 1 / 36 DRAM Fundamentals Random-access

More information

The Von Neumann Architecture Odds and Ends. Designing Computers. The Von Neumann Architecture. CMPUT101 Introduction to Computing - Spring 2001

The Von Neumann Architecture Odds and Ends. Designing Computers. The Von Neumann Architecture. CMPUT101 Introduction to Computing - Spring 2001 The Von Neumann Architecture Odds and Ends Chapter 5.1-5.2 Von Neumann Architecture CMPUT101 Introduction to Computing (c) Yngvi Bjornsson & Vadim Bulitko 1 Designing Computers All computers more or less

More information

ECE410 Design Project Spring 2013 Design and Characterization of a CMOS 8-bit pipelined Microprocessor Data Path

ECE410 Design Project Spring 2013 Design and Characterization of a CMOS 8-bit pipelined Microprocessor Data Path ECE410 Design Project Spring 2013 Design and Characterization of a CMOS 8-bit pipelined Microprocessor Data Path Project Summary This project involves the schematic and layout design of an 8-bit microprocessor

More information

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1 Chapter 5 Computer Systems Organization Objectives In this chapter, you will learn about: The components of a computer system Putting all the pieces together the Von Neumann architecture The future: non-von

More information

EE414 Embedded Systems Ch 5. Memory Part 2/2

EE414 Embedded Systems Ch 5. Memory Part 2/2 EE414 Embedded Systems Ch 5. Memory Part 2/2 Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology Overview 6.1 introduction 6.2 Memory Write Ability and Storage

More information

Internal architecture of 8086

Internal architecture of 8086 Case Study: Intel Processors Internal architecture of 8086 Slide 1 Case Study: Intel Processors FEATURES OF 8086 It is a 16-bit μp. 8086 has a 20 bit address bus can access up to 220 memory locations (1

More information

Dynamic Branch Prediction

Dynamic Branch Prediction #1 lec # 6 Fall 2002 9-25-2002 Dynamic Branch Prediction Dynamic branch prediction schemes are different from static mechanisms because they use the run-time behavior of branches to make predictions. Usually

More information

1993. (BP-2) (BP-5, BP-10) (BP-6, BP-10) (BP-7, BP-10) YAGS (BP-10) EECC722

1993. (BP-2) (BP-5, BP-10) (BP-6, BP-10) (BP-7, BP-10) YAGS (BP-10) EECC722 Dynamic Branch Prediction Dynamic branch prediction schemes run-time behavior of branches to make predictions. Usually information about outcomes of previous occurrences of branches are used to predict

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Micro Architecture Nawin Somyat Department of Electrical and Computer Engineering Thammasat University 28 August 2018 Outline Course Contents 1 Introduction 2 Simple

More information

Advanced Computer Architecture

Advanced Computer Architecture Advanced Computer Architecture Chapter 1 Introduction into the Sequential and Pipeline Instruction Execution Martin Milata What is a Processors Architecture Instruction Set Architecture (ISA) Describes

More information

Introduction to MiniSim A Simple von Neumann Machine

Introduction to MiniSim A Simple von Neumann Machine Math 121: Introduction to Computing Handout #19 Introduction to MiniSim A Simple von Neumann Machine Programming languages like C, C++, Java, or even Karel are called high-level languages because they

More information

csitnepal Unit 3 Basic Computer Organization and Design

csitnepal Unit 3 Basic Computer Organization and Design Unit 3 Basic Computer Organization and Design Introduction We introduce here a basic computer whose operation can be specified by the resister transfer statements. Internal organization of the computer

More information

Control Hazards. Prediction

Control Hazards. Prediction Control Hazards The nub of the problem: In what pipeline stage does the processor fetch the next instruction? If that instruction is a conditional branch, when does the processor know whether the conditional

More information

Slide Set 9. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

Slide Set 9. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng Slide Set 9 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary March 2018 ENCM 369 Winter 2018 Section 01

More information

CS 152 Computer Architecture and Engineering

CS 152 Computer Architecture and Engineering CS 152 Computer Architecture and Engineering Lecture 17 Advanced Processors I 2005-10-27 John Lazzaro (www.cs.berkeley.edu/~lazzaro) TAs: David Marquardt and Udam Saini www-inst.eecs.berkeley.edu/~cs152/

More information

Cache Coherence and Atomic Operations in Hardware

Cache Coherence and Atomic Operations in Hardware Cache Coherence and Atomic Operations in Hardware Previously, we introduced multi-core parallelism. Today we ll look at 2 things: 1. Cache coherence 2. Instruction support for synchronization. And some

More information

Gerard J. Oxoby. Stanford Linear Accelerator Center Stanford University, Stanford, CA INTRODUCTION

Gerard J. Oxoby. Stanford Linear Accelerator Center Stanford University, Stanford, CA INTRODUCTION SLAC-TN-80-5 November 1980 IBM CHANNEL TO PDPll INTERFACE' Gerard J. Oxoby Stanford Linear Accelerator Center Stanford University, Stanford, CA. 94305 INTRODUCTION An interface between a UNIBUS and a I/O

More information

Operating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015

Operating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015 Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write

More information

Blog -

Blog - . Instruction Codes Every different processor type has its own design (different registers, buses, microoperations, machine instructions, etc) Modern processor is a very complex device It contains Many

More information

2 MARKS Q&A 1 KNREDDY UNIT-I

2 MARKS Q&A 1 KNREDDY UNIT-I 2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,

More information

1.3 Data processing; data storage; data movement; and control.

1.3 Data processing; data storage; data movement; and control. CHAPTER 1 OVERVIEW ANSWERS TO QUESTIONS 1.1 Computer architecture refers to those attributes of a system visible to a programmer or, put another way, those attributes that have a direct impact on the logical

More information

Static Branch Prediction

Static Branch Prediction Static Branch Prediction Branch prediction schemes can be classified into static and dynamic schemes. Static methods are usually carried out by the compiler. They are static because the prediction is already

More information

Control Hazards. Branch Prediction

Control Hazards. Branch Prediction Control Hazards The nub of the problem: In what pipeline stage does the processor fetch the next instruction? If that instruction is a conditional branch, when does the processor know whether the conditional

More information

CSE 451: Operating Systems Winter Page Table Management, TLBs and Other Pragmatics. Gary Kimura

CSE 451: Operating Systems Winter Page Table Management, TLBs and Other Pragmatics. Gary Kimura CSE 451: Operating Systems Winter 2013 Page Table Management, TLBs and Other Pragmatics Gary Kimura Moving now from Hardware to how the OS manages memory Two main areas to discuss Page table management,

More information

538 Lecture Notes Week 1

538 Lecture Notes Week 1 538 Clowes Lecture Notes Week 1 (Sept. 6, 2017) 1/10 538 Lecture Notes Week 1 Announcements No labs this week. Labs begin the week of September 11, 2017. My email: kclowes@ryerson.ca Counselling hours:

More information

Module 5: "MIPS R10000: A Case Study" Lecture 9: "MIPS R10000: A Case Study" MIPS R A case study in modern microarchitecture.

Module 5: MIPS R10000: A Case Study Lecture 9: MIPS R10000: A Case Study MIPS R A case study in modern microarchitecture. Module 5: "MIPS R10000: A Case Study" Lecture 9: "MIPS R10000: A Case Study" MIPS R10000 A case study in modern microarchitecture Overview Stage 1: Fetch Stage 2: Decode/Rename Branch prediction Branch

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer 4.2 CPU Basics The computer s CPU fetches, decodes, and executes program instructions. The two principal parts of the CPU are the datapath and the control unit.

More information

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

International Journal of Digital Application & Contemporary research Website:   (Volume 1, Issue 7, February 2013) Programmable FSM based MBIST Architecture Sonal Sharma sonal.sharma30@gmail.com Vishal Moyal vishalmoyal@gmail.com Abstract - SOCs comprise of wide range of memory modules so it is not possible to test

More information

Problem Set 1 Solutions

Problem Set 1 Solutions CSE 260 Digital Computers: Organization and Logical Design Jon Turner Problem Set 1 Solutions 1. Give a brief definition of each of the following parts of a computer system: CPU, main memory, floating

More information

2 3 INTRO TO PROTECTED MODE MEMORY ADDRESSING

2 3 INTRO TO PROTECTED MODE MEMORY ADDRESSING Chapter Chapter 2: 2: The The Microprocessor Microprocessor and and its its Architecture Architecture 2 3 INTRO TO PROTECTED MODE MEMORY ADDRESSING Allows access to data and programs located within & above

More information

CS/EE 260. Digital Computers Organization and Logical Design

CS/EE 260. Digital Computers Organization and Logical Design CS/EE 260. Digital Computers Organization and Logical Design David M. Zar Computer Science and Engineering Department Washington University dzar@cse.wustl.edu http://www.cse.wustl.edu/~dzar/class/260 Digital

More information

Segment 1A. Introduction to Microcomputer and Microprocessor

Segment 1A. Introduction to Microcomputer and Microprocessor Segment 1A Introduction to Microcomputer and Microprocessor 1.1 General Architecture of a Microcomputer System: The term microcomputer is generally synonymous with personal computer, or a computer that

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

Chapter 4. MARIE: An Introduction to a Simple Computer

Chapter 4. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

A Universal Test Pattern Generator for DDR SDRAM *

A Universal Test Pattern Generator for DDR SDRAM * A Universal Test Pattern Generator for DDR SDRAM * Wei-Lun Wang ( ) Department of Electronic Engineering Cheng Shiu Institute of Technology Kaohsiung, Taiwan, R.O.C. wlwang@cc.csit.edu.tw used to detect

More information

Hardware Design I Chap. 10 Design of microprocessor

Hardware Design I Chap. 10 Design of microprocessor Hardware Design I Chap. 0 Design of microprocessor E-mail: shimada@is.naist.jp Outline What is microprocessor? Microprocessor from sequential machine viewpoint Microprocessor and Neumann computer Memory

More information

Digital Semiconductor Alpha Microprocessor Product Brief

Digital Semiconductor Alpha Microprocessor Product Brief Digital Semiconductor Alpha 21164 Microprocessor Product Brief March 1995 Description The Alpha 21164 microprocessor is a high-performance implementation of Digital s Alpha architecture designed for application

More information

Chapter 2 Logic Gates and Introduction to Computer Architecture

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

More information

Question 13 1: (Solution, p 4) Describe the inputs and outputs of a (1-way) demultiplexer, and how they relate.

Question 13 1: (Solution, p 4) Describe the inputs and outputs of a (1-way) demultiplexer, and how they relate. Questions 1 Question 13 1: (Solution, p ) Describe the inputs and outputs of a (1-way) demultiplexer, and how they relate. Question 13 : (Solution, p ) In implementing HYMN s control unit, the fetch cycle

More information

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store. IT 3123 Hardware and Software Concepts February 11 and Memory II Copyright 2005 by Bob Brown The von Neumann Architecture 00 01 02 03 PC IR Control Unit Command Memory ALU 96 97 98 99 Notice: This session

More information

Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Cache Performance

Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Cache Performance 6.823, L11--1 Cache Performance and Memory Management: From Absolute Addresses to Demand Paging Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Cache Performance 6.823,

More information

Computer Architecture

Computer Architecture CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,

More information

This training session will cover the Translation Look aside Buffer or TLB

This training session will cover the Translation Look aside Buffer or TLB This training session will cover the Translation Look aside Buffer or TLB I will cover: What It is How to initialize it And How TLB exceptions are handled 1 First let me explain what we are dealing with:

More information

Memory latency: Affects cache miss penalty. Measured by:

Memory latency: Affects cache miss penalty. Measured by: Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store a bit, but require a periodic data refresh by reading every row. Static RAM may be used for main memory

More information

Memory latency: Affects cache miss penalty. Measured by:

Memory latency: Affects cache miss penalty. Measured by: Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store a bit, but require a periodic data refresh by reading every row. Static RAM may be used for main memory

More information

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register CPU Organisation Central Processing Unit (CPU) Memory General R0 Registers R1 R2 ALU R3 Output Register Input Register 1 Input Register 2 Internal Bus Address Bus Data Bus Addr. $ 000 001 002 Program Counter

More information

Branch statistics. 66% forward (i.e., slightly over 50% of total branches). Most often Not Taken 33% backward. Almost all Taken

Branch statistics. 66% forward (i.e., slightly over 50% of total branches). Most often Not Taken 33% backward. Almost all Taken Branch statistics Branches occur every 4-7 instructions on average in integer programs, commercial and desktop applications; somewhat less frequently in scientific ones Unconditional branches : 20% (of

More information

The Central Processing Unit

The Central Processing Unit The Central Processing Unit All computers derive from the same basic design, usually referred to as the von Neumann architecture. This concept involves solving a problem by defining a sequence of commands

More information

Processing Unit CS206T

Processing Unit CS206T Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct

More information

2.5 Address Space. The IBM 6x86 CPU can directly address 64 KBytes of I/O space and 4 GBytes of physical memory (Figure 2-24).

2.5 Address Space. The IBM 6x86 CPU can directly address 64 KBytes of I/O space and 4 GBytes of physical memory (Figure 2-24). Address Space 2.5 Address Space The IBM 6x86 CPU can directly address 64 KBytes of I/O space and 4 GBytes of physical memory (Figure 2-24). Memory Address Space. Access can be made to memory addresses

More information

ENGN 2910A Homework 03 (140 points) Due Date: Oct 3rd 2013

ENGN 2910A Homework 03 (140 points) Due Date: Oct 3rd 2013 ENGN 2910A Homework 03 (140 points) Due Date: Oct 3rd 2013 Professor: Sherief Reda School of Engineering, Brown University 1. [from Debois et al. 30 points] Consider the non-pipelined implementation of

More information