徐翔宇 余 玲
(廣西科技大學鹿山學院,廣西 柳州 545616)
尋址與存儲功能一體化的存儲器設計
徐翔宇余玲
(廣西科技大學鹿山學院,廣西 柳州 545616)
在微處理器流水線設計中,存儲器的讀寫控制和尋址計算等一直是提高微處理器執行速度的瓶頸。文章在深入研究FPGA技術、存儲器的內部結構、通用尋址方式以及FPGA的開發流程和主要工具的基礎上,設計了一種具有尋址與存儲功能一體化的存儲器。闡述了一體化存儲器的結構組成,并對各功能模塊進行說明。最后通過功能仿真與測試來驗證存儲器的功能,從測試的結果分析設計的一體化存儲器滿足設計要求。
尋址與存儲;一體化;存儲器
在大規模集成電路系統中,存儲器是每一種CPU必須具備的部件,無論是嵌入在CPU芯片中的存儲器,還是CPU外擴的存儲器,包括CPU內部的寄存器組等,都具有讀、寫操作功能。這些存儲器和寄存器的讀寫控制和尋址計算等一直是提高微處理器執行速度的瓶頸。本文提出將具有各種尋址方式的通用寄存器、特殊功能寄存器集成在一個存儲器中的研究方法,使存儲器本身具有尋址、內部數據相互傳輸的功能。將一體化存儲器結構引入微處理器的體系結構中,從而提高微處理器的處理速度。
設計的一體化存儲器具有普通存儲器功能,即在片選CS信號有效的情況下,根據地址值選中相對應的存儲單元,在RD或WR信號的作用下,將該存儲單元中的數據傳輸到數據總線,或將數據總線上的數據寫入到該存儲單元中;同時該存儲器可實現內部存儲單元之間的數據傳輸,也可與CPU進行數據交換;最后設計的一體化存儲器具有立即數尋址;直接尋址;間接尋址;基址相對尋址4種尋址功能。
一體化存儲器被選中依靠片選CS信號,如果片選CS信號為“0”,則一體化存儲器被選中。命令字依靠數據線發送給一體化存儲器,存儲單元M的地址通過地址總線傳輸。數據線擬定為32位,源地址用下標j表示,目的地址用下標i表示,則一體化存儲器命令字格式如表1所示:

表1 一體化存儲器命令字格式
命令字主要包括四部分:無命令執行模式還是命令執行模式+命令編碼+間址和基址存儲單元地址的編碼+地址偏移值。
用D31表示命令操作位,無命令操作時為“0”,有命令操作時為“1”。針對一體化存儲器設計了13條指令,其中指令命令11條,另外2條是存儲器的普通讀寫指令。2條存儲器的普通讀寫指令的執行不需要啟動脈沖分配器的工作。一體化存儲器命令字編碼如表2所示。

表2 一體化存儲器命令字編碼
基于FPGA并行操作控制的特點,應用FPGA設計硬連接控制電路,及其時序控制設計具有尋址功能與存儲單元的一體化存儲器,其基本結構框圖如圖1所示。設計的一體化存儲器主要包括命令寄存及地址數據暫存控制模塊,存儲單元,組合邏輯電路模塊,脈沖分配器,數據傳輸控制模塊,地址傳輸控制模塊。

圖1 一體化存儲器的結構框圖
3.1命令寄存及地址暫存控制模塊
命令寄存及地址暫存控制模塊在系統WR信號的作用下,存儲指令代碼并對指令進行譯碼;存儲間接尋址和基址變址尋址用的存儲單元的地址值、直接尋址的地址值和偏移量并予以輸出;發出WR1和WR2脈沖信號作為脈沖分配器工作的啟動脈沖信號;在執行普通存儲器讀寫功能指令時,復位脈沖分配器。
3.2存儲單元
存儲單元的基本結構與普通存儲器相同,存儲單元中設置有作為間接尋址和基址加變址尋址用的存儲單元。
3.3組合邏輯電路模塊
組合邏輯電路模塊的輸入端與命令寄存及地址數據暫存控制模塊的11條命令輸出端連接,13個與門輸出是這些命令的與邏輯組合。
3.4脈沖分配器
脈沖分配器作為具有尋址功能與存儲單元一體化存儲器的內部時序脈沖發生器為數據傳輸控制模塊和地址傳輸控制模塊提供時序脈沖信號,并向命令寄存及地址數據暫存控制模塊輸出復位信號。命令的執行是在一體化存儲器的內部脈沖的作用下執行,當一體化存儲器接收到有效命令時,啟動內部脈沖發生器。
3.5數據傳輸控制模塊
數據傳輸控制模塊在尋址功能控制信號、讀信號RD、寫信號WR、命令寄存及地址數據暫存控制模塊輸出的WR2信號,以及組合邏輯電路模塊的與邏輯輸出值的作用下,實現存儲單元的數據總線DB_1與系統數據總線DB的數據傳輸控制;并在脈沖分配器輸出的時序脈沖的作用下,根據所執行的命令實現對存儲單元的讀信號RD_1和寫信號WR_1脈沖的控制。
3.6地址傳輸控制模塊
地址傳輸控制模塊在脈沖分配器輸出的時序脈沖,以及組合邏輯電路模塊輸出的與邏輯的控制下,根據命令寄存及地址數據暫存控制模塊輸出的地址值和所執行的指令和命令以及尋址功能控制信號向存儲單元傳輸地址值。
通過對一體化存儲器各模塊的功能分析,用verilog HDL語言對各模塊進行編程,使用ModeSim軟件對存儲器各組成模塊進行功能仿真。本文主要是對命令寄存及地址數據暫存控制模塊,存儲單元,組合邏輯電路模塊,脈沖分配器4個模塊進行了功能仿真,其仿真結果如圖2、3、4、5所示:

圖2 命令寄存及其地址數據暫存控制模塊時序圖

圖3 存儲單元模塊模塊時序圖

圖4 組合邏輯電路模塊時序圖

圖5 脈沖發生器模塊時序圖
根據測試結果分析該一體化存儲器能夠實現普通存儲器的存儲功能,也可以作為間接尋址用的存儲單元,能夠實現存儲器內部存儲單元內容的傳輸,地址運算和尋址過程由內部時序脈沖控制,當命令開始執行時,不用系統再采取任何操作,可以實現該存儲器的自主控制。以上測試結果滿足設計要求,實現了預期功能。
本文構建一種采用FPGA實現尋址功能與存儲一體化存儲器,通過制定適合本設計的指令格式,設計一體化控制器結構以及其組成模塊。所設計的一體化控制器在系統寫指令命令和寫操作數的WR信號的作用下,內部產生脈沖序列信號,控制器在內部脈沖序列信號的作用下,自主完成尋址與數據傳輸命令的譯碼,尋址和數據傳輸的操作,探索提高微處理器尋址和存儲器數據傳輸處理速度的新途徑,新方法。
[1] 唐明軍,唐慧強,黃金燕.基于ARM的可編程控制器的硬件設計[J].儀表技術與傳感器,2006(5):40-41,44.
[2] 梁作宇,張延華,姜振宇,等.基于嵌入式PLC的順序控制器設計與實現[J].計算機應用研究,2006,24(4):237-239.
[3] 孫愷,王田苗,魏洪興.基于ARM的嵌入式可重構數控系統的設計與實現[J].機床與液壓,2003(6):116-117,285.
[4] 劉皖.FPGA設計與應用[M].北京:清華大學出版社,2006.
[5] 尚明.FPGA技術的應用與發展趨勢[J].科技資訊,2007(14): 10-12.
[6] 鐘雷.基于FPGA的通用存儲器控制器的系統設計與實現[D].上海:復旦大學,2009.
Addressing the integration of memory and storage function design
The design, the microprocessor line of memory read/write control and addressing calculation has been the bottleneck of improving the microprocessor speed. In-depth study the FPGA technology is presented in this paper, the internal structure of the memory,general way of addressing and FPGA, on the basis of the development process and the main tool, design a kind of addressing the integration of memory and storage function, expounds the structure of the integrated storage, and each function module. Finally through the simulation and testing to verify the function of the memory, from the test results meet the design requirements analysis and design of integrated storage.
Addressing and storage; integration; memory
TP33
A
1008-1151(2016)04-0024-02
2016-03-10
2014年自治區級大學生創新創業訓練計劃立項項目(201413639020)。
徐翔宇(1992-),男,廣西科技大學鹿山學院電氣與計算機工程系學生。