999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微程序控制器的雙CPU系統的設計

2012-05-11 00:45:24章鳴嬛葉有祥
微型電腦應用 2012年5期
關鍵詞:指令實驗系統

章鳴嬛,葉有祥

0 引言

隨著微電子技術和計算機技術的迅猛發展,尤其是大規模可編程器件,如現場可編程邏輯陣列FPGA(Field Programmable Gate Array)的出現,在苛刻的實時處理系統的要求下,出現了一種新穎靈活的技術——可重構技術。它采用實時電路重構技術[1],在運行時根據需要,動態改變系統的電路結構,主要通過對系統中的可編程器件進行重配置或部分重配置,從而使系統既有硬件優化所能達到的高速度和高效率,又能像軟件那樣靈活可變,易于升級。可重構體系結構[2]能夠跟據不同的應用需求,靈活、快速地改變自身的結構,以便能為每個特定的應用提供與之相匹配的體系結構。

1 32位微處理器系統(實驗CPU)的邏輯設計

1.1 “實驗CPU”的邏輯結構

1.1.1 “實驗CPU”的總體結構框圖

控制器是CPU及整個處理器系統的核心,它負責指揮控制協調處理器系統的所有工作。根據微操作控制信號產生方法的不同,控制器可分為常規邏輯控制器和微程序控制器兩種。

“實驗CPU”采用微程序控制器的方式,其總體邏輯結構,如圖1所示:

圖1 實驗CPU的總體邏輯框圖

1.1.2 系統主要模塊概述

總線:本系統采用單總線,即微處理器的內部總線和外部總線均為一條總線。采用16位地址總線;結合實驗平臺要求,采用兩條數據總線,一條是入32位CPU的數據總線DBin,另外一條是出32位CPU的數據總線DBout。需要讀內存時,連至DBin,要寫內存時,連至DBout。

寄存器組:寄存器模塊寄存器組中共包括R0至R31共32個寄存器。

運算器部件ALU:ALU包括含累加器A和A2、暫存器ACT、狀態寄存器等,可完成各種算術、邏輯運算功能,如加減、與、或及移位等。

指令部件:指令部件模塊包括指令寄存器、程序計數器(PC)及其控制電路等。

微程序控制部件:微程序控制摸塊包括微指令寄存器、微程序計數器及它的控制電路(加 1、接數等)、微指令寄存器、時序控制電路、微操作信號發生電路等。

存儲器:存儲器為外接的RAM存儲器,容量為32K*8b。

外設:為了實現外部輸入信息的處理,系統中使用4*4鍵盤作為外設。對存儲器和外設分別設置獨立的讀/寫信號。

1.2 “實驗CPU”的指令集設計

本系統指令集共設計26條常用指令,包括傳送、運算、存取及跳轉、棧操作、移位、子程序調用等類型,尋址方式包括立即尋址、直接尋址,間接尋址及相對尋址等。

1.2.1 指令執行流程

分別對傳送及加法指令在系統邏輯框圖中的執行流程進行列舉,如表1所示:

表1 指令集舉例及指令執行流程

1.2.2 指令編碼

對表1中列舉的指令進行指令編碼,如表2所示:

表2 指令編碼

1.3 “實驗CPU”的控制器設計

“實驗CPU”采用微程序控制器。將微程序控制信號以微碼的形式構成微指令,編成多微指令的微程序,存于存儲器中。

1.3.1 微指令編碼及微程序編碼

設計微處理器的微指令寬度為32位。微操作數少于32個,可采用直接表示法每一個微操作信號都由微指令相應的某一位來控制。

根據各指令在系統邏輯框圖中的執行流程和微指令編碼中信號的有效性,得到微程序編碼[3]。以表1中的傳送指令:“MOV A,Ri”為例,說明如下:

為了執行該條指令,首先必須根據表1中的指令執行流程,得到在指令執行的過程中,需要用到哪些控制信號,而后根據這些控制信號的有效與否,對控制信號進行取值。

該指令為單字節指令,因此,共需要兩條微指令來執行,前條執行本條指令的功能,后條為“取指微指令”。即:

001,0111,1110,1000,1110,0011,1010,1101 17E8E3AE

001,1100,1110,1000,1101,0011,1010,0001 1CE8D3A1

1.3.2 時鐘發生選擇器及時鐘分頻器的設計

時鐘發生選擇器的存在是由于需要產生不同的波形,“實驗CPU”連續運行時是連續的方波,單步運行時是兩個脈沖,還需要產生持續的低電平用來暫停CPU。

時鐘分頻器的存在是由于ARM9實驗平臺上提供的時鐘較快,加入該時鐘分頻器保證了在每次內存操作完成之后,實驗CPU才進入下半個時鐘周期。本系統中分頻倍率為16777216倍,可以將60MHz的晶振頻率降到0.25-0.5Hz。

2 實驗CPU的邏輯綜合及下載

為了利用可重構技術及可編程資源在物理上實現“實驗CPU”,需要將實驗CPU系統進行VHDL(Very high speed integrated circuit Hardware Description Language,VHDL)描述,形成可綜合的代碼[4]。

例如,微程序控制器模塊功能的部分VHDL描述如下[5]:

--MCLK,MPCK,MICK

process(CLK,RESET,RUN)

begin

if(RESET='0')then MCLK<='0';

elsif falling_edge(CLK)then

if(RUN='1')then MCLK<=not MCLK;

end if;

end if;

end process;

--MCLR

process(MCLK,RESET)

begin

if(RESET='0')then MCLR<='0';

elsif rising_edge(MCLK)then MCLR<='1';

end if;

end process;

3 雙CPU監控系統的硬件實現

本開發中所用的綜合工具為Synplicity,它是VHDL/VerilogHDL綜合軟件,生成“.edf”文件后可調入任何PLD開發平臺進行布線、仿真和下載。

將經過綜合而生成網表文件cpu_32.edf文件,下載到目標板的可編程資源FPGA中,從而構成可重構的“實驗CPU”。

4 雙CPU監控系統的工作方式研究及結果展示

論文涉及的雙CPU監控系統,兩個處理器內核均可正常運行指令、執行任務;利用ARM9實驗板平臺的ARMCPU來監視用“實驗CPU”的工作情況,并模擬實驗CPU的內存,以實現機器碼運行;通過串行口發送的指令來完成單步、運行、停止、實驗CPU指令文件傳送、實驗CPU內存修改、內存察看等工作。本系統利用一個已知的CPU來監控可重構的另一CPU,研究雙CPU監控系統,嘗試對新的體系結構的研究。

4.1 數據監控的狀態口及控制口

為了實現數據監控,例如地址線、微指令地址線、數據線的工作狀態,及微指令數據線數值的讀取,需要在對應的輸出部件連上了狀態寄存器(狀態口),從而在程序設計中提供了查看接口;而對于“實驗CPU”的“運行”與“重啟”接口,進行了接上命令寄存器(控制口)的連接,從而可以控制“實驗CPU”的運行與初始化。

4.2 雙CPU監控系統的通信狀態分析

雙CPU監控系統的工作內容可以分為兩部分。一部分是初始化工作,其中涉及到中斷服務程序的初始化、對通信口的初始化,對模擬內存的初始化等工作;另一部分是狀態機,主要由4種不同的大狀態組成,分別是:STOP(START),RUNNING,STEP,COM。狀態之間的關系,如圖4所示:

圖4 雙CPU監控系統的工作狀態轉換

(1)START狀態下,32位“實驗CPU”未處于運行狀態。因此相關的狀態是設置CPU的“重啟”及“運行”均為無效狀態(低電平0)。

(2)RUNNING(連續運行)狀態下,32位“實驗CPU”全速運行,CPU的“重啟”及運行均處于有效狀態。時鐘發生選擇器需要產生連續的方波。系統還特別設置了直接進入STOP(START)狀態的快捷鍵。

(3)STEP(單步運行)狀態下,32位“實驗CPU”單步運行,時鐘發生選擇器產生兩個脈沖。之后每按一次“單步運行”快捷鍵T,“實驗CPU“完成一個工作周期,并打印出幾個監控接口的觀察值。在STEP中的工作狀態,如圖5所示:

圖5 系統進入STEP模式

(4)COM狀態下,將有3個功能菜單可供選擇:0選擇文件(機器指令文件,即S19文件)傳輸,1、選擇模擬內存修改,2、選擇模擬內存察看,3、選擇退回到執行(START)模式。在這個狀態下,文件傳輸就是將機器指令文件通過串行口傳至ARM CPU,解碼后放在指定內存地址中,然后可以退回到執行模式下運行即可;內存察看的方法是,選擇2即可輸入地址,按回車可以查看;內存修改則輸入地址和需要修改的內容即可。如圖6所示:

圖6 COM模式下內存查看

5 實驗結果分析

5.1 雙CPU監控系統的特點分析

通過上述分析,可以看出雙CPU監控系統具有以下特點:

(1)該系統在工作時能夠正常穩定的運行指令和執行任務,可實現處理器資源的并行處理,提高處理器的實時工作性能。

(2)在工作時,ARM-CPU能夠監視“實驗CPU”的工作狀態,提高實驗CPU工作的穩定性。

(3)本系統采用可重構資源實現,實現硬件系統的軟件化,便于系統升級。

5.2 與其他設計方式的對比分析

本系統的另一特點是,32位的“實驗CPU”具有較快的系統時鐘,大約僅需要0.01秒即可完成一個周期,有較高的工作效率,并引入了鍵盤作為外設,進行內存與外設的交互。

為了節省可重構的資源,也采用了模擬內存的方式,但結果顯示,速度立刻會下降。這是因為內存是模擬的,因此很多操作就會占用時間。以內存讀取為例,首先,由于地址是通過放在內存中的一個變量實現的,對其讀取意味著是對內存操作;其次,要讀取指定地址的模擬內存的值,這又需要一次內存操作;最后將結果放置于數據總線DBin上,這也是一次內存操作。綜合多方面的因素,大約需要4秒鐘才能完成一個工作周期。

6 總結

本文論述采用可重構技術,利用實驗平臺的可編程資源,設計出簡單靈活的微處理器系統,該微處理器擁有指令集和控制單元,能夠正確執行所有指令;并利用該平臺上的另一處理器ARM-CPU,可與已有的微處理器構成雙CPU監控系統,從而獲得更高可靠性和實用性系統。并可以根據根據需要添加適當的外部設備,如在擴展實驗中,本研究還將外部的模擬信號引入并進行數模轉換,再對得到的數字信號分析處理。

[1]章鳴嬛.基于可重構技術的雙核微處理器系統的設計[J].微型電腦應用,2011,27(7):12-14.

[2]徐佳慶,鄔貴明,竇勇.二維DCT在粗粒度可重構處理器上的實現[J].計算機工程,2008,34(20):257.

[3]徐允文,蔡敏.基于微程序技術的存儲控制器的研究和設計[J].半導體技術,2007,32(11):997.

[4]黃潔.可編程邏輯器件及其應用前景[J].中國科技信息,2005,13:38.

[5]陳耀和.VHDL語言設計技術[M].北京:電子工業出版社,2004:7-8.

猜你喜歡
指令實驗系統
聽我指令:大催眠術
記一次有趣的實驗
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
做個怪怪長實驗
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: 黄色网在线| 国产亚洲精品自在久久不卡| 亚洲男人天堂2018| 国产电话自拍伊人| 日本不卡免费高清视频| 被公侵犯人妻少妇一区二区三区| 国产成a人片在线播放| 91福利国产成人精品导航| 奇米影视狠狠精品7777| 国产精品久线在线观看| 国产十八禁在线观看免费| 亚洲精品视频免费| 精品三级在线| 久久综合五月| 日韩欧美国产另类| 午夜啪啪福利| 欧日韩在线不卡视频| 狠狠色丁香婷婷| 欧美成人午夜影院| 亚洲精品无码抽插日韩| 在线无码私拍| 人妻无码中文字幕第一区| 久久综合色视频| 国产欧美日韩va另类在线播放 | 在线人成精品免费视频| 国产大全韩国亚洲一区二区三区| 国产噜噜噜视频在线观看| 亚洲码在线中文在线观看| 国产激情无码一区二区三区免费| 国产av剧情无码精品色午夜| 91福利免费| 99久久精品国产麻豆婷婷| 特黄日韩免费一区二区三区| 另类重口100页在线播放| 无码中字出轨中文人妻中文中| Jizz国产色系免费| 欧美三级不卡在线观看视频| 黄网站欧美内射| 亚洲精品片911| 成人国产免费| 午夜福利无码一区二区| 午夜福利视频一区| 亚洲免费播放| 精品91自产拍在线| 无码免费视频| 波多野结衣在线一区二区| 精品欧美日韩国产日漫一区不卡| 综合色88| 免费在线不卡视频| 色窝窝免费一区二区三区| 国产一在线| 视频在线观看一区二区| 国产亚洲精品精品精品| 一级毛片无毒不卡直接观看 | 亚洲美女一区| 亚洲无卡视频| 国产白浆一区二区三区视频在线| 国产一区成人| 国产网站一区二区三区| 国产欧美日韩va另类在线播放 | 人人澡人人爽欧美一区| 亚洲最大情网站在线观看| 色亚洲成人| 国产人成午夜免费看| 区国产精品搜索视频| 久久鸭综合久久国产| 天天躁狠狠躁| 亚洲国产成人久久77| 亚洲va视频| 永久在线播放| 天天色天天操综合网| 99久久精品国产自免费| 亚洲成a人片77777在线播放| 国产美女精品在线| 手机看片1024久久精品你懂的| 国产美女精品在线| 美女高潮全身流白浆福利区| 欧美午夜在线播放| 欧美天天干| 99久久精品视香蕉蕉| 在线视频亚洲欧美| 亚洲视频免|