DSpace Repository

Low Energy DRAM Controller for Computer Systems

Show simple item record

dc.contributor.author González Trejo, Alberto
dc.date.accessioned 2020-03-02T18:46:30Z
dc.date.available 2020-03-02T18:46:30Z
dc.date.created 2019-06-11
dc.date.issued 2020-03-02
dc.identifier.citation González Trejo, Alberto. (2019). Low Energy DRAM Controller for Computer Systems (Maestría en Ciencias en Ingeniería de Cómputo). Instituto Politécnico Nacional, Centro de Investigación en Computación, México. es
dc.identifier.uri http://tesis.ipn.mx/handle/123456789/28033
dc.description Tesis (Maestría en Ciencias en Ingeniería de Cómputo), Instituto Politécnico Nacional, CIC, 2019, 1 archivo PDF, (81 páginas). tesis.ipn.mx es
dc.description.abstract RESUMEN: “El sistema de memoria: no lo puedes evadir, no lo puedes ignorar, no lo puedes engañar.” Bruce Jacob Las características de desempeño de los sistemas de memoria basados en DRAM son primeramente afectadas por dos atributos: la velocidad de transmisión de datos del dispositivo y el tiempo de ciclo de fila. Las velocidades de transmisión de datos de dispositivos DRAM de productos modernos y los tiempos de ciclo de fila están escalando a diferentes velocidades con cada generación (SDRAM, Open page DRAM, DDR, DDR2, DDR3, DDR4). Como resultado, las características de desempeño de los sistemas de memoria modernos basados en DRAM son cada vez más difíciles de evaluar, y al mismo tiempo la llamada barrera de memoria, la cual señala que la diferencia en el incremento de la frecuencia de reloj de un CPU, y el menor incremento en la velocidad de memoria, limita el desempeño de los sistemas de cómputo actuales, los cuales generalmente acceden a memoria intensivamente. El controlador de memoria es la parte del sistema de memoria principal que está cargo de asegurar el correcto funcionamiento de los dispositivos DRAM, y al mismo tiempo, se encarga de la transmisión de datos hacia y desde los dispositivos DRAM. Sin embargo, dada la complejidad de los protocolos de acceso de memoria DRAM, el gran número de parámetros de tiempo, y el inmenso número de combinaciones de organizaciones de sistemas de memoria, características de cargas de trabajo y diferentes fines de diseño; el diseño de esta parte del sistema de memoria principal en específico tiene tanta libertad de diseño como el diseño de un procesador que implementa la arquitectura de un conjunto de instrucciones en específico. En este trabajo empleamos un simulador de código libre para evaluar diferentes algoritmos de planificación de memoria, lo cual nos permite seleccionar el algoritmo que tiene el mejor desempeño en términos de consumo de energía. Como resultado, proveemos el diseño de la arquitectura de un controlador de memoria, el cual es implementado en Verilog y probado en una plataforma FPGA. Por último, este trabajo provee un análisis profundo de cómo un sistema de memoria basado en DRAM realmente trabaja y qué tan factible es el pasar de un simulador al mundo de la implementación de un controlador de memoria DRAM DDR3. ABSTRACT: “The Memory System: You can't avoid it, you can't ignore it, you can't fake it.” Bruce Jacob The performance characteristics of modern DRAM memory systems are primarily impacted for two attributes: the device data rate and the row cycle time. Modern commodity DRAM devices data rates and row cycle times are scaling at different rates with each succesive generation (SDRAM, Open page DRAM, DDR, DDR2, DDR3, DDR4). As a result, the performance characteristics of modern DRAM memory systems are becoming more difficult to evaluate, and at the same time the called \emph{memory wall}, which points out the gap between the increment on CPU clock frequency and the lower increment in memory speed, is limiting the performance of modern computer systems, which are mainly memory intensive. The memory controller is the part of the main memory system that is in charge of assuring the proper operation of the DRAM devices and at the same time, it manages the flow of data into and out the DRAM devices. However, due to the complexity of DRAM memory access protocols, the large number of timing parameters, the large number of combinations of memory system organizations, different workload characteristics and different design goals, the design of this specific part of the main memory system has as much freedom as the design space of a processor that implements a specific Instruction Set Architecture. This specific part of the main memory system is specially treated as a \emph{black box} since its implementation is mainly provided by the same companies that manufacture the computer systems chips (ASICs or FPGAs). This situation leads to a lack of knowledge of how this specific device controller really works. In this work, we leverage an open source simulation framework to evaluate different memory scheduling algorithms, which allows us to choose the one that performs better in terms of power consumption. As a result, we provide an architectural design of a memory controller, which is implemented in Verilog and tested on a FPGA platform. Last but not least, this work provides a thoroughly journey of how a DRAM memory system works and how feasible it is to jump from a simulation framework to the world of actual implementation of a DDR3 DRAM memory controller. es
dc.language.iso en es
dc.subject Arquitectura de computadoras es
dc.subject Arreglos de compuertas de campos programables es
dc.title Low Energy DRAM Controller for Computer Systems es
dc.contributor.advisor Ramírez Salinas, Marco Antonio
dc.contributor.advisor Cristal Kestelman, Adrián


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse

My Account