Session F1C DCMSIM: DIDACTIC CACHE MEMORY SIMULATOR. Eduardo S. Cordeiro 1, Italo G. A. Stefani 2, Tays C. A. P. Soares 3, Carlos A. P. S.

Size: px
Start display at page:

Download "Session F1C DCMSIM: DIDACTIC CACHE MEMORY SIMULATOR. Eduardo S. Cordeiro 1, Italo G. A. Stefani 2, Tays C. A. P. Soares 3, Carlos A. P. S."

Transcription

1 DCMSIM: DIDACTIC CACHE MEMORY SIMULATOR Eduardo S. Cordeiro 1, Italo G. A. Stefani 2, Tays C. A. P. Soares 3, Carlos A. P. S. Martins 4 Abstract We present a functional and structural didactic simulator of Cache Memory Systems developed at the Pontifical Catholic University of Minas Gerais, Brazil. The development occurred during the undergraduate Computer Architecture discipline, in the Computer Science course. Its implementation is one part of a new didactic method, in which developers (students of the Computer Architecure discipline) must learn the concepts and theory of the discipline topics to correctly apply them in the simulator. In our simulator, DCMSim, there are features to allow students to construct and verify knowledge, testing and comparing several different configurations and memory access traces. Index Terms Cache Memory Simulation Tool, Cache Memory Systems, Computer Architecture Education, Learning Tool and documentation that the current API provides and transform the simulator in a web-based application in the future [4]. The DCMSim comes to supply the need for a learning aid tool in the field of memory systems [5][6][7], providing ways in which students can construct and verify knowledge in a simple and practical way. The objectoriented paradigm used in this project allows for easy expansibility, since the different memory systems and the memory structures are implemented through inheritance, and the interface itself also uses inheritance to read configuration data and display the different memory system structures in their particular way. A memory representation is shown in Figure 1: INTRODUCTION We present and analyze a didactic memory simulation software developed during a computer architecture undergraduate discipline in the Computer Science course, in the second semester of This simulator development is one part of the application of a new learning method [1] in computer architecture disciplines the students must learn the theory to apply it in the simulator development, while an already developed simulator helps them understand the functioning and structure of a memory system. Our main goals are: improve and optimize the learning of memo ry topics (concepts and techniques) using the development of memory simulators; aid knowledge verification and facilitate and optimize the execution of practical exercises related with memory systems using an easier and more optimized tool (method) than the manual method of resolution; develop a simulator that provides a simple but didactic simulation functionality for use by students of our and other courses. Other goals include the use of Java language for programming, since our idea to represent all the components of the memory systems, would be made easy with the use of a fully object-oriented language [2][3]; besides, the use of this language allowed us to build a platform-independent software with all the support FIGURE 1 CACHE MEMORY REPRESENTATION The fields in Figure 1 represent the following structures: Field 1: the valid bit, which indicates whether or not the data contained in that slot is valid or invalid; Field 2: the tag, which identifies a block, a number that is used by the controller to check whether or not the present block in a memory slot is the one that is being accessed (for the set-associative and direct-mapped systems only). The tag is the block number itself on a fully associative architecture; 1 Eduardo Santos Cordeiro, Pontifical Catholic University of Minas Gerais, Graduation Program in Computer Science Student, 500 Av. Dom Cabral Coração Eucarístico Belo Horizonte Minas Gerais, escordeiro@hotmail.com 2 Italo Giovani Abdanur Stefani, Pontifical Catholic University of Minas Gerais, Graduation Program in Computer Science Student, 500 Av. Dom Cabral Coração Eucarístico Belo Horizonte Minas Gerais, italogiovani@terra.com.br 3 Tays Cristina do Amaral Pales Soares, Pontifical Catholic University of Minas Gerais, Graduation Program in Computer Science Student, 500 Av. Dom Cabral Coração Eucarístico Belo Horizonte Minas Gerais, tayscristina@hotmail.com 4 Carlos Augusto Paiva da Silva Martins, Pontifical Catholic University of Minas Gerais, Graduation Program in Computer Science Professor, Graduate Program in Electrical Engineering Professor, 500 Av. Dom Cabral, Coração Eucarístico, Belo Horizonte, Minas Gerais, capsm@pucminas.br F1C-14

2 Field 3: the data, a group of words (block) contained in several main memory addresses; Field 4: the slot, a memory position where a block can be placed - depending on the memory architecture being implemented, more than one block can be placed in each slot. CACHE M EMORY SIMULATOR The simulator was designed as a learning tool, using problem-based learning and group projects concepts. We use the design of didactic architectural constructive blocks, in this case the memory system, and development of its simulator as motivation for theory study/learning and verification of designed constructive blocks through functional simulators also developed by students [8]. An even deeper motivation came with a challenge presented by the discipline professor: the building of a structural simulator, which would imply in more difficulties than the functional one, but also presenting better results as a learning and didactic tool. Our simulator is structurally correspondent to real memory systems, both in the interface and internally, and fo r that we built logic blocks corresponding to the constructive blocks of real memory hierarchy systems such as the main memory, the comparator and the memory slots and structures. The main purpose of this simulator is to serve as a tool for learning and analysis of functionality and performance of memories. Users can analyze many possibilities in memory configurations and techniques and also verify results and effectiveness of these possibilities. This verification can be made with the use of the log output files generated after each simulation or during its steps the DCMSim creates a file which indicates the sequence of occurrences in the memory system for the given memory trace; this file also includes the configuration in which the simulation happened and the hit ratio of the execution sequence. The project difficulties came in correctly building the logic blocks needed for the simulation of a memory system and also in the relationship between these blocks; building a simple and effective interface also proved itself difficult, since the use and layout of the Swing components demanded most of the time dedicated to the project [2][3]. DCMSIM DESCRIPTION AND ITS FEATURES DCMSim s interface has been built to be easy to use while showing all the structure of memory systems. It presents three main menu items: Configuration, Simulation, and Information. In the first one, the user can change the default simulation configuration, create a new one or load a previously created configuration from a cannot begin unless the user has selected a memory hierarchy configuration, so students must always prepare their simulations before using DCMSim. After selecting (setting) a configuration, the user can begin the simulation in the Simulation menu, where a memory trace file must be chosen if the memory trace file is incompatible with the chosen configuration (e.g. one of the memory addresses in the memory trace is greater than the memory size), an error message will be shown with a correction hint, and the user must then set another configuration before trying to load the memory trace file again. Information about the developers can be obtained in the Information menu. The initial interface (before the selection of a configuration and a memory trace file) is shown in Figure 2. FIGURE 2 THE USER INTERFACE Simulator interface The user can create, change, save or load simulation configurations using the interface; the main blocks of memory systems simulated in the program are shown in different interface tabs, and the entries on the memory hierarchy system are controlled by the user the interface allows step-by-step simulation (with the Next input button) or a leap to the last step of the simulation (with the Last input button), where all the process can be viewed. The occurrences box shows the result of each input, displaying hit, miss or miss with a substitution, and shows which block has entered the memory system due to a miss occurrence. Once a memory trace file has been loaded, the interface presents four tabs, which will be listed here and explained later in this paper: Cache memory Comparator configuration file it is important to notice that a simulation F1C-15

3 Inputs Main memory For the simulation itself and the verification of results and occurrences, there are three interface components: Occurrences box: shows a hit, miss or miss with a substitution, and the blocks that enter the upon miss occurrences; at the end of the simulation, the log file is generated using this information Next input button: goes to the next step of the simulation Last input button: goes to the last step of the simulation block size of 16 cells, 4 slots, write back mode and the FIFO substitution politics. The next step in configuration is the selection of the following variables: Main memory size Block size Number of slots Write mode Substitution politics Associativity degree These variables are shown in Figure 4. The complete interface, after the choice of a configuration and a memory trace file, with the inputs tab selected, is shown in Figure 3. FIGURE 3 THE INTERFACE READY FOR A SIMULATION Configuration The configuration interface allows the user to change various parameters of the simulation; one may also load the configurations from a previously created file, or, after creating his own configuration, he can save a new file for later use and verification. The parameters mentioned before include the memory architecture [5][7], where the user can select direct-mapped, set-associative or fully-associative architecture (in the current version, with easy expansibility possibilities); this selection is show in Figure 2. The examples given in this paper are related to the set-associative architecture configuration, since it is the one that uses a greater number of configuration variables, but the interface adapts itself to show only those variables needed to the simulation of the selected architecture. The variables in the example configuration are related to a 2-way set-associative memory, with the main memory size of 1024 cells, FIGURE 4 SELECTION OF THE SET -ASSOCIATIVE ARCHITECTURE VARIABLES Data inputs (memory trace file) The memory accesses are simulated with a memory trace file, simple text file (TXT), like the example shown in Figure 5; each access is represented by a line in this file, with the first item meaning the main memory address (an integer number), the second meaning a data (d) or instruction (i) access, the third meaning a read (r) or write (w) access and the last meaning the data/instruction itself (another integer number). In this input format, we consider that the user has converted the instructions and data to decimal values. The configuration file will not be shown in this paper, since it s generated automatically in the simulator, and its structure depends on the chosen memory architecture. F1C-16

4 d r d r d w d w 3 0 d w d r d w 5 3 d w d w d w 8 FIGURE 5 A MEMORY TRACE FILE EXAMPLE The simulation The simulation itself begins with the selection of a configuration; this action enables the Simulation menu, where the user must chose the memory trace file to be used in the execution. During the simulation, the user can change between the interface components using the tabs that appear in Figure 3. The DCMSim will then load the memory trace file (input file) and make the necessary calculations of block numbers, slot numbers (applicable in the set-associative and direct-mapped architectures) and tag numbers (applicable in the set-associative and direct-mapped architectures). The table created with this data is represented in the Inputs tab, as shown in Figure 6 as a detail of Figure 3. This tab is a didactic artifice to show the user the calculations made by the controller; this data is not kept in the hardware, but the values shown in DCMSim are the ones that will be used by the memory controller in every memory access. The memory address to be accessed is given by the user in the input memory trace file, as the one shown in Figure 5; the block address is calculated as the integer quotient of the division between memory address and block size; the tag is the integer quotient of the division between block address and the number of slots in the memory, and the slot is the integer remainder of this division. system controller simply assigns groups of bits to each one of the variables needed (block address, tag and slot). For the configuration shown in Figure 4, a visual representation of the use of a memory address is in Figure 7. FIGURE 7 THE CONVERSION OF A MEMORY ADDRESS Once the inputs have been loaded and the necessary calculations concluded, the simulation itself begins; from this point on, the interface buttons that control the execution become enabled, and the user can verify a step-by-step simulation or go to the end of the execution and check the occurrences box or the log file. If a miss occurs, the input loads data into the memory, which is represented in the Cache memory tab; the slot in which the data has been placed in the memory is highlighted in this interface, shown in Figure 8. FIGURE 8 THE CACHE MEMORY INTERFACE The comparator is represented in the Comparator tab, shown in Figure 9. This component makes the necessary comparations needed to verify the data in the memory; if a block is in the memory, it will be found in its calculated slot. If a block is not on the memory, a miss situation will be found with the use of the Valid bit or the comparation of the block tag number; the Comparator interface also show the slot in which the comparation is being made. FIGURE 6 THE INPUTS INTERFACE It is very important to notice that, although the data calculated with a memory address in the simulator is always available to be seen by the user, as in Figure 6, the FIGURE 9 THE COMPARATOR INTERFACE The last interface component that can be verified during the simulation is the Main memory; in this tab, the main memory is represented with its block addresses and the write accesses made in each block to show the difference between write modes such as write-back and write-through: in the write-back mode, the interface updates only the memory data when a write hit access is made, and the main memory is updated when a block leaves the F1C-17

5 memory; in the write-through mode, the interface updates both the memory data and the main memo ry data every time a write hit access is made. The Main memory interface is shown in Figure 10. FIGURE 10 THE MAIN MEMORY INTERFACE RESULTS VERIFICATION The simulator allows students of memory systems to analyze the difference between the memory architectures and different configurations of an unique architecture. By the step-by-step execution and visualization in the interface of memory traces and the generation of log files, the user can check advantages and disadvantages of different memory configurations used with one or many memory traces. To show the didactic purpose of our simulator, we will show the simulation results of the same memory trace shown in Figure 5 with two different configurations changing only the substitution politics (from FIFO to LRU) for a 2- way set-associative memory; in this simple example, the change of the substitution politics might cause a change in the hit ratio, showing the user ways to find out why a difference occurred. The log files given as a result of these executions are shown in Figure 11. Cache memory simulation log 01: Input 0: Cache Miss-> block 32 enters the Input 1: Cache Miss-> block 31 enters the Input 2: Input 3: Cache Miss-> block 6 enters the Input 4: Cache Miss-> block 0 enters the Input 5: Input 6: Cache Miss/Subst-> block 16 enters the Input 7: Cache memory simulation log 02: Input 0: Cache Miss-> block 32 enters the Input 1: Cache Miss-> block 31 enters the Input 2: Input 3: Cache Miss-> block 6 enters the Input 4: Cache Miss-> block 0 enters the Input 5: Input 6: Cache Miss/Subst-> block 16 enters the Input 7: Cache Miss/Subst-> block 0 enters Input 8: Cache Miss-> block 25 enters the Input 9: Hit ratio: 0.4 Cache memory configurations: Main memory size: 1024 Block size (cells): 16 Number of slots: 4 Substitution politics: FIFO Associativity degree: 2 Set-associative memory architecture the Input 8: Cache Miss-> block 25 enters the Input 9: Hit ratio: 0.3 Cache memory configurations: Main memory size: 1024 Block size (cells): 16 Number of slots: 4 Substitution politics: LRU Associativity degree: 2 Set-associative memory architecture FIGURE 11 SIMULATION RESULTS LOG FILES The difference in the two results is in input 7; when we try to access block 16 (input 6), it will cause a compulsory miss in the FIFO politics, block 32 will leave the, since its the first one to enter slot 0; in the LRU politics, block 0 will leave the, since it is the one with an older access (made in input 4, while the latest access to block 32 is made in input 5). Because of this difference in the substitution made in slot 0 at the entrance of the block 16, block 0 can be accessed in the first execution but it will have to be placed in slot 0 again in the second execution, due to its previous removal. CONCLUSIONS We have reached our goals with the development of DCMSim both the professor s goals and the students s goals; by verification with many different configurations and memory traces, we conclude that the simulator is functionally correct and serves well as a simple but effective didactic tool for the memory topics and techniques study and learning. The effectiveness of the development of the simulator as a learning-aid tool itself has also been proven with discipline tests, where students s results improved as the development of the simulators progressed. The main contribution of the simulator development activities, in which DCMSim was only one of the several simulators developed, is that it allows students to better understand the theory of memory systems and visualize the advantages and disadvantages of several architectures and their configurations. The simulator development improves the learning curve of the developers (students) and also, in the following semesters, the teaching activities of topics such as computer architecture, memory systems, memory hierarchy and other important disciplines in the Computer Science course. The object-oriented design of DCMSim allows for expansibility and the study and creation of other memory architectures, using the current software architecture as a basis for the construction of a memory system and its comparator that can be integrated and easily inserted in the interface. Since all the logic blocks F1C-18

6 of memory systems are represented as different classes, the software is fully adaptable to the simulation of new memory architectures and techniques. The learning of the Java Swing components was also achieved in this project, where the building of a simple interface with all the structure of the memory systems required the study of a great number of interface components and layouts. However, the simulator was proposed as an undergraduate discipline task, and the short time available for its development didn t allow us to implement all the features that would improve its performance as a didactic tool. Future plans include a web-based application, the inclusion of a help system and connecting this simulator with other simulators also developed in our Computer Science course, such a CPU and an Operating System simulators. Other future works in DCMSim are the inclusion of configuration parameters that are unavailable in the current version, such as the main memory access time, the choice between split or unified, number of levels, memory access time, write miss allocation, and main memory access modes (sequential, parallel) and the choice between different types for the variables in the simulator, allowing specification using bits, bytes and words (the only parameter currently available). The writing of this paper is one consequence of the DCMSim that wasn t initially planned, and came only when we realized that it had achieved a satisfying standard of quality. We had noticed the benefits from the development of a simulator as a didactic tool in previous disciplines, and used this knowledge as a motivation for the development of a structural simulator with a simple and easy to use interface. The simulator [9] can indeed be used as a didactic tool and has already been requested by the Computer Architecture discipline [10] professor to be presented and used as a learning-aid tool for the current discipline students. We strongly believe that the development and the use of this kind of tool can help the learning process of students, saving time in the classes and making the structure and functioning of the memory systems visible. [3] Horstmann, Cay S.; Cornell, Gary. Core Java 2, Vol. 2, Prentice Hall, [4] Sun Microsystems, The Source for Java Technology, [5] Smith, Alan J. Cache memories, Computing Surveys, Vol. 14, No. 3, 1982, pp [6] Hennessy, John L; Patterson, David A. Computer Organization and Design: The Hardware/Software Interface, second edition, Morgan Kaufman, [7] Hennessy, John L; Patterson, David A. Computer Architecture: A Quantitative Approach, second edition, Morgan Kaufman, [8] Costa, Alexandra S.; Pousa, Christiane V.; Martins, Carlos A. P. S. "Projeto e desenvolvimento de um simulador de memória : análise funcional e de desempenho", III Workshop em Sistemas Computacionais de Alto Desempenho WSCAD 2002, 2002, pp ,. (in Portuguese) [9] DCMSim Home Page [10] Computer Architecture Discipline Home Page, ACKNOWLEDGMENT We would like to thank the Informatics Institute for their support and the Computer Science professor Fabio Tirelo for his help on the Java Swing technology. REFERENCES [1] Martins, Carlos A. P. S.; Corrêa, João B. T.; Góes, Luis F. W.; Ramos, Luiz E. S.; Medeiros, Talles H. "A New Learning Method of Microprocessor Architecture", 32nd ASEE/IEEE Frontiers in Education Conference FIE 2002, Boston, 2002, pp. S1F16- S1F21. [2] Horstmann, Cay S.; Cornell, Gary. Core Java 2, Vol. 1, Prentice Hall, F1C-19

Performance Evaluation of Programming Paradigms and Languages Using Multithreading on Digital Image Processing

Performance Evaluation of Programming Paradigms and Languages Using Multithreading on Digital Image Processing Performance Evaluation of Programming Paradigms and Languages Using Multithreading on Digital Image Processing DULCINÉIA O. DA PENHA 1, JOÃO B. T. CORRÊA 2, LUIZ E. S. RAMOS 3, CHRISTIANE V. POUSA 4, CARLOS

More information

Keywords: parallel algorithm models, message-passing programming model, image convolution, performance analysis and Windows cluster

Keywords: parallel algorithm models, message-passing programming model, image convolution, performance analysis and Windows cluster Comparative Performance Analysis of Parallel Algorithm Models in Message-Passing Image Convolution Implementations Christiane V. Pousa, Luís F. W. Góes, Luiz E. S. Ramos, Dulcinéia O. da Penha, and Carlos

More information

PARACACHE: Educational Simulator for Cache and Virtual Memory

PARACACHE: Educational Simulator for Cache and Virtual Memory 2017 International Symposium on Educational Technology PARACACHE: Educational for and Virtual Memory Aryani Paramita 1, Smitha K G 2 School of Computer Science and Engineering Nanyang Technological University,

More information

Simulation of Cache-based Parallel Processing Systems using Spreadsheets*

Simulation of Cache-based Parallel Processing Systems using Spreadsheets* Int. J. Engng Ed. Vol. 14, No. 2, p. 136±144, 1998 0949-149X/91 $3.00+0.00 Printed in Great Britain. # 1998 TEMPUS Publications. Simulation of Cache-based Parallel Processing Systems using Spreadsheets*

More information

CACHE MEMORIES ADVANCED COMPUTER ARCHITECTURES. Slides by: Pedro Tomás

CACHE MEMORIES ADVANCED COMPUTER ARCHITECTURES. Slides by: Pedro Tomás CACHE MEMORIES Slides by: Pedro Tomás Additional reading: Computer Architecture: A Quantitative Approach, 5th edition, Chapter 2 and Appendix B, John L. Hennessy and David A. Patterson, Morgan Kaufmann,

More information

Tutorial for Chapter 3, 4

Tutorial for Chapter 3, 4 Eastern Mediterranean University School of Computing and Technology ITEC2 Computer Organization & Architecture Tutorial for Chapter 3, 4 Number Systems Binary Number Systems o Base = 2 o A single bit can

More information

6 th Lecture :: The Cache - Part Three

6 th Lecture :: The Cache - Part Three Dr. Michael Manzke :: CS7031 :: 6 th Lecture :: The Cache - Part Three :: October 20, 2010 p. 1/17 [CS7031] Graphics and Console Hardware and Real-time Rendering 6 th Lecture :: The Cache - Part Three

More information

Page 1. Multilevel Memories (Improving performance using a little cash )

Page 1. Multilevel Memories (Improving performance using a little cash ) Page 1 Multilevel Memories (Improving performance using a little cash ) 1 Page 2 CPU-Memory Bottleneck CPU Memory Performance of high-speed computers is usually limited by memory bandwidth & latency Latency

More information

Mismatch of CPU and MM Speeds

Mismatch of CPU and MM Speeds Fö 3 Cache-Minne Introduction Cache design Replacement and write policy Zebo Peng, IDA, LiTH Mismatch of CPU and MM Speeds Cycle Time (nano second) 0 4 0 3 0 0 Main Memory CPU Speed Gap (ca. one order

More information

TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION

TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE Guoping Wang Indiana University Purdue University Fort Wayne, Indiana; Email:wang@engr.ipfw.edu 1. INTRODUCTION Computer Architecture is a common

More information

COSC 3406: COMPUTER ORGANIZATION

COSC 3406: COMPUTER ORGANIZATION COSC 3406: COMPUTER ORGANIZATION Home-Work 5 Due Date: Friday, December 8 by 2.00 pm Instructions for submitting: Type your answers and send it by email or take a printout or handwritten (legible) on paper,

More information

LSN 7 Cache Memory. ECT466 Computer Architecture. Department of Engineering Technology

LSN 7 Cache Memory. ECT466 Computer Architecture. Department of Engineering Technology LSN 7 Cache Memory Department of Engineering Technology LSN 7 Cache Memory Join large storage device to high-speed memory Contains copies of regions of the main memory Uses locality of reference to increase

More information

Didactic Architectures and Simulator for Network Processor Learning

Didactic Architectures and Simulator for Network Processor Learning Didactic Architectures and Simulator for Network Processor Learning Henrique Cota de Freitas 1, Carlos Augusto P. S. Martins 2 Postgraduate Program in Electrical Engineering Pontifical Catholic University

More information

ava with Object-Oriented Generic Programming+ Java Java with Object-Oriented + Generic Programming by Paul S. Wang sofpower.com

ava with Object-Oriented Generic Programming+ Java Java with Object-Oriented + Generic Programming by Paul S. Wang sofpower.com J Java J with Object-Oriented Generic Programming+ ava Java with by Paul S. Wang Object-Oriented + Generic Programming sofpower.com Java with Object-oriented and Generic Programming Paul S. Wang Department

More information

Development of a Java2-based Tutorial Binary Calculator for the Instruction of Binary Arithmetic

Development of a Java2-based Tutorial Binary Calculator for the Instruction of Binary Arithmetic Development of a Java2-based Tutorial Binary Calculator for the Instruction of Binary Arithmetic Gerard N. Foster Purdue University, School of Technology, Kokomo, Indiana Session 2793 Abstract This paper

More information

CS152 Computer Architecture and Engineering Lecture 17: Cache System

CS152 Computer Architecture and Engineering Lecture 17: Cache System CS152 Computer Architecture and Engineering Lecture 17 System March 17, 1995 Dave Patterson (patterson@cs) and Shing Kong (shing.kong@eng.sun.com) Slides available on http//http.cs.berkeley.edu/~patterson

More information

1. Let n be a positive number. a. When we divide a decimal number, n, by 10, how are the numeral and the quotient related?

1. Let n be a positive number. a. When we divide a decimal number, n, by 10, how are the numeral and the quotient related? Black Converting between Fractions and Decimals Unit Number Patterns and Fractions. Let n be a positive number. When we divide a decimal number, n, by 0, how are the numeral and the quotient related?.

More information

The Memory System. Components of the Memory System. Problems with the Memory System. A Solution

The Memory System. Components of the Memory System. Problems with the Memory System. A Solution Datorarkitektur Fö 2-1 Datorarkitektur Fö 2-2 Components of the Memory System The Memory System 1. Components of the Memory System Main : fast, random access, expensive, located close (but not inside)

More information

MIPS X-Ray: A MARS Simulator Plug-in for Teaching Computer Architecture

MIPS X-Ray: A MARS Simulator Plug-in for Teaching Computer Architecture MIPS X-Ray: A MARS Simulator Plug-in for Teaching Computer Architecture http://dx.doi.org/10.3991/ijes.v2i2.3527 Marcio R. D. Araújo 1, Flávio L. C. Pádua 1, Fabrício V. Andrade 1 and Fabio L. Corrêa Junior

More information

Virtual Memory, Address Translation

Virtual Memory, Address Translation Memory Hierarchy Virtual Memory, Address Translation Slides contents from: Hennessy & Patterson, 5ed Appendix B and Chapter 2 David Wentzlaff, ELE 475 Computer Architecture MJT, High Performance Computing,

More information

The Impact of Write Back on Cache Performance

The Impact of Write Back on Cache Performance The Impact of Write Back on Cache Performance Daniel Kroening and Silvia M. Mueller Computer Science Department Universitaet des Saarlandes, 66123 Saarbruecken, Germany email: kroening@handshake.de, smueller@cs.uni-sb.de,

More information

SF-LRU Cache Replacement Algorithm

SF-LRU Cache Replacement Algorithm SF-LRU Cache Replacement Algorithm Jaafar Alghazo, Adil Akaaboune, Nazeih Botros Southern Illinois University at Carbondale Department of Electrical and Computer Engineering Carbondale, IL 6291 alghazo@siu.edu,

More information

ECE 485/585 Microprocessor System Design

ECE 485/585 Microprocessor System Design Microprocessor System Design Lecture 8: Principle of Locality Cache Architecture Cache Replacement Policies Zeshan Chishti Electrical and Computer Engineering Dept Maseeh College of Engineering and Computer

More information

Virtual Memory, Address Translation

Virtual Memory, Address Translation Memory Hierarchy Virtual Memory, Address Translation Slides contents from: Hennessy & Patterson, 5ed Appendix B and Chapter 2 David Wentzlaff, ELE 475 Computer Architecture MJT, High Performance Computing,

More information

PIP: Progressive Implementation Pattern

PIP: Progressive Implementation Pattern PIP: Progressive Implementation Pattern Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Intent Tame complexity and improve development productivity. Reduce the impact

More information

CS152 Computer Architecture and Engineering CS252 Graduate Computer Architecture Spring Caches and the Memory Hierarchy

CS152 Computer Architecture and Engineering CS252 Graduate Computer Architecture Spring Caches and the Memory Hierarchy CS152 Computer Architecture and Engineering CS252 Graduate Computer Architecture Spring 2019 Caches and the Memory Hierarchy Assigned February 13 Problem Set #2 Due Wed, February 27 http://inst.eecs.berkeley.edu/~cs152/sp19

More information

CS152 Computer Architecture and Engineering

CS152 Computer Architecture and Engineering CS152 Computer Architecture and Engineering Caches and the Memory Hierarchy Assigned 9/17/2016 Problem Set #2 Due Tue, Oct 4 http://inst.eecs.berkeley.edu/~cs152/fa16 The problem sets are intended to help

More information

The Microprocessor as a Microcosm:

The Microprocessor as a Microcosm: The Microprocessor as a Microcosm: A Hands-On Approach to VLSI Design Education David Harris David_Harris@hmc.edu November 2002 Harvey Mudd College Claremont, CA Outline Introduction Course Organization

More information

Development of Educational Software

Development of Educational Software Development of Educational Software Rosa M. Reis Abstract The use of computer networks and information technology are becoming an important part of the everyday work in almost all professions, especially

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 10

ECE 571 Advanced Microprocessor-Based Design Lecture 10 ECE 571 Advanced Microprocessor-Based Design Lecture 10 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 2 October 2014 Performance Concerns Caches Almost all programming can be

More information

Cache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory

Cache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory 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

More information

A Framework for the Performance Evaluation of Operating System Emulators. Joshua H. Shaffer. A Proposal Submitted to the Honors Council

A Framework for the Performance Evaluation of Operating System Emulators. Joshua H. Shaffer. A Proposal Submitted to the Honors Council A Framework for the Performance Evaluation of Operating System Emulators by Joshua H. Shaffer A Proposal Submitted to the Honors Council For Honors in Computer Science 15 October 2003 Approved By: Luiz

More information

MICROPROCESSOR FUNDAMENTALS SYLLABUS

MICROPROCESSOR FUNDAMENTALS SYLLABUS MICROPROCESSOR FUNDAMENTALS SYLLABUS This document includes the set of rules that regulates the Microprocessor Fundamentals subject, which is part of the Telecommunication Technologies and Services Engineering

More information

Physical characteristics (such as packaging, volatility, and erasability Organization.

Physical characteristics (such as packaging, volatility, and erasability Organization. CS 320 Ch 4 Cache Memory 1. The author list 8 classifications for memory systems; Location Capacity Unit of transfer Access method (there are four:sequential, Direct, Random, and Associative) Performance

More information

UNOS Operating System Simulator

UNOS Operating System Simulator UNOS Operating System Simulator Proceedings of the 15 th Annual NACCQ, Hamilton New Zealand July, 2002 www.naccq.ac.nz ABSTRACT Zhong Tang UNITEC Institute of Technology Auckland, New Zealand ztang@unitec.ac.nz

More information

Chapter 02. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1

Chapter 02. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1 Chapter 02 Authors: John Hennessy & David Patterson Copyright 2011, Elsevier Inc. All rights Reserved. 1 Figure 2.1 The levels in a typical memory hierarchy in a server computer shown on top (a) and in

More information

Using Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods

Using Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods Using Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods Robert LeMaster, Ph.D. 1 Abstract This paper describes a methodology by which fundamental concepts in the

More information

Lecture 2: Memory Systems

Lecture 2: Memory Systems Lecture 2: Memory Systems Basic components Memory hierarchy Cache memory Virtual Memory Zebo Peng, IDA, LiTH Many Different Technologies Zebo Peng, IDA, LiTH 2 Internal and External Memories CPU Date transfer

More information

2 XHSTT format XHSTT format was proposed by Post et al. [6] to specify timetabling problems. It is split into four main entities: Times Set of timeslo

2 XHSTT format XHSTT format was proposed by Post et al. [6] to specify timetabling problems. It is split into four main entities: Times Set of timeslo A Web-Software to handle XHSTT Timetabling Problems George H.G. Fonseca Thaise D. Delfino Haroldo G. Santos Abstract This work presents a Web-Software to handle XHSTT timetabling problems. The XHSTT format

More information

CS Systems Qualifying Exam 2014

CS Systems Qualifying Exam 2014 CS Systems Qualifying Exam 2014 Important Dates April 27: Registration ends. Registration instructions are below. When you register, you must declare the three exams you plan to take. May 19: Exams. Candidates

More information

Exam-2 Scope. 3. Shared memory architecture, distributed memory architecture, SMP, Distributed Shared Memory and Directory based coherence

Exam-2 Scope. 3. Shared memory architecture, distributed memory architecture, SMP, Distributed Shared Memory and Directory based coherence Exam-2 Scope 1. Memory Hierarchy Design (Cache, Virtual memory) Chapter-2 slides memory-basics.ppt Optimizations of Cache Performance Memory technology and optimizations Virtual memory 2. SIMD, MIMD, Vector,

More information

Chapter Seven. SRAM: value is stored on a pair of inverting gates very fast but takes up more space than DRAM (4 to 6 transistors)

Chapter Seven. SRAM: value is stored on a pair of inverting gates very fast but takes up more space than DRAM (4 to 6 transistors) Chapter Seven emories: Review SRA: value is stored on a pair of inverting gates very fast but takes up more space than DRA (4 to transistors) DRA: value is stored as a charge on capacitor (must be refreshed)

More information

THEORY OF COMPUTATION

THEORY OF COMPUTATION Chapter Eleven THEORY OF COMPUTATION Chapter Summary This chapter introduces the subjects of computability as well as problem classification according to (time) complexity. It begins by presenting the

More information

COMPUTER ARCHTECTURE

COMPUTER ARCHTECTURE Syllabus COMPUTER ARCHTECTURE - 67200 Last update 19-09-2016 HU Credits: 5 Degree/Cycle: 1st degree (Bachelor) Responsible Department: computer sciences Academic year: 0 Semester: 2nd Semester Teaching

More information

CISC 360. Cache Memories Exercises Dec 3, 2009

CISC 360. Cache Memories Exercises Dec 3, 2009 Topics ν CISC 36 Cache Memories Exercises Dec 3, 29 Review of cache memory mapping Cache Memories Cache memories are small, fast SRAM-based memories managed automatically in hardware. ν Hold frequently

More information

A LITERATURE SURVEY ON CPU CACHE RECONFIGURATION

A LITERATURE SURVEY ON CPU CACHE RECONFIGURATION A LITERATURE SURVEY ON CPU CACHE RECONFIGURATION S. Subha SITE, Vellore Institute of Technology, Vellore, India E-Mail: ssubha@rocketmail.com ABSTRACT CPU caches are designed with fixed number of sets,

More information

Design and Functional Verification of Four Way Set Associative Cache Controller

Design and Functional Verification of Four Way Set Associative Cache Controller International Journal of Research in Computer and Communication Technology, Vol 4, Issue 3, March -2015 ISSN (Online) 2278-5841 ISSN (Print) 2320-5156 Design and Functional Verification of Four Way Set

More information

Chapter 03. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1

Chapter 03. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1 Chapter 03 Authors: John Hennessy & David Patterson Copyright 2011, Elsevier Inc. All rights Reserved. 1 Figure 3.3 Comparison of 2-bit predictors. A noncorrelating predictor for 4096 bits is first, followed

More information

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 1: Introduction

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 1: Introduction ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 1: Introduction Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849

More information

CS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II

CS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II CS 152 Computer Architecture and Engineering Lecture 7 - Memory Hierarchy-II Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste

More information

CS356: Discussion #9 Memory Hierarchy and Caches. Marco Paolieri Illustrations from CS:APP3e textbook

CS356: Discussion #9 Memory Hierarchy and Caches. Marco Paolieri Illustrations from CS:APP3e textbook CS356: Discussion #9 Memory Hierarchy and Caches Marco Paolieri (paolieri@usc.edu) Illustrations from CS:APP3e textbook The Memory Hierarchy So far... We modeled the memory system as an abstract array

More information

Com S 321 Problem Set 3

Com S 321 Problem Set 3 Com S 321 Problem Set 3 1. A computer has a main memory of size 8M words and a cache size of 64K words. (a) Give the address format for a direct mapped cache with a block size of 32 words. (b) Give the

More information

Lesson 14: Converting Rational Numbers to Decimals Using Long Division

Lesson 14: Converting Rational Numbers to Decimals Using Long Division Essential Questions What is the form for writing a repeating decimal? Classwork Example : Can All Rational Numbers Be Written as Decimals? a. Using the division button on your calculator, explore various

More information

Tutorial notes on. Object relational structural patterns

Tutorial notes on. Object relational structural patterns Tutorial notes on Object relational structural patterns Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University Page 1 of 14 Exercise 1. a) Briefly describe what is

More information

DARC2: 2 nd Generation DLX Architecture Simulator

DARC2: 2 nd Generation DLX Architecture Simulator Roger Luis Uy De La Salle University 2401 Taft Avenue Malate, Manila +(632) 524-0402 uyr@ccs.dlsu.edu.ph DARC2: 2 nd Generation DLX Architecture Simulator Marizel Bernardo De La Salle University 2401 Taft

More information

Basics of Java Programming CS129 LTPC:

Basics of Java Programming CS129 LTPC: Basics of Java Programming CS9 LTPC: -0-4-3 Instructor: Gauravkumarsingh Gaharwar Program: Masters of Science(IT) Class-Semester: FYMSc(IT) (Sem-II) Email: gauravsinghg@nuv.ac.in Phone Number: 065-30000(0)

More information

University of Nevada, Reno. CacheVisual: A Visualization Tool for Cache Simulation

University of Nevada, Reno. CacheVisual: A Visualization Tool for Cache Simulation University of Nevada, Reno CacheVisual: A Visualization Tool for Cache Simulation A professional paper submitted in partial fulfillment of the requirements for the degree of Masters of Science in Computer

More information

ECE331: Hardware Organization and Design

ECE331: Hardware Organization and Design ECE331: Hardware Organization and Design Lecture 23: Associative Caches Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Last time: Write-Back Alternative: On data-write hit, just

More information

Control Design Tool for Algebraic Digital Controllers

Control Design Tool for Algebraic Digital Controllers Control Design Tool for Algebraic Digital Controllers Authors: Javier López, Ramón P. Ñeco, Óscar Reinoso, José M. Azorín, José M. Sabater, Nicolás M. García Departamento de Ingeniería de Sistemas Industriales,

More information

Monitoring Mobile Code 1

Monitoring Mobile Code 1 Monitoring Mobile Code 1 1 Fernando Luís Dotti, Lucio Mauro Duarte fldotti@kriti.inf.pucrs.br, lmduarte@zaz.com.br Faculdade de Informática - Pontifícia Universidade Católica do Rio Grande do Sul Av. Ipiranga,

More information

CS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 7: OPERATING SYSTEMS [MEMORY MANAGEMENT] Shrideep Pallickara Computer Science Colorado State University TLB Does the TLB work in practice? n

More information

A Two Layered approach to perform Effective Page Replacement

A Two Layered approach to perform Effective Page Replacement IOSR Journal of Engineering (IOSRJEN) e-issn: 2250-3021, p-issn: 2278-8719 Vol. 3, Issue 10 (October. 2013), V5 PP 21-25 A Two Layered approach to perform Effective Page Replacement Khusbu Rohilla 1 (Student

More information

E FOTO project and the research to implement a GNU/GPL opensource educational digital photogrammetric workstation

E FOTO project and the research to implement a GNU/GPL opensource educational digital photogrammetric workstation E FOTO project and the research to implement a GNU/GPL opensource educational digital photogrammetric workstation Program of Post graduation in Geomatics Rio de Janeiro State University Guilherme Lucio

More information

Memory Hierarchy. Maurizio Palesi. Maurizio Palesi 1

Memory Hierarchy. Maurizio Palesi. Maurizio Palesi 1 Memory Hierarchy Maurizio Palesi Maurizio Palesi 1 References John L. Hennessy and David A. Patterson, Computer Architecture a Quantitative Approach, second edition, Morgan Kaufmann Chapter 5 Maurizio

More information

Using Verilog HDL to Teach Computer Architecture Concepts

Using Verilog HDL to Teach Computer Architecture Concepts Using Verilog HDL to Teach Computer Architecture Concepts Dr. Daniel C. Hyde Computer Science Department Bucknell University Lewisburg, PA 17837, USA hyde@bucknell.edu Paper presented at Workshop on Computer

More information

Comparative Analysis of Architectural Views Based on UML

Comparative Analysis of Architectural Views Based on UML Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 12 pages Comparative Analysis of Architectural Views Based on UML Lyrene Fernandes

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 23: Associative Caches Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Last time: Direct mapped cache Pretty simple to

More information

CSE Computer Architecture I Fall 2011 Homework 07 Memory Hierarchies Assigned: November 8, 2011, Due: November 22, 2011, Total Points: 100

CSE Computer Architecture I Fall 2011 Homework 07 Memory Hierarchies Assigned: November 8, 2011, Due: November 22, 2011, Total Points: 100 CSE 30321 Computer Architecture I Fall 2011 Homework 07 Memory Hierarchies Assigned: November 8, 2011, Due: November 22, 2011, Total Points: 100 Problem 1: (30 points) Background: One possible organization

More information

MITOCW watch?v=kvtlwgctwn4

MITOCW watch?v=kvtlwgctwn4 MITOCW watch?v=kvtlwgctwn4 PROFESSOR: The idea of congruence was introduced to the world by Gauss in the early 18th century. You've heard of him before, I think. He's responsible for some work on magnetism

More information

Eastern Mediterranean University School of Computing and Technology CACHE MEMORY. Computer memory is organized into a hierarchy.

Eastern Mediterranean University School of Computing and Technology CACHE MEMORY. Computer memory is organized into a hierarchy. Eastern Mediterranean University School of Computing and Technology ITEC255 Computer Organization & Architecture CACHE MEMORY Introduction Computer memory is organized into a hierarchy. At the highest

More information

Slide Set 5. for ENCM 501 in Winter Term, Steve Norman, PhD, PEng

Slide Set 5. for ENCM 501 in Winter Term, Steve Norman, PhD, PEng Slide Set 5 for ENCM 501 in Winter Term, 2017 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2017 ENCM 501 W17 Lectures: Slide

More information

ECE 353 Lab 1: Cache Simulation

ECE 353 Lab 1: Cache Simulation ECE 353 Lab 1: Cache Simulation Purpose Introduce C programming by means of a simple example Reinforce your knowledge of set associative caches Caches Motivation: The speed differential between main memory

More information

VARUN AGGARWAL

VARUN AGGARWAL ECE 645 PROJECT SPECIFICATION -------------- Design A Microprocessor Functional Unit Able To Perform Multiplication & Division Professor: Students: KRIS GAJ LUU PHAM VARUN AGGARWAL GMU Mar. 2002 CONTENTS

More information

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University SWE3004: Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction Schedule 16:30 17:45 (Monday), 13:30 14:45 (Wednesday) Lecture

More information

CS252 Spring 2017 Graduate Computer Architecture. Lecture 17: Virtual Memory and Caches

CS252 Spring 2017 Graduate Computer Architecture. Lecture 17: Virtual Memory and Caches CS252 Spring 2017 Graduate Computer Architecture Lecture 17: Virtual Memory and Caches Lisa Wu, Krste Asanovic http://inst.eecs.berkeley.edu/~cs252/sp17 WU UCB CS252 SP17 Last Time in Lecture 16 Memory

More information

MEMORY HIERARCHY BASICS. B649 Parallel Architectures and Programming

MEMORY HIERARCHY BASICS. B649 Parallel Architectures and Programming MEMORY HIERARCHY BASICS B649 Parallel Architectures and Programming BASICS Why Do We Need Caches? 3 Overview 4 Terminology cache virtual memory memory stall cycles direct mapped valid bit block address

More information

ECE902 Virtual Machine Final Project: MIPS to CRAY-2 Binary Translation

ECE902 Virtual Machine Final Project: MIPS to CRAY-2 Binary Translation ECE902 Virtual Machine Final Project: MIPS to CRAY-2 Binary Translation Weiping Liao, Saengrawee (Anne) Pratoomtong, and Chuan Zhang Abstract Binary translation is an important component for translating

More information

Principles. Performance Tuning. Examples. Amdahl s Law: Only Bottlenecks Matter. Original Enhanced = Speedup. Original Enhanced.

Principles. Performance Tuning. Examples. Amdahl s Law: Only Bottlenecks Matter. Original Enhanced = Speedup. Original Enhanced. Principles Performance Tuning CS 27 Don t optimize your code o Your program might be fast enough already o Machines are getting faster and cheaper every year o Memory is getting denser and cheaper every

More information

CS 61C: Great Ideas in Computer Architecture. Multilevel Caches, Cache Questions

CS 61C: Great Ideas in Computer Architecture. Multilevel Caches, Cache Questions CS 61C: Great Ideas in Computer Architecture Multilevel Caches, Cache Questions Instructor: Alan Christopher 7/14/2014 Summer 2014 -- Lecture #12 1 Great Idea #3: Principle of Locality/ Memory Hierarchy

More information

Unit 2. Chapter 4 Cache Memory

Unit 2. Chapter 4 Cache Memory Unit 2 Chapter 4 Cache Memory Characteristics Location Capacity Unit of transfer Access method Performance Physical type Physical characteristics Organisation Location CPU Internal External Capacity Word

More information

ECE 30 Introduction to Computer Engineering

ECE 30 Introduction to Computer Engineering ECE 0 Introduction to Computer Engineering Study Problems, Set #9 Spring 01 1. Given the following series of address references given as word addresses:,,, 1, 1, 1,, 8, 19,,,,, 7,, and. Assuming a direct-mapped

More information

The University of Reduced Instruction Set Computer (MARC)

The University of Reduced Instruction Set Computer (MARC) The University of Reduced Instruction Set Computer (MARC) Abstract We present our design of a VHDL-based, RISC processor instantiated on an FPGA for use in undergraduate electrical engineering courses

More information

CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso

CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso 1 Topics Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Binary to Decimal Converting

More information

Design of CPU Simulation Software for ARMv7 Instruction Set Architecture

Design of CPU Simulation Software for ARMv7 Instruction Set Architecture Design of CPU Simulation Software for ARMv7 Instruction Set Architecture Author: Dillon Tellier Advisor: Dr. Christopher Lupo Date: June 2014 1 INTRODUCTION Simulations have long been a part of the engineering

More information

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016 Course and Contact Information San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016 Instructor: Office Location: Fabio Di Troia DH282 Telephone: Email:

More information

An FPGA Project for use in a Digital Logic Course

An FPGA Project for use in a Digital Logic Course Session 3226 An FPGA Project for use in a Digital Logic Course Daniel C. Gray, Thomas D. Wagner United States Military Academy Abstract The Digital Computer Logic Course offered at the United States Military

More information

Use-Case Driven Domain Analysis for Milk Production Information Systems

Use-Case Driven Domain Analysis for Milk Production Information Systems Use-Case Driven Domain Analysis for Milk Production Information Systems Andrea Carla Alves Borim a, Antônio Mauro Saraiva b and Carlos Alberto Ramos Pinto c a Faculdade Comunitária de Campinas Anhanguera

More information

Using a Cache Simulator on Big Data Applications

Using a Cache Simulator on Big Data Applications 1 Using a Cache Simulator on Big Data Applications Liliane Ntaganda Spelman College lntagand@scmail.spelman.edu Hyesoon Kim Georgia Institute of Technology hyesoon@cc.gatech.edu ABSTRACT From the computer

More information

LUCAS An Interactive Visualization System Supporting Teaching of Algorithms and Data Structures

LUCAS An Interactive Visualization System Supporting Teaching of Algorithms and Data Structures LUCAS An Interactive Visualization System Supporting Teaching of Algorithms and Data Structures Erich Schikuta Department of Knowledge and Business Engineering, University of Vienna, Austria erich.schikuta@univie.ac.at

More information

Academic Course Description. EM2101 Computer Architecture

Academic Course Description. EM2101 Computer Architecture Academic Course Description SRM University Faculty of Engineering and Technology Department of Electronics and Communication Engineering EM2101 Computer Architecture Third Semester, 2015-2016 (Odd Semester)

More information

USES AND ABUSES OF AMDAHL'S LAW *

USES AND ABUSES OF AMDAHL'S LAW * USES AND ABUSES OF AMDAHL'S LAW * S. Krishnaprasad Mathematical, Computing, and Information Sciences Jacksonville State University Jacksonville, AL 36265 Email: skp@jsucc.jsu.edu ABSTRACT Amdahl's law

More information

Caches. Cache Memory. memory hierarchy. CPU memory request presented to first-level cache first

Caches. Cache Memory. memory hierarchy. CPU memory request presented to first-level cache first Cache Memory memory hierarchy CPU memory request presented to first-level cache first if data NOT in cache, request sent to next level in hierarchy and so on CS3021/3421 2017 jones@tcd.ie School of Computer

More information

Design of a Processor to Support the Teaching of Computer Systems

Design of a Processor to Support the Teaching of Computer Systems Design of a Processor to Support the Teaching of Computer Systems Murray Pearson, Dean Armstrong and Tony McGregor Department of Computer Science University of Waikato Hamilton New Zealand fmpearson,daa1,tonymg@cs.waikato.nz

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

18. Machine Language. Computer Systems. COMP1917: Computing 1. Machine Language Programming. History of Computer Technology

18. Machine Language. Computer Systems. COMP1917: Computing 1. Machine Language Programming. History of Computer Technology COMP1917 13s2 18. Machine Language 1 COMP1917: Computing 1 18. Machine Language Computer Systems Recall: modern computer systems are layered. Applications Programming Language Operating System Assembly

More information

Cache Memory - II. Some of the slides are adopted from David Patterson (UCB)

Cache Memory - II. Some of the slides are adopted from David Patterson (UCB) Cache Memory - II Some of the slides are adopted from David Patterson (UCB) Outline Direct-Mapped Cache Types of Cache Misses A (long) detailed example Peer - to - peer education example Block Size Tradeoff

More information

Computer Architecture 5th Hennessy Solution Manual

Computer Architecture 5th Hennessy Solution Manual Computer Architecture 5th Hennessy Solution Manual If searching for the ebook Computer architecture 5th hennessy solution manual in pdf form, then you have come on to the right website. We present complete

More information

Operating Systems Projects Built on a Simple Hardware Simulator

Operating Systems Projects Built on a Simple Hardware Simulator Operating Systems Projects Built on a Simple Hardware Simulator John Dickinson Department of Computer Science University of Idaho Moscow, ID 83844-1010 johnd@cs.uidaho.edu Abstract Effective teaching of

More information

An Integrated Educational Environment for Computer Architecture and Organisation Abstract: 1 Introduction

An Integrated Educational Environment for Computer Architecture and Organisation Abstract: 1 Introduction An Integrated Educational Environment for Computer Architecture and Organisation J. Djordjevic, M. Bojovic, A. Milenkovic Faculty of Electrical Engineering, University of Belgrade P.O.Box 3554, 11120 Belgrade,

More information