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.
|
|
- Barbara Walker
- 5 years ago
- Views:
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 DULCINÉIA O. DA PENHA 1, JOÃO B. T. CORRÊA 2, LUIZ E. S. RAMOS 3, CHRISTIANE V. POUSA 4, CARLOS
More informationKeywords: 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 informationPARACACHE: 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 informationSimulation 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 informationCACHE 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 informationTutorial 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 information6 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 informationPage 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 informationMismatch 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 informationTEACHING 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 informationCOSC 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 informationLSN 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 informationDidactic 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 informationava 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 informationDevelopment 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 informationCS152 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 information1. 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 informationThe 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 informationMIPS 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 informationVirtual 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 informationThe 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 informationSF-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 informationECE 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 informationVirtual 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 informationPIP: 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 informationCS152 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 informationCS152 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 informationThe 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 informationDevelopment 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 informationECE 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 informationCache 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 informationA 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 informationMICROPROCESSOR 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 informationPhysical 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 informationUNOS 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 informationChapter 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 informationUsing 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 informationLecture 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 information2 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 informationCS 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 informationExam-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 informationChapter 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 informationTHEORY 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 informationCOMPUTER 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 informationCISC 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 informationA 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 informationDesign 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 informationChapter 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 informationELEC 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 informationCS 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 informationCS356: 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 informationCom 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 informationLesson 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 informationTutorial 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 informationDARC2: 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 informationBasics 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 informationUniversity 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 informationECE331: 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 informationControl 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 informationMonitoring 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 informationCS370: 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 informationA 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 informationE 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 informationMemory 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 informationUsing 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 informationComparative 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 informationECE232: 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 informationCSE 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 informationMITOCW 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 informationEastern 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 informationSlide 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 informationECE 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 informationVARUN 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 informationSWE3004: 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 informationCS252 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 informationMEMORY 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 informationECE902 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 informationPrinciples. 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 informationCS 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 informationUnit 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 informationECE 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 informationThe 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 informationCMSC 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 informationDesign 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 informationSan 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 informationAn 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 informationUse-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 informationUsing 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 informationLUCAS 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 informationAcademic 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 informationUSES 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 informationCaches. 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 informationDesign 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 informationChapter 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 informationELEC 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 information18. 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 informationCache 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 informationComputer 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 informationOperating 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 informationAn 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