二級堆棧裝置的製作方法
2023-05-26 16:13:21
專利名稱:二級堆棧裝置的製作方法
技術領域:
本實用新型涉及集成電路領域的一種二級堆棧裝置。
技術背景'在多點控制單元(MCU)電路中,堆棧(STACK)是不可或缺的模塊。堆 棧的特性是先入後出,這是子程序調用的關鍵。二級堆棧意味著能夠實現兩級 子程序嵌套,即主程序可以調用子程序l,子程序1可以調用子程序2,而子程 序2不能夠再調用其它子程序。在對堆桟的設計中,往往把堆棧(STACK)和地址總線(PC)分離開來, 堆棧(STACK)用隨機存儲器(RAM)結構來實現。如果地址總線(PC)為 10位,可尋址1K的存儲器空間,則二級堆棧需用兩個10位的隨機存儲器(RAM) 單元來實現,用以存儲兩次子程序調用時的跳轉地址。但用隨機存儲器(RAM) 結構實現堆棧(STACK)電路複雜,控制不易,且電路面積大,成本高。實用新型內容有鑑於此,本實用新型的目的就在於提供一種二級堆棧裝置,不採用RAM 結構,將地址總線(PC)和堆棧(STACK)結合,利用4相時鐘的特點來實現 堆棧(STACK)的數據壓棧和出棧操作。為實現上述目的,本實用新型採用的技術方案如下一種二級堆棧裝置,其特徵在於所述二級堆棧裝置包括一控制器、一二級堆棧寄存器和一地址總線模塊,其中,控制器產生控制信號,用於控制數據的壓棧和出棧操作; 二級堆棧寄存器由複數個基本單元組成,用於存儲壓棧的數據; 地址總線模塊通過地址總線與所述二級堆棧寄存器連接。 所述基本單元包括第一、第二級鎖存器, 一邏輯控制單元和一使能傳送器,其中,第一級鎖存器用於存儲第二級子程序的返回地址數據; 第二級鎖存器用於存儲第一級子程序的返回地址數據; 邏輯控制單元在選擇信號的控制下將返回地址數據送入第一級鎖存器; 使能傳送器在出棧使能信號的控制下執行地址數據的出棧操作。 所述第一級鎖存器的反向輸出端連接第二級鎖存器的數據輸入端,第一、 二級鎖存器分別受第一、二鍾控信號控制。所述第一、二鍾控信號由所述控制器產生。所述邏輯控制單元為二選一數據選擇器,該二選一數據選擇器的一個數據 輸入端接收入棧的地址數據,另一個數據輸入端接收第二鎖存器的輸出數據, 其輸出端與第一鎖存器的數據輸入端連接,其控制端接收選擇信號。所述使能傳送器的輸入端連接第一鎖存器的反向輸出端,其使能端接收出 棧使能信號。所述控制器包括用於接收系統控制信號的複數個輸入端。 所述系統控制信號包括四相時鐘、子程序調用指令使能信號、子程序返回 指令使能信號、總線復位/置位信號和跳轉指令使能信號。本實用新型將地址總線(PC)和堆棧(STACK)相結合,通過設置控制器, 利用4相時鐘的特點來實現堆棧(STACK)的l[據壓棧和出棧操作。本實用新 型的有益效果在於電路結構簡單,控制方便,電路面積小,有效降低了成本。附圖說朋
以下結合附圖和具體實施方式
對本實用新型作進一步的闡述。 附
圖1為本實用新型所述二級堆棧裝置的結構框圖; 附圖2為二級堆棧寄存器的基本單元的電路結構圖; 附圖3為本實用新型所述二級堆棧裝置的工作時序圖。
具體實施方式
如圖1所示, 一種二級堆棧裝置,包括控制器PC—STACK CONTROL、總 線模塊PC和二級堆棧寄存器STACK,總線模塊PC和二級堆桟寄存器STACK 通過地址總線連接,並在控制器PC_STACK CONTROL的控制下進行數據的壓 棧和出棧操作。控制器PC STACK CONTROL包括八個信號輸入端,其中四個輸入端作為四相時鐘的輸入端; 一個輸入端接收系統的子程序調用指令使能信號 CALL一EN,子程序調用指令使能信號CALL—EN在子程序調用指令執行時有效; 一個輸入端接收系統的跳轉指令使能信號JMP—EN,跳轉指令使能信號JMP—EN 在跳轉指令執行時有效(含子程序調用指令和地址跳轉指令); 一個輸入端接收 系統的子程序返回指令使能信號RET—EN,子程序返回指令使能信號RET—EN 在子程序返回指令執行時有效;還有一個輸入端接收總線復位/置位信號CLR。 控制器PC_STACK CONTROL為總線模塊PC和二級堆棧寄存器STACK產生控 制信號,控制總線地址的增加和跳轉以及地址數據的壓棧和出棧操作。總線模 塊PC為n位地址總線PC,用以控制只讀存儲器ROM,讀取指令;二級堆棧寄 存器STACK由與地址總線模塊PC對應的n個基本單元組成,每個基本單元分 別對應地址總線PC的一位數據。如圖2為二級堆棧寄存器的基本單元的電路結構圖。該基本單元包括第一 級鎖存器Il、第二級鎖存器I2、使能傳送器G (高電平有效)和二選一數據選 擇器mux2。第一級鎖存器II的反向輸出端0_連接第二級鎖存器12的數據輸入 端d, 二選一數據選擇器mux2的數據輸入端A接收入棧的地址數據PCin,數 據輸入端B連接第二鎖存器12的反向輸出端Q—。 二選一數據選擇器mux2的輸 出端y與第一鎖存器ii的數據輸入端d連接,其控制端s接收選擇信號sel。 使能傳送器G的輸入端連接第一鎖存器II的反向輸出端Q_,其使能端接收出 棧使能信號Pop,其輸出端STout輸出出棧的地址數據。第一級鎖存器I1和第二級鎖存器I2為普通的鎖存器(LATCH)。 二選一數 據選擇器mux2當選擇信號SEL=0時,輸出Y=A;當選擇信號SEL=1時,輸出 Y=B。當出棧使能信號Pop有效時(高電平有效),使能傳送器G的輸出端STout 輸出第一鎖存器Il的輸出值,用以影響地址總線PC的當前值。第一鍾控信號 CK1和第二鍾控信號CK2由控制器PC—STACK CONTROL產生,分別作為第 一級鎖存器II和第二級鎖存器12的時鐘輸入。圖2所示電路結構的工作原理如下:當第一鍾控信號CK14時,第一鎖存 器II讀入二選一數據選擇器mux2的輸出端Y的值;當第二鍾控信號CK2=1時, 第二鎖存器I2讀入第一鎖存器I1的值。當出棧使能信號Pop^時,能傳送器G 的輸出端Stout輸出第一級鎖存器II的輸出值。下面結合圖2、圖3對數據壓棧和出棧操作過程進行介紹如圖3所示,四相時鐘Q1 Q4為構成一個指令周期的四個時鐘周期,第一 個時鐘周期Ql修改地址總線PC的當前值,第二個時鐘周期Q2取指令進行解碼,第三個時鐘周期Q3執行邏輯算術運算,第四個時鐘周期Q4寫入結果。子 程序調用指令使能信號CALL—EN和子程序返回指令使能信號RET—EN在第二 個時鐘周期Q2時有效。當系統執行第一次子程序調用指令時,子程序調用指令 使能信號CALL—EN=1,第二鍾控信號CK2在第二個時鐘周期Q2時有效,第二 鎖存器12讀入第一鎖存器II的值,第一鍾控信號CK1在第三個時鐘周期Q3時 有效,此時選擇信號SEI^0,第一寄存器Il讀入地址總線PC的值PCin(此時, 第一鎖存器Il存入的為第一次子程序調用時的返回地址,第二鎖存器I2存入不 確定量);當系統執行第二次子程序調用指令時,子程序調用指令使能信號 CALL—EN=1,當第二鍾控信號CK24時,第二鎖存器12讀入第一鎖存器II的 值(此時第二鎖存器I2的值為第一次子程序調用時的返回地址),當第一鍾控信 號CK1-1時,第一鎖存器II讀入當前要跳轉時的地址值,此時第一鎖存器II 的值為第二次子程序調用時的返回地址。這樣就實現了堆棧的特性,即壓棧時, 後入的數據在棧頂(即第一鎖存器Il)。當子程序返回(返回指令需要執行2個指令周期)時,子程序返回指令使 能信號RET—EN有效。當執行第一次子程序返回指令時,出桟使能信號Pop在 第一個指令周期的第四個時鐘周期Q4有效,第一鎖存器II的值通過使能傳送 器G傳送到輸出端STout,即棧頂的數據先出棧。在第二個指令周期的第二個時 鍾周期Q2時,第一鍾控信號CK一1,選擇信號SEL-1,第一鎖存器I1讀入第 二鎖存器12的值(此時第一鎖存器II的值為第二次子程序調用時的返回地址), 這樣,棧底的值被送到棧頂。當執行第二次子程序返回指令時,同理,第一鎖 存器II的值被送到使能傳送器G的輸出端STout。這樣就實現了二級堆棧的功 能,也就實現了兩級子程序調用。
權利要求1.一種二級堆棧裝置,其特徵在於所述二級堆棧裝置包括一控制器、一二級堆棧寄存器和一地址總線模塊,其中,控制器產生控制信號,用於控制數據的壓棧和出棧操作;二級堆棧寄存器由複數個基本單元組成,用於存儲壓棧的數據;地址總線模塊通過地址總線與所述二級堆棧寄存器連接。
2. 如權利要求1所述的二級堆棧裝置,其特徵在於所述基本單元包括第一、 第二級鎖存器, 一邏輯控制單元和一使能傳送器,其中,第一級鎖存器用於存儲第二級子程序的返回地址數據; 第二級鎖存器用於存儲第一級子程序的返回地址數據; 邏輯控制單元在選擇信號的控制下將返回地址數據送入第一級鎖存器; 使能傳送器在出棧使能信號的控制下執行地址數據的出棧操作。
3. 如權利要求2所述的二級堆棧裝置,其特徵在於所述第一級鎖存器的反 向輸出端連接第二級鎖存器的數據輸入端,第一、二級鎖存器分別受第一、二 鍾控信號控制。
4. 如權利要求3所述的二級堆棧裝置,其特徵在於所述第一、二鍾控信號 由所述控制器產生。
5. 如權利要求2所述的二級堆棧裝置,其特徵在於所述邏輯控制單元為二 選一數據選擇器,該二選一數據選擇器的一個數據輸入端接收入棧的地址數據, 另一個數據輸入端接收第二鎖存器的輸出數據,其輸出端與第一鎖存器的數據 輸入端連接,其控制端接收選擇信號。
6. 如權利要求2所述的二級堆棧裝置,其特徵在於所述使能傳送器的輸入 端連接第一鎖存器的反向輸出端,其使能端接收出棧使能信號。
7. 如權利要求1所述的二級堆棧裝置,其特徵在於所述控制器包括用於接 收系統控制信號的複數個輸入端。
8. 如權利要求7所述的二級堆棧裝置,其特徵在於所述系統控制信號包括 四相時鐘、子程序調用指令使能信號、子程序返回指令使能信號、總線復位/置 位信號和跳轉指令使能信號。 '
專利摘要本實用新型公開了一種二級堆棧裝置,其特徵在於包括一控制器、一二級堆棧寄存器和一地址總線模塊,其中,控制器產生控制信號,用於控制數據的壓棧和出棧操作;二級堆棧寄存器由複數個基本單元組成,用於存儲壓棧的數據;地址總線模塊通過地址總線與所述二級堆棧寄存器連接。本實用新型的有益效果在於將地址總線(PC)和堆棧(STACK)相結合,利用4相時鐘的特點來實現堆棧(STACK)的數據壓棧和出棧操作,電路結構簡單,控制方便,電路面積小,有效降低了成本。
文檔編號G06F9/38GK201107770SQ20072017852
公開日2008年8月27日 申請日期2007年9月18日 優先權日2007年9月18日
發明者猛 江, 力 賈 申請人:蘇州市華芯微電子有限公司