徐翔宇 余 玲
(廣西科技大學(xué)鹿山學(xué)院,廣西 柳州 545616)
尋址與存儲(chǔ)功能一體化的存儲(chǔ)器設(shè)計(jì)
徐翔宇余玲
(廣西科技大學(xué)鹿山學(xué)院,廣西 柳州 545616)
在微處理器流水線設(shè)計(jì)中,存儲(chǔ)器的讀寫控制和尋址計(jì)算等一直是提高微處理器執(zhí)行速度的瓶頸。文章在深入研究FPGA技術(shù)、存儲(chǔ)器的內(nèi)部結(jié)構(gòu)、通用尋址方式以及FPGA的開發(fā)流程和主要工具的基礎(chǔ)上,設(shè)計(jì)了一種具有尋址與存儲(chǔ)功能一體化的存儲(chǔ)器。闡述了一體化存儲(chǔ)器的結(jié)構(gòu)組成,并對各功能模塊進(jìn)行說明。最后通過功能仿真與測試來驗(yàn)證存儲(chǔ)器的功能,從測試的結(jié)果分析設(shè)計(jì)的一體化存儲(chǔ)器滿足設(shè)計(jì)要求。
尋址與存儲(chǔ);一體化;存儲(chǔ)器
在大規(guī)模集成電路系統(tǒng)中,存儲(chǔ)器是每一種CPU必須具備的部件,無論是嵌入在CPU芯片中的存儲(chǔ)器,還是CPU外擴(kuò)的存儲(chǔ)器,包括CPU內(nèi)部的寄存器組等,都具有讀、寫操作功能。這些存儲(chǔ)器和寄存器的讀寫控制和尋址計(jì)算等一直是提高微處理器執(zhí)行速度的瓶頸。本文提出將具有各種尋址方式的通用寄存器、特殊功能寄存器集成在一個(gè)存儲(chǔ)器中的研究方法,使存儲(chǔ)器本身具有尋址、內(nèi)部數(shù)據(jù)相互傳輸?shù)墓δ堋⒁惑w化存儲(chǔ)器結(jié)構(gòu)引入微處理器的體系結(jié)構(gòu)中,從而提高微處理器的處理速度。
設(shè)計(jì)的一體化存儲(chǔ)器具有普通存儲(chǔ)器功能,即在片選CS信號有效的情況下,根據(jù)地址值選中相對應(yīng)的存儲(chǔ)單元,在RD或WR信號的作用下,將該存儲(chǔ)單元中的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)總線,或?qū)?shù)據(jù)總線上的數(shù)據(jù)寫入到該存儲(chǔ)單元中;同時(shí)該存儲(chǔ)器可實(shí)現(xiàn)內(nèi)部存儲(chǔ)單元之間的數(shù)據(jù)傳輸,也可與CPU進(jìn)行數(shù)據(jù)交換;最后設(shè)計(jì)的一體化存儲(chǔ)器具有立即數(shù)尋址;直接尋址;間接尋址;基址相對尋址4種尋址功能。
一體化存儲(chǔ)器被選中依靠片選CS信號,如果片選CS信號為“0”,則一體化存儲(chǔ)器被選中。命令字依靠數(shù)據(jù)線發(fā)送給一體化存儲(chǔ)器,存儲(chǔ)單元M的地址通過地址總線傳輸。數(shù)據(jù)線擬定為32位,源地址用下標(biāo)j表示,目的地址用下標(biāo)i表示,則一體化存儲(chǔ)器命令字格式如表1所示:
表1 一體化存儲(chǔ)器命令字格式
命令字主要包括四部分:無命令執(zhí)行模式還是命令執(zhí)行模式+命令編碼+間址和基址存儲(chǔ)單元地址的編碼+地址偏移值。
用D31表示命令操作位,無命令操作時(shí)為“0”,有命令操作時(shí)為“1”。針對一體化存儲(chǔ)器設(shè)計(jì)了13條指令,其中指令命令11條,另外2條是存儲(chǔ)器的普通讀寫指令。2條存儲(chǔ)器的普通讀寫指令的執(zhí)行不需要啟動(dòng)脈沖分配器的工作。一體化存儲(chǔ)器命令字編碼如表2所示。
表2 一體化存儲(chǔ)器命令字編碼
基于FPGA并行操作控制的特點(diǎn),應(yīng)用FPGA設(shè)計(jì)硬連接控制電路,及其時(shí)序控制設(shè)計(jì)具有尋址功能與存儲(chǔ)單元的一體化存儲(chǔ)器,其基本結(jié)構(gòu)框圖如圖1所示。設(shè)計(jì)的一體化存儲(chǔ)器主要包括命令寄存及地址數(shù)據(jù)暫存控制模塊,存儲(chǔ)單元,組合邏輯電路模塊,脈沖分配器,數(shù)據(jù)傳輸控制模塊,地址傳輸控制模塊。
圖1 一體化存儲(chǔ)器的結(jié)構(gòu)框圖
3.1命令寄存及地址暫存控制模塊
命令寄存及地址暫存控制模塊在系統(tǒng)WR信號的作用下,存儲(chǔ)指令代碼并對指令進(jìn)行譯碼;存儲(chǔ)間接尋址和基址變址尋址用的存儲(chǔ)單元的地址值、直接尋址的地址值和偏移量并予以輸出;發(fā)出WR1和WR2脈沖信號作為脈沖分配器工作的啟動(dòng)脈沖信號;在執(zhí)行普通存儲(chǔ)器讀寫功能指令時(shí),復(fù)位脈沖分配器。
3.2存儲(chǔ)單元
存儲(chǔ)單元的基本結(jié)構(gòu)與普通存儲(chǔ)器相同,存儲(chǔ)單元中設(shè)置有作為間接尋址和基址加變址尋址用的存儲(chǔ)單元。
3.3組合邏輯電路模塊
組合邏輯電路模塊的輸入端與命令寄存及地址數(shù)據(jù)暫存控制模塊的11條命令輸出端連接,13個(gè)與門輸出是這些命令的與邏輯組合。
3.4脈沖分配器
脈沖分配器作為具有尋址功能與存儲(chǔ)單元一體化存儲(chǔ)器的內(nèi)部時(shí)序脈沖發(fā)生器為數(shù)據(jù)傳輸控制模塊和地址傳輸控制模塊提供時(shí)序脈沖信號,并向命令寄存及地址數(shù)據(jù)暫存控制模塊輸出復(fù)位信號。命令的執(zhí)行是在一體化存儲(chǔ)器的內(nèi)部脈沖的作用下執(zhí)行,當(dāng)一體化存儲(chǔ)器接收到有效命令時(shí),啟動(dòng)內(nèi)部脈沖發(fā)生器。
3.5數(shù)據(jù)傳輸控制模塊
數(shù)據(jù)傳輸控制模塊在尋址功能控制信號、讀信號RD、寫信號WR、命令寄存及地址數(shù)據(jù)暫存控制模塊輸出的WR2信號,以及組合邏輯電路模塊的與邏輯輸出值的作用下,實(shí)現(xiàn)存儲(chǔ)單元的數(shù)據(jù)總線DB_1與系統(tǒng)數(shù)據(jù)總線DB的數(shù)據(jù)傳輸控制;并在脈沖分配器輸出的時(shí)序脈沖的作用下,根據(jù)所執(zhí)行的命令實(shí)現(xiàn)對存儲(chǔ)單元的讀信號RD_1和寫信號WR_1脈沖的控制。
3.6地址傳輸控制模塊
地址傳輸控制模塊在脈沖分配器輸出的時(shí)序脈沖,以及組合邏輯電路模塊輸出的與邏輯的控制下,根據(jù)命令寄存及地址數(shù)據(jù)暫存控制模塊輸出的地址值和所執(zhí)行的指令和命令以及尋址功能控制信號向存儲(chǔ)單元傳輸?shù)刂分怠?/p>
通過對一體化存儲(chǔ)器各模塊的功能分析,用verilog HDL語言對各模塊進(jìn)行編程,使用ModeSim軟件對存儲(chǔ)器各組成模塊進(jìn)行功能仿真。本文主要是對命令寄存及地址數(shù)據(jù)暫存控制模塊,存儲(chǔ)單元,組合邏輯電路模塊,脈沖分配器4個(gè)模塊進(jìn)行了功能仿真,其仿真結(jié)果如圖2、3、4、5所示:
圖2 命令寄存及其地址數(shù)據(jù)暫存控制模塊時(shí)序圖
圖3 存儲(chǔ)單元模塊模塊時(shí)序圖
圖4 組合邏輯電路模塊時(shí)序圖
圖5 脈沖發(fā)生器模塊時(shí)序圖
根據(jù)測試結(jié)果分析該一體化存儲(chǔ)器能夠?qū)崿F(xiàn)普通存儲(chǔ)器的存儲(chǔ)功能,也可以作為間接尋址用的存儲(chǔ)單元,能夠?qū)崿F(xiàn)存儲(chǔ)器內(nèi)部存儲(chǔ)單元內(nèi)容的傳輸,地址運(yùn)算和尋址過程由內(nèi)部時(shí)序脈沖控制,當(dāng)命令開始執(zhí)行時(shí),不用系統(tǒng)再采取任何操作,可以實(shí)現(xiàn)該存儲(chǔ)器的自主控制。以上測試結(jié)果滿足設(shè)計(jì)要求,實(shí)現(xiàn)了預(yù)期功能。
本文構(gòu)建一種采用FPGA實(shí)現(xiàn)尋址功能與存儲(chǔ)一體化存儲(chǔ)器,通過制定適合本設(shè)計(jì)的指令格式,設(shè)計(jì)一體化控制器結(jié)構(gòu)以及其組成模塊。所設(shè)計(jì)的一體化控制器在系統(tǒng)寫指令命令和寫操作數(shù)的WR信號的作用下,內(nèi)部產(chǎn)生脈沖序列信號,控制器在內(nèi)部脈沖序列信號的作用下,自主完成尋址與數(shù)據(jù)傳輸命令的譯碼,尋址和數(shù)據(jù)傳輸?shù)牟僮鳎剿魈岣呶⑻幚砥鲗ぶ泛痛鎯?chǔ)器數(shù)據(jù)傳輸處理速度的新途徑,新方法。
[1] 唐明軍,唐慧強(qiáng),黃金燕.基于ARM的可編程控制器的硬件設(shè)計(jì)[J].儀表技術(shù)與傳感器,2006(5):40-41,44.
[2] 梁作宇,張延華,姜振宇,等.基于嵌入式PLC的順序控制器設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2006,24(4):237-239.
[3] 孫愷,王田苗,魏洪興.基于ARM的嵌入式可重構(gòu)數(shù)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)床與液壓,2003(6):116-117,285.
[4] 劉皖.FPGA設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2006.
[5] 尚明.FPGA技術(shù)的應(yīng)用與發(fā)展趨勢[J].科技資訊,2007(14): 10-12.
[6] 鐘雷.基于FPGA的通用存儲(chǔ)器控制器的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),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年自治區(qū)級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃立項(xiàng)項(xiàng)目(201413639020)。
徐翔宇(1992-),男,廣西科技大學(xué)鹿山學(xué)院電氣與計(jì)算機(jī)工程系學(xué)生。