• Tidak ada hasil yang ditemukan

_turnitin_ goh dih jiannx

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "_turnitin_ goh dih jiannx"

Copied!
110
0
0

Teks penuh

I declare that this report entitled “MEMORY SYSTEM DESIGN AND DEVELOPMENT FOR RISC 32-BIT 5-PHASE CELLS: MEMORY SYSTEMS INTEGRATION” is my own work except for those mentioned in the references. Mok Kai Ming, who encourages me when I've lost faith, comforts me when I'm stressed, and enlightens me when I've lost my way. A million thanks and appreciation for his guidance and wisdom throughout the course of this project.

This project is to improve the current RISC32 architecture developed in Universiti Tunku Abdul Rahman under the Faculty of Information and Communication Technology by redesigning the memory system. After reviewing the previous work, use the RISC32 processor memory system cache unit with write-through scheme which can improve its efficiency more. Therefore, this project is initiated to redesign the cache unit into write-back cache and add a write buffer (FIFO) in the cache unit to handle the data transferred to SDRAM when read misses and write misses occur.

Some modifications on memory arbiter have been done so that the new cache unit works in the memory system. This project is modeled using Verilog HDL and a test program will be developed to test the functionality and compatibility of the newly designed write-back cache with the rest of memory system (memory arbiter, SDRAM controller, SDRAM).

Introduction

Background Information

Faculty of Information and Communication Technology (Perak Campus), UTAR Page 12. Memory hierarchy was introduced in the late 1960s to reduce average latency and reduce the bandwidth required to speed up the memory system. The performance of a memory hierarchy analysis via the average memory access time, using the following expression:. average memory access time = hit time + miss rate * miss penalty. Thus, the effort to reduce the performance gap between the processor and physical memory is concentrated on efficient implementations of a memory hierarchy to reduce misses, mispenalty, and hit time.

Motivation and Problem Background

Memory hierarchy was introduced in the late sixties to provide lower average latency and reduced bandwidth requirements to speed up the memory system. The lack of well-developed verification specifications for these microprocessor cores will certainly affect the physical design phase. Otherwise, if the front-end design requires change, the entire physical design must be redone.

Problem Statement

Literature Review

  • Write-through Scheme vs Write-back Scheme
  • Write buffer
    • Write Buffer Saturation
    • Write-back Scheme with Write Buffer
  • Reduce Miss Rate via Larger Block Size: Multiword Block Direct Mapped Cache
  • Cache Unit
    • Cache Associative
    • Scenarios to Represent Cache Behaviours
    • Block Partitioning of Cache Unit
  • SDRAM
  • SDRAM Controller
    • Block partitioning of SDRAM Controller
  • Memory Arbiter
    • I/O Description
    • Memory Arbiter State Diagram
    • State Definition
    • Output or Behaviors Corresponding to the States

The memory controller asserts strobe, cycle, and read signals to the SDRAM controller to receive new data. The memory controller asserts strobe, cycle, and read to the SDRAM controller to access the data in the SDRAM. SDRAM control by the SDRAM controller modeled by Chin Chun Lek, so in this project it is enough to focus on the function of SDRAM and its configuration – determining the load mode.

32. ui_sdc_read ui_sdc_write ui_host_ld_mode ui_sdc_sel ui_sdc_addr ui_sdc_dat ui_sdc_clk ui_sdc_rst. uo_sdc_dat uo_sdc_ack uio_sdc_dq uo_sdc_ba uo_sdc_dqm uo_sdc_addr uo_sdc_cs_n uo_sdc_ras_n uo_sdc_cas_n uo_sdc_we_n u_sdram_controller.

Figure 2-2-1 Write-back scheme with write buffer
Figure 2-2-1 Write-back scheme with write buffer

Project Scope and Objectives

Project Objectives

Impact and Significance

Method and Technologies Involved

Design Methodology

  • Micro-architecture Level Design (Unit Level)
  • Micro-architecture Level Design (Block Level)

This project was only involved in micro-architecture level design (Unit level and Block level) as higher architecture level was complete and only waiting for integration. The unit module is divided into several blocks that each block has its own functionality to perform the sub-function of the unit module to reduce complexity of design process. Once finished with the micro-architecture specification, with the information in the specification, RTL modeling with High Level Language or Hardware Description Language (HDL) can be started.

Verilog will be used as design language in this project during RTL modelling. The model must then go through a verification process that verifies the functionality of the design that must conform to the microarchitecture specification.

Design Tools

  • Verilog HDL Simulator - Mentor Graphics ModelSim SE-64 10.1c

Memory System Specification

Partitioning and Design Hierarchy

Memory System Specifications

Memory Map

Architecture of Memory System

Micro-Architecture Specification

Cache Unit

Scenarios to Represent Cache Behaviors ............................Error! Bookmark not defined

Block Partitioning of Cache Unit

Cache Controller Block

  • Cache Controller block I/O description
  • Cache Controller State Diagram
  • Cache Controller State Definition ................................Error! Bookmark not defined
  • FIFO Controller block I/O description
  • FIFO Controller State Diagram
  • FIFO Controller State Definition..................................Error! Bookmark not defined
  • FIFO Controller block I/O description

Verification

Test Plan

Testbench Verilog Code

Simulation Result

Cache_3 has priority to run first according to priority in the memory arbiter. The data was continuously written to the cache (the data became dirty because it is not updated on the SDRAM) and then the data for the next two clock cycles was read into uo_cac_cpu_data. A write miss occurred and FIFO_hit is invalidated because it tried to write to a cache location valid=0.

A write miss occurs and FIFO_hit is not asserted because the attempt to write to the cache location is different. Since the cache location to be written to is dirty, the block is fetched and copied to the FIFO. A write miss occurs and FIFO_hit is asserted because the attempt to write to the cache location is different.

The cache location to be written is dirty, so move the data block from the cache to the FIFO. The FIFO waits for the SDRAM to prepare the receive data, then when the ack signal is asserted, the data is written back to the SDRAM. While writing to SDRAM, a read error occurs, so the pipeline is blocked until the block of data is finished being written to.

Read miss and FIFO miss (fifo_hit de-asserted) happen because tag is different; data must be read back from SDRAM to cache and. Read miss because tag is different and fifo_hit asserted, data written back from FIFO to SDRAM. FIFO full, so FIFO writes data back to SDRAM first to free space, then continue the write miss process.

Conclusion

  • Conclusion
  • Discussion and Future Work
  • Naming Convention
  • Basic RISC32 processor
    • Processor Interface
    • I/O Pin Description
  • System Register
    • General Purpose Register
    • Special Purpose Register
  • Instruction Format
  • Addressing Mode
  • Instruction Set and Description
  • Memory Map
  • Operating Procedure

In Proceedings of the 3rd Internal Conference on Computer Architecture, Universidade do Minho http://gec.di.uminho.pt/discip/minf/ac0102/1600IRAM.pdf. Chin Chun Lek Bit Memory System Design: Design of Memory Controller for Micron SDR SDRAM” University of Tunku Abdul Rahman, Faculty of Information and Communication Technology. Ching Yi-lynn (2008) “Memory System Design: Integration of Caches, Translation Side Buffer (TLB) and SDRAM” Tunku Abdul Rahman University, Faculty of Information and Communication Technology.

Oon Zhi Kang (2008) “SDRAM Improvement: Designing the WISHBONE SDRAM Controller Industry Standard” Tunku Abdul Rahman University, Faculty of Information and Communication Technology. Type Pin type lower o : output i : input r : register w : wire f- : function level Name of the lower level all if, id, ex,. Based Displacement Addressing, where the operand is at a memory location whose address is the sum of a register and a constant in the instruction.

PC relative addressing, where branch address is the sum of the PC and a constant in the instruction. Pseudodirect addressing, where the jump address is the 26 bits of the instruction concatenated with the top bits of the PC.

Table A-1 RISC32 features
Table A-1 RISC32 features

Gambar

Figure 1-1-1 starting with 1980 performance as a baseline, the gap in performance  between memory and processors is plotted over time
Figure 2-2-1 Write-back scheme with write buffer
Figure 2-2-2 Multiword block direct mapped cache (block size = 32 bytes)  2.4 Cache Unit
Table 2-5-1 List of SDRAM commands and function. (Micron datasheet)
+7

Referensi

Dokumen terkait

\caption{...}% caption below the object \end{figure} Figure 2: Without any Options only the fbox package option Code for figure 2: 1 \hvFloat{figure}{\includegraphics{rose}}{Without