[go: up one dir, main page]

Academia.eduAcademia.edu

Review on memory divisions in computer architecture

2018, International Journal of Advance Research, Ideas and Innovations in Technology

Abstract

This Research Paper is totally concentrated to define different memory systems that are present in the market, and what is their importance in today’s generation. In this paper, we review the different hierarchies of the memory systems. It talks about cache-memory based systems and its various levels. Cache memories along with the virtual memories and processor registers form a field of memory hierarchies that depends on the principle of locality of reference. Most applications show the temporal and spatial zones among order and data. Then it describes about RAM (Random Access Memory) and its types which include DRAM (Dynamic Random-Access Memory) and SRAM (Static Random-Access Memory), it also describes the flash memory and its importance because of its small size and large memory containing abilities Memory hierarchies are intended to keep most likely referenced items in the fastest devices.

Jain Mudit et al.; International Journal of Advance Research, Ideas and Innovations in Technology ISSN: 2454-132X Impact factor: 4.295 (Volume 4, Issue 6) Available online at: www.ijariit.com Review on memory divisions in computer architecture Mudit Jain mudit.jain2017@vitbhopal.ac.in VIT Bhopal University, Bhopal, Madhya Pradesh Devansh Patil devansh.patil2017@vitbhopal.ac.in VIT Bhopal University, Bhopal, Madhya Pradesh Ayush Naidu ayush.naidu2017@vitbhopal.ac.in VIT Bhopal University, Bhopal, Madhya Pradesh Tanay Parikh tanay.parikh2017@vitbhopal.ac.in VIT Bhopal University, Bhopal, Madhya Pradesh P Sanjeevi sanjeevi.p@vitbhopal.ac.in VIT Bhopal University, Bhopal, Madhya Pradesh ABSTRACT This Research Paper is totally concentrated to define different memory systems that are present in the market, and what is their importance in today’s generation. In this paper, we review the different hierarchies of the memory systems. It talks about cachememory based systems and its various levels. Cache memories along with the virtual memories and processor registers form a field of memory hierarchies that depends on the principle of locality of reference. Most applications show the temporal and spatial zones among order and data. Then it describes about RAM (Random Access Memory) and its types which include DRAM (Dynamic Random-Access Memory) and SRAM (Static Random-Access Memory), it also describes the flash memory and its importance because of its small size and large memory containing abilities Memory hierarchies are intended to keep most likely referenced items in the fastest devices. Keywords— DRAM, SRAM, Cache memory, Memory hierarchy 1. INTRODUCTION In computing, memory refers to the computer hardware devices which are used to store the data and information for instantaneous use in the computers. It is synonymous with the term primary storage. The memory hierarchy is the key block in modern computer systems as the gap between the speed of the processor and the memory tend to increase. Computer memory operates at a higher speed, for sample Random Access Memory as a distinction from storage that provides slow to access program and data storage but offers higher capacities. If needed contents of the computer memory which can be transferred to the secondary storing through a memory administration technique which is called virtual memory. Though it is not detailed in this paper, Virtual Memory is cited because of inclusiveness and to introduce the TLB cache. An archaic synonym for memory is a store. The term meaning primary storage or main memory is often associated with addressable semiconductor memory that is Integrated Circuits (IC) containing Silicon-Based Transistors [1,3,4]. There are basically two types of semiconductors: (a) Volatile (b) Non-volatile Flash memory is an example of non-volatile memory which is used as a secondary memory and ROM (Read Only Memory), PROM (Programmable-Read Only Memory), EEP-ROM (Electrically Erasable-Read Only Memory) and EP-ROM (Erasable Programmable- Read Only Memory) which are used for storing firmware such as BIOS (Basis Input/ Output Systems). The examples of volatile memory include a primary storage which is Dynamic-Random Access Memory and fast CPU cache memory which is typically Static-Random Access Memory which is fast but consumes a lot more energy as compared to the other memories. It offers lower memory areal density than DRAM. Most semiconductor memory is organized into memory cells or bits able flipflops that stores either 0 or 1. On the other hand, flash memory organization includes both one bit per memory cell and multiple bits per cell which are called MLC (Multiple Level Cell). The memory cells are assembled into words of static word length. Here each word can be accessed by a binary address of n bit, making it possible to store 2 raised by n words in the memory. This implies processor registers normally are not considered as a memory since they only store one word and do not include an addressing mechanism. © 2018, www.IJARIIT.com All Rights Reserved Page | 122 Jain Mudit et al.; International Journal of Advance Research, Ideas and Innovations in Technology It is amazing how many different types of electronic memory we see and use in daily life. Many of them have become an integral part of our life: RAM, ROM, Cache, Dynamic RAM, Static RAM, Flash memory, Memory Sticks, Virtual memory, Video memory, BIOS [1]. As the gap between memory speed and the processor speed grows, the program which works to improve the performance of the memory system has become gradually important. To understand and enhance memory performance researchers and practitioners in presentation analysis and compiler design require a detailed understanding of the memory pecking order of the target computer system. It’s not easy to get perfect information about memory hierarchy. Seller microprocessor documentation is often incomplete, vague or worse in its description of important on-chip memory parameters. Also, today’s computer system of government contains complex, multilevel memory systems where the processor is but one constituent of the memory systems. Because of the gap between processor performance and memory performance remains to grow, so, presentation analysis and compiler optimisations are increasingly focused on memory hierarchy of the target computers to optimise memory system we need to know for any level of TLB (Translation Lookaside Buffer) or cache, the size, line size, associativity, write allotment and replacement policies and whether each cache or TLB is split or unified [2]. To capitalize the performance, full advantage of limited resources is required to be taken to direct for the specific submission of the memory hierarchy. However, the old-fashioned custom memory hierarchy design organizations are ordered in phases. They separate the application optimization from the memory hierarchy architecture design, which inclines to outcome in locally optimal solutions. In Hardware-Software co-design organizations, most of the work focuses on using the reconfigurable logic to partition the calculation. However, the utilizing configurable logic to achieve the memory hierarchy design is not addressed generally [3]. 1.1 Memory Hierarchy Memory Hierarchy is an idea which is important for the CPU to be able to manipulate the data. Memory Hierarchy is a term Computer Scientists use to explain different ways a Computer handles information, whether the data is temporary or permanent. Computer memory is defined in the below hierarchy (figure 1). Fig. 1: Memory Hierarchy [6] 2. REGISTER FILES Register files are being used by current processors to store the data, it also distributes transitional results of computations in Memory Hierarchy. Register Files is the extreme level in several different ways. Register Files is decided and ruled by contradictory requirements. In spherulitic path register read happens and it is achieved in a single cycle and desirable, frequency processor has a Register Files latency needs to be a pipeline which has advantages like: (a) 1 Rises pipeline length. (b) 2 Penalties of branch misprediction. (c) 3 Impacting intricacy and performance. Through large instruction windows capacity of the Register Files is immense to be effectively exploited. Operands should not be accommodated in Register Files which has advanced latency should have high bandwidth and a large number of sports so that it permits issuing and write back orders in each and every cycle. In multiple thread processors pressure on Register Files is high so a big number of thread context is being billeted Register Files should be protected from easy errors and it is substantial also, because of that any soft error quickly propagates to another system. Register Files have slight energy consumption to meet the power and thermal budget [16]. 3. CACHE-BASED SYSTEMS Even with the precisions in the technology, microprocessors are still considered quicker than the Main Memory. Memory access time is gradually the blockage in the overall performance of the application. As an outcome, an application might spend more amount of time waiting for the data. This not only damagingly impacts on the overall performance, but the application cannot be encouraged much from a processor clock-speed upgrade either. One other way too overwhelmed this problem is the addition of a small high-speed buffer memory between the supercomputer and the main memory. Such a buffer is generally mentioned to as cache memory or cache in short [4]. © 2018, www.IJARIIT.com All Rights Reserved Page | 123 Jain Mudit et al.; International Journal of Advance Research, Ideas and Innovations in Technology 3.1 Mainly cache memory is divided into two levels: 3.1.1 Level 1 A level 1 cache (L1 cache) is a memory cache that is straight built into the microprocessor, which is used for storing the microprocessor’s freshly accessed info, thus it is also called the primary cache. It is also knowing as the internal cache or system cache. L1 is one of the fastest cache memories presents in CPU. It has zero wait state boundary already built within the chip. And because of that, it becomes one of the most well-appointed cache memories in CPU. It is used for storing the data which is freshly used by the processor. Such as critical files that need to be executed directly, when the processor is executing a computer instruction, it is the first cache which is accessed and processed. It has a drawback as it has a limited size [20]. 3.1.2 Level 2 An L2 cache memory is located outside and isolated from the microprocessor chip core but it is found on same processor chip package. In past times L2 cache initiatives place them on the motherboard and which made them quite slow. In modern CPUs, the L2 cache memory is normally planned in microprocessor units, though they are not fast as L1 cache, as it is present outside of the core, its capacity can be increased and it is still fast than the main memory. L2 cache is also known as secondary cache or external cache. 3.1.3 Level 3 A specialized cache that is used by the CPU is known as LEVEL 3 cache. In some certain superior processors, it is built within the CPU module but usually, it is built onto the motherboard. It avoids bottlenecks created by the fetch and execute cycle which takes too long. By working together with the L1 and L2 cache to improve computer performance. The L2 cache gets information feed from L3, which then onwards information to the L1 cache. It is quicker than the main memory (RAM), but its memory performance is slower compared to L2 cache The L3 cache is usually built onto the motherboard between the main memory (RAM) and the L2 and L1 caches of the processor module. In order to prevent bottlenecks resulting from the fetching of these data from the main memory, it serves as another bridge to park information like processor commands and frequently used data. In short, the L3 cache and L2 behavior are same, before L2 got built-in within the processor module itself [20]. 3.2 Cache mapping is of three types 3.2.1 Direct mapping: In this mapping data is kept in both RAM and cache. Index part and tag part are is two division of address space. 3.2.2. Associative mapping: In this type of mapping, content, and address both of memory world is kept in associative memory. In this, it randomly seats words in the cache memory. 3.2.3. Set associative mapping: It is the grouping of both direct and associative mapping. Lines are gathered in the form of sets. This type is an improved form of direct mapping by removing the drawbacks of direct mapping [9]. First data needed by CPU is taken into the cache from memory after that CPU registers take cache. The transfer of data from the CPU to cache is fast and from cache to memory is slow. Storage of results is in the contradictory direction. Data is copied into the cache by the system. Depending on the cache architecture details, the data is then instantly copied back to memory, or deferred. If an application needs the same data again, data access time is reduced significantly if the data is still in the cache [4]. Finally, the advantages of cache so it is very much operative in system performance, in the system it is the fastest memory, the motherboard’s system bus is not used by CPU for data transfer and because of that CPU can process data much faster by sidestepping the bottleneck created by a system bus. But nothing is perfect in this world so it also has disadvantages as it is costlier than RAM [12]. 4. RANDOM ACCESS MEMORY Random Access Memory is the location (hardware) in a computer where the operating system, data, and application programs in current use are kept so that they can be rapidly retrieved by the computer's processor for real picture which is used inside the systems you can prefer fig 2. From another kind of storage in a computer (hard disk, CD -ROM and floppy disk) RAM is much quicker than any of this thing in reading and writing. When the computer is turned off or shunt down RAM misplaces its data. And when you turn on the computer again files and operating system are once again loaded into RAM usually from the hard disk. If we compare RAM and hard disk with a person then we can say that a person’s short-term memory is RAM and long-term memory is a hard disk. The short-term memory focuses on work at hand but can keep so many facts in view at a time. If short-term memory fills up, the person’s brain occasionally is able to refresh it from facts stored in long-term memory. A computer also works this way. If RAM fills up, the processor needs to frequently access to the hard disk to overlay old data in RAM with new, it results in slowing down the computer's operation [13]. Fig. 2: RAM [8] © 2018, www.IJARIIT.com All Rights Reserved Page | 124 Jain Mudit et al.; International Journal of Advance Research, Ideas and Innovations in Technology 4.1 Static Random-Access Memory Static Random-Access Memory is one of the variations of RAM. It is designed to fill two needs first one is to deliver a direct interface to CPUs at speeds unachievable by DRAMs and the second one is to replace DRAMs in systems that require very low power consumption. It performs very well in low power applications due to the nature of the device. SRAM cells are comprised of six MOSFETs. Bit information is stored in four transistors which act as across attached inverters, while the residual transistors control access to data during reading/write operations is going on. It uses low power competence that’s why it is used in portable equipment’s and also it does not require a refresh cycle due to the absence of capacitors in its design. We can use SRAM as it is still volatile but this type of applications is not used because of its price [14]. 4.2 Dynamic random-access memory Dynamic random-access memory stores all its data in each bit of data in a distinct tiny capacitor within the integrated circuit. The capacitor can either be discharged or charged, these two states are taken to characterize the two values of a bit, conventionally called 0 and 1. The data stored in the capacitor is soon misplaced as an electric charge on the capacitors slowly leaks off. For protecting the loss of data DRAM requires an external memory refresh circuit which sporadically restores the data in the capacitors, restoring them to their original charge. Because of this refresh obligation, it gets different from the static random-access memory which does not necessitate data to be refreshed. DRAM is a volatile memory but it is not used because its data get lost quickly as power is detached. However, DRAM does show limited data remanence. DRAM has many demands in digital electronics where low-cost and high-capacity memory is required. One of the major applications for DRAM is the graphics cards (where the "main memory" is called the graphics memory) and main memory in modern computers. It is also used in numerous video games consoles and portable devices. Although SRAM is costly so we only use SRAM over DRAM where speed is of a superior concern than cost, such as the cache memorise in processors [15]. 5. FLASH MEMORY Flash memory follows Moore’s law. Flash memory is low-priced than DRAM and quicker than disks. So, in this way research has been going on assimilating flash devices as an auxiliary for storage purposes. You can see in figure 3 the high-security USB flash drive architecture. The flash provides respectable performance and a price characteristic to back a virtual memory. Through asynchronous page write options longer written dormancy is hidden and it is relatively longer and allows faster page access. Flash virtual memory has been examined and its use had been deliberated. The system of their responsiveness improves flash disk as swap space. Due to its limited write durability swapping was done to avoid for supporting and avoiding flash. It has investigated the truth behind the issues and revisiting the VM hierarchy in light of flash memory [5]. Fig. 3: High-security USB flash drive architecture [11] 6. HARD DISK The hard disk is also called hard drive or fixed disk, is an electromechanical data storage device. It is used to store magnetic storage and repossess digital information. It uses one or more rotating disks which are coated with magnetic material. you can see a commonly used hard disk in figure 4. The platters are paired with magnetic heads which has actuator arm.it reads and writes to platter surfaces. The data is retrieved in a random-access manner. It’s can be stored in any order but not sequentially [15]. Fig. 4: Hard Disk [18] © 2018, www.IJARIIT.com All Rights Reserved Page | 125 Jain Mudit et al.; International Journal of Advance Research, Ideas and Innovations in Technology 7. MAGNETIC TAPES It improves the presentation and it also extends the utility of information which calls for access for even larger data, so the need for more data storage with more time opens doesn’t matter how we make progress. The parameters are capacity, access time, data transfer rate, and the cost per bite for basic routine characteristics of storage devices. You can see a magnetic tape and a CD in figure 5(i)and 5(ii) which are used to store the data previously. Each storage has own characteristics and most applications of modern electronic computer era are now 30 years old. We have seen main-memory technology development from vacuum tubes to mercury delay lines to cathode-ray tubes to magnetic cores and now perceiving the change to semiconductor technology with LSI [17]. (a) (b) Fig. 5: (a) Magnetic Tapes, (b) CD [19] 8. IMPROVING MEMORY HIERARCHY PERFORMANCE The gap between CPU speed and memory speed are growing day by day as innovative generations of computer systems are being introduced and used in the cloud [21-30]. Multi-level memory hierarchies are the standard architectural design which is used to address this memory access bottleneck. As the gap between CPU speed and memory speed upsurges, systems are being created with deeper hierarchies. Attaining high performance on such systems needs couture the reference behavior of applications to well match the characteristics of the machine’s memory hierarchy. Techniques such as loop blocking and data prefetching have significantly improved memory hierarchy utilization for regular applications. A constraint of these methods is that they are not as effective for irregular applications. Improving routine for irregular applications is extremely important since large-scale scientific and engineering simulations are using adaptive irregular methods. Irregular applications are characterized by outlines of data and computation that are not known until runtime. In such applications, access to data often has poor spatial and sequential locality, which central to ineffective use of a memory hierarchy. Improving memory system performance for the irregular applications requires addressing problems of both the latency and bandwidth. Latency is a problem because of poor temporal and spatial reuse results in elevated cache and Translation Lookaside Buffer miss rates. Bandwidth is a problem because unintended references which are found in irregular applications tend to have poor spatial locality. Thus, when access cause blocks of data to be drawn into the various levels of the memory hierarchy, items within a block are either referenced only a few times or not at all before the block is evicted due to conflict or capacity misses, even though these items will be referenced later in the execution [10]. 9. MEMORY HIERARCHY HARDWARE-SOFTWARE CO-DESIGN IN EMBEDDED SYSTEMS Embedded system has many categories of diverse characteristics as related to general-purpose systems. Software and hardware both get combine so that they can run specific applications that range from multimedia into the industrial control system. These kinds of application differ very high in their characteristics. Maximize performance, minimize cost request for different hardware architects or it has a trade-off between the performance and the cost because of the expected objectives. On second general purpose system and embedded system are characterized by the restrictive resources and embedded system.in addition to the vigorous restriction, embedded systems have to deliver high computation capability and meet real-time constraints [7]. 10. CONCLUSION In this research paper, we have given an introduction to Memory Systems. We have tried to show the importance of Memory Systems in our day to day life. First, we have discussed the memory hierarchy. In the hierarchy we have discussed the register files, then we have discussed the cache-based systems and its different levels. Further moving down, the paper we have discussed RAM and its different types which include DRAM and SRAM. Some introductory information about Flash Memory has also been given. Also, information regarding Hard Disks and Magnetic Tapes is given. Techniques to improve the Memory Hierarchy performance has also been discussed. Memory Hierarchy is a very wide concept but we have tried to provide some of its basic information for the beginners. 11. REFERENCES [1] Nikola Zlatan “Computer Memory, Applications and Management”. p.30 2016 [2] Clark L. Coleman and Jack W. Davidson “Automatic Memory Hierarchy Characterization” Department of Computer Science, University of Virginia 2001 [3] Zhiguo Ge, H. B. Lim, W. F. “Wong Memory Hierarchy Hardware-Software Co-design in Embedded Systems” 2005 [4] Ruud van der Pas, High-Performance Computing “Memory Hierarchy in Cache-Based Systems” Sun Microsystems, Inc. Part No.817-0742-10 11/20/02, Revision an Edition: November 2002 [5] Mohit Saxena and Michael M. Swift “FlashVM: Revisiting the Virtual Memory Hierarchy” Department of Computer Sciences University of Wisconsin-Madison 2009 © 2018, www.IJARIIT.com All Rights Reserved Page | 126 Jain Mudit et al.; International Journal of Advance Research, Ideas and Innovations in Technology [6] Deepak Ajwani, Henning Meyerhenke Chapter 5. Realistic Computer Models January 2010 [7] Zhiguo Ge, H. B. Lim, W. F. “Memory Hierarchy Hardware-Software Co-design in Embedded Systems” Department of Computer Science, Singapore-MIT Alliance, National University of Singapore 2005 [8] Otto Andersen1, Idun Husabø Anderssen1, Johan Liu2, Teng Wang2, David Whalley3, Helge Kristiansen4, Tom Ove, Grønlund4, Krystyna Bukat5, Jianying Liu6, Xiuzhen Lu6, Zhaonian Cheng6, December 2006 [9] Dr. Vivek Chaplot “Cache Memory: An Analysis on Performance Issues” HEAD, Dept. of Computer Science Bhupal Nobles’ University Volume 4, Issue 7, July 2016 [10] John Mellor-Crummey, David Whalley, Ken Kennedy “Improving Memory Hierarchy Performance for Irregular Applications Using Data and Computation Reordering’s” 2001 [11] Teh-Lu Liao 1, Pei-Yen Wan 1, Pin-Cheng Chien 1, Yi-Chieh Liao 2, Liang-Kai Wang 3 and Jun-Juh Yan 4 “Design of HighSecurity USB Flash Drives Based on Chaos Authentication” 2018 [12] Akshay Kanwar, Aditi Khazanchi, Lovenish Saluja “Cache Memory Organization” International Journal of Engineering and Computer Science ISSN:2319-7242 Volume 2 Issue 10 October 2013 Page No. 2944-2950 [13] Peter Haugen, Ian Myers, Bret Sadler, John Whidden “A Basic Overview of Commonly Encountered types of Random-Access Memory”, 2001 [14] Sourangsu Banerji “Architectural Design of a RAM Arbiter” Department of Electronics & Communication Engineering, RCCInstitute of Information Technology, Under West Bengal University of Technology, April 2014 [15] https://en.wikipedia.org/wiki/Dynamic_random-access_memory(accessed 04/10/2018) [16] Sparsh Mittal A “Survey of Techniques for Designing and Managing CPU Register file” Concurrency and computation: practice and experience Concurrency Computat.: Pract. Exper. 2016; 00:1–23 [17] Albert S. Hoagland, “Magnetic Recording Storage” IEEE transactions on computers, vol. c-25, no. 12, December 1976 [18] Dr. engineer Salah alkhafaji “Fundamentals of Information Technology” January 2016 [19] Federica Bressan,1 Antonio Rodà,2 Sergio Canazza,2 Federico Fontana,3 Roberta Bertani4, “The Safeguard of Audio Collections: A Computer Science-Based Approach to Quality Control—The Case of the Sound Archive of the Arena di Verona, December 2013 [20] Techopedia https://www.techopedia.com/definition/8048/level-1-cache-l1-cache (accessed 04/10/2018) [21] P. Sanjeev and P. Viswanathan, ‘NUTS scheduling approach for cloud data centers to optimize energy consumption’, Computing (Springer), Vol. 99, No. 12, pp. 1179-1205, 2017. [22] P. Sanjeevi and P. Viswanathan, ‘Workload Consolidation Techniques to Optimize Energy in Cloud: Review’, Int. J. of Internet Protocol Technology, Vol. 10, No. 2, pp. 115–125, 2017. [23] P. Sanjeevi and P. Viswanathan, ‘DTCF: Deadline Task Consolidation First for energy minimization in cloud data centers’, International Journal of Networking and Virtual Organizations, Inderscience, Vol. 19, No. 3, pp. 209–233, 2017. [24] P. Sanjeevi and P. Viswanathan, ‘Employing Smart Homes IoT Techniques for Dynamic Provision of Cloud Benefactors’, Int. J. of Critical Computer-Based Systems, Inderscience, Vol. 7, No. 3, pp. 209–224, 2017. [25] P. Sanjeevi and P. Viswanathan, ‘A survey on various problems and techniques for optimizing energy efficiency in cloud architecture', Walailak Journal of Science and Technology, Vol. 14, No. 10, 2017. [26] P. Sanjeevi, P. Viswanathan, M. R. Babu, and P. V. Krishna, ‘Study and Analysis of Energy Issues in Cloud Computing', International Journal of Applied Engineering Research, Vol. 10, No. 7, pp. 16961-16969, 2015. [27] P. Sanjeevi, G. Balamurugan, and P. Viswanathan, ‘The Improved DROP Security based on Hard AI Problem in Cloud’, Int. J. of Internet Protocol Technology, Vol. 9, No. 4, pp. 207-217, 2017. [28] P. Sanjeevi and P. Viswanathan, ‘A green energy optimized scheduling algorithm for cloud data centers', IEEE International Conference on Computing and Network Communications, Trivandrum, pp. 941-945, 2015. [29] P. Sanjeevi and P. Viswanathan, ‘Towards energy-aware job consolidation scheduling in the cloud', International Conference on Inventive Computation Technologies (ICICT 2016), IEEE Xplore, pp. 361- 366, 2016. [30] G. Kesavan, P. Sanjeevi and P. Viswanathan, ‘A 24 hour IoT framework for monitoring and managing home automation', International Conference on Inventive Computation Technologies (ICICT 2016), IEEE Xplore, pp. 367-371, 2016. © 2018, www.IJARIIT.com All Rights Reserved Page | 127