專利名稱:計(jì)算機(jī)總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)的除錯(cuò)系統(tǒng),特別是指一種PCI總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置及方法。
背景技術(shù):
一般計(jì)算機(jī)系統(tǒng)架構(gòu)中,包括有中央處理器、磁盤裝置、輸入裝置、輸出裝置、內(nèi)存等硬件組件,這些組件是藉由總線來(lái)達(dá)到連結(jié)及數(shù)據(jù)傳送、控制的功能。
對(duì)于一個(gè)計(jì)算機(jī)相關(guān)產(chǎn)品的研發(fā)人員而言,除錯(cuò)(debug)往往是無(wú)可避免、也是相當(dāng)具挑戰(zhàn)性的一項(xiàng)任務(wù)。邏輯電路分析儀是技術(shù)人員一般慣用的除錯(cuò)分析工具,但是受限于邏輯電路分析儀本身的內(nèi)存大小,每次所能抓取到的時(shí)序數(shù)據(jù),就時(shí)間長(zhǎng)短而言,實(shí)際上相當(dāng)有限。故如何有效設(shè)定邏輯電路分析儀的觸發(fā)條件,使觸發(fā)點(diǎn)盡可能接近問(wèn)題真正癥結(jié)點(diǎn)所在,便成為能否有效縮短除錯(cuò)時(shí)間進(jìn)程相當(dāng)重要的一個(gè)關(guān)鍵。
PCI總線(Peripheral Component Interconnect Bus)是目前計(jì)算機(jī)裝置所普遍采用的一種總線架構(gòu)。針對(duì)PCI總線的除錯(cuò),在本發(fā)明先前所提出的專利申請(qǐng)案中已揭示了可針對(duì)PCI總線周期(PCI Bus Cycle)進(jìn)行單步中斷除錯(cuò)的技術(shù)。藉由此一單步中斷除錯(cuò)裝置的輔助,技術(shù)人員可以利用由單步中斷除錯(cuò)裝置所顯示的地址(Address)、數(shù)據(jù)(Data)、命令(Command)等總線周期(Bus Cycle)除錯(cuò)相關(guān)信息作為邏輯電路分析儀觸發(fā)設(shè)定的參考條件,以逐步逼近問(wèn)題癥結(jié)點(diǎn)。
然而,以前述方式進(jìn)行除錯(cuò),仍有其缺憾,例如該單步中斷除錯(cuò)裝置需以人工方式逐步擷取、判讀、以及記錄單步中斷除錯(cuò)裝置所顯示的除錯(cuò)相關(guān)信息,不但相當(dāng)耗時(shí),亦容易產(chǎn)生人為失誤。再者,該單步中斷除錯(cuò)裝置需以人工方式逐次按下單步中斷除錯(cuò)裝置上的切換開關(guān),容易因按鍵彈跳現(xiàn)象或因手指肌肉疲勞而導(dǎo)致連續(xù)按鍵,造成關(guān)鍵性總線周期相關(guān)信息的錯(cuò)誤。
有鑒于此,本發(fā)明特提出一計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集技術(shù),冀以自動(dòng)化方式有效縮短計(jì)算機(jī)相關(guān)產(chǎn)品的除錯(cuò)時(shí)間進(jìn)程。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種計(jì)算機(jī)系統(tǒng)的除錯(cuò)技術(shù),藉由單步中斷除錯(cuò)裝置與遠(yuǎn)程主控臺(tái)之間的信號(hào)控制,可以使待檢測(cè)計(jì)算機(jī)的除錯(cuò)作業(yè)得以自動(dòng)化方式予以執(zhí)行,在整個(gè)除錯(cuò)作業(yè)過(guò)程中,不需人工方式逐步擷取、判讀、以及記錄,除了可增加除錯(cuò)作業(yè)的工作效率,亦可降低人為操作失誤、及避免手動(dòng)操作時(shí)按鍵彈跳現(xiàn)象的電信號(hào)錯(cuò)誤問(wèn)題,藉由本發(fā)明的輔助,可有效縮短計(jì)算機(jī)相關(guān)產(chǎn)品的除錯(cuò)時(shí)間進(jìn)程。
本發(fā)明的另一目的是提供一種計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,藉由一單步中斷除錯(cuò)裝置及一遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置以搜集一待檢測(cè)計(jì)算機(jī)于除錯(cuò)周期中被擷取的總線周期除錯(cuò)相關(guān)信息,且藉由單步中斷除錯(cuò)裝置與除錯(cuò)信息搜集裝置間的相關(guān)控制信號(hào)的交替持續(xù)產(chǎn)生,便可在無(wú)須按鍵切換的情況下,自動(dòng)將后續(xù)所進(jìn)行的各個(gè)總線周期的信息記錄于遠(yuǎn)程中控臺(tái)的內(nèi)存緩沖區(qū)。
該方法包括下列步驟由單步中斷除錯(cuò)裝置取得待檢測(cè)計(jì)算機(jī)的總線主控權(quán)后,將所要檢視的待檢測(cè)計(jì)算機(jī)的歷經(jīng)總線周期的除錯(cuò)相關(guān)信息分別予以擷取鎖存;以一周期數(shù)計(jì)數(shù)器遞增記錄所歷經(jīng)的總線周期數(shù);單步中斷除錯(cuò)裝置致能一告知擷取除錯(cuò)信息信號(hào)MASTER_OC#,并傳送到遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置;除錯(cuò)信息搜集裝置于接收到該MASTER_OC#信號(hào)時(shí),將該單步中斷除錯(cuò)裝置所鎖存的除錯(cuò)相關(guān)信息逐一抓??;在除錯(cuò)信息均已接收完畢后,該除錯(cuò)信息搜集裝置產(chǎn)生一開關(guān)仿真信號(hào)送回單步中斷除錯(cuò)裝置;單步中斷除錯(cuò)裝置依據(jù)該開關(guān)仿真信號(hào),由一開關(guān)次數(shù)計(jì)數(shù)器遞增計(jì)數(shù)一次;比較該周期數(shù)計(jì)數(shù)器與開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值,若不相等,則單步中斷除錯(cuò)裝置再度致能MASTER_OC#信號(hào),通知除錯(cuò)信息搜集裝置繼續(xù)由單步中斷除錯(cuò)裝置繼續(xù)抓取已被鎖存住的剩余總線周期的除錯(cuò)信息;
若該周期數(shù)計(jì)數(shù)器及開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值相等時(shí),單步中斷除錯(cuò)裝置結(jié)束信號(hào)的擷取,并把總線控制權(quán)交回給待檢測(cè)計(jì)算機(jī)。
本發(fā)明的另一目的是提供一種計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,該裝置包括有一單步中斷除錯(cuò)裝置與一遠(yuǎn)程主控臺(tái),在遠(yuǎn)程主控臺(tái)中包括有一除錯(cuò)信息搜集裝置,其藉由信號(hào)連接線連接于該單步中斷除錯(cuò)裝置。單步中斷除錯(cuò)裝置可產(chǎn)生一MASTER_OC#信號(hào)送至遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置,而除錯(cuò)信息搜集裝置可由一控制邏輯產(chǎn)生電路產(chǎn)生一開關(guān)仿真信號(hào),并送至單步中斷除錯(cuò)裝置。
為了實(shí)現(xiàn)上述本發(fā)明目的,本發(fā)明是在單步中斷除錯(cuò)裝置中包括有一地址及命令鎖存控制電路、一數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路、一顯示裝置、一計(jì)數(shù)控制電路、一緩沖器控制邏輯電路、一要求總線主控權(quán)信號(hào)(REQ#)產(chǎn)生邏輯電路、一主端裝置備妥信號(hào)(IRDY#)產(chǎn)生邏輯電路、一告知擷取除錯(cuò)信息信號(hào)(MASTER_OC#)產(chǎn)生電路。計(jì)數(shù)控制電路中包括有一周期數(shù)計(jì)數(shù)器,用以記錄該待檢測(cè)計(jì)算機(jī)于除錯(cuò)周期時(shí)的歷經(jīng)總線周期數(shù);一開關(guān)次數(shù)計(jì)數(shù)器,用以記錄開關(guān)次數(shù);一比較器,用以比較該周期數(shù)計(jì)數(shù)器與開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值。遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置包括有一控制邏輯產(chǎn)生電路,可產(chǎn)生一開關(guān)仿真信號(hào),并送到單步中斷除錯(cuò)裝置;一中斷請(qǐng)求信號(hào)產(chǎn)生電路,用以接收該單步中斷除錯(cuò)裝置所送來(lái)的MASTER_OC#信號(hào),并據(jù)以產(chǎn)生一中斷請(qǐng)求信號(hào)至該遠(yuǎn)程主控臺(tái);至少一緩沖器,用以暫存該單步中斷除錯(cuò)裝置所送來(lái)的除錯(cuò)相關(guān)信息。
當(dāng)遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置接收到該單步中斷除錯(cuò)裝置所送來(lái)的MASTER_OC#信號(hào)后,即將該單步中斷除錯(cuò)裝置所鎖存的除錯(cuò)相關(guān)信息逐一抓取,并在除錯(cuò)相關(guān)信息均已接收完畢后,由該除錯(cuò)信息搜集裝置產(chǎn)生一開關(guān)仿真信號(hào)送回單步中斷除錯(cuò)裝置,單步中斷除錯(cuò)裝置依據(jù)該開關(guān)仿真信號(hào),由開關(guān)次數(shù)計(jì)數(shù)器遞增計(jì)數(shù)一次,當(dāng)該周期數(shù)計(jì)數(shù)器與開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值經(jīng)比較器比較結(jié)果并不相等時(shí),則單步中斷除錯(cuò)裝置再度致能該MASTER_OC#信號(hào),通知除錯(cuò)信息搜集裝置繼續(xù)由單步中斷除錯(cuò)裝置繼續(xù)抓取已被鎖存住的剩余總線周期的除錯(cuò)信息;而當(dāng)該周期數(shù)計(jì)數(shù)器及開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值相等時(shí),單步中斷除錯(cuò)裝置結(jié)束信號(hào)的擷取,并把總線控制權(quán)交回給待檢測(cè)計(jì)算機(jī),如此以完成除錯(cuò)相關(guān)信息的自動(dòng)搜集。
本發(fā)明的其它目的及其設(shè)計(jì),將藉由以下的較佳實(shí)施例及附圖作進(jìn)一步的說(shuō)明。
圖1是顯示一待檢測(cè)計(jì)算機(jī)與本發(fā)明單步中斷除錯(cuò)裝置及遠(yuǎn)程主控臺(tái)之間的系統(tǒng)連接示意圖;圖2是顯示本發(fā)明單步中斷除錯(cuò)裝置的電路方塊圖;圖3是顯示圖2中地址及命令鎖存控制電路與地址及命令顯示單元、緩沖器控制邏輯電路之間電路連接的進(jìn)一步邏輯電路圖;圖4是顯示圖2中數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路與數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元、緩沖器控制邏輯電路之間電路連接的進(jìn)一步邏輯電路圖;圖5是顯示本發(fā)明遠(yuǎn)程主控制臺(tái)與除錯(cuò)信息搜集裝置的系統(tǒng)連接示意圖;圖6是顯示圖5中除錯(cuò)信息搜集裝置的電路方塊圖;圖7是顯示本發(fā)明單步中斷除錯(cuò)裝置、待檢測(cè)計(jì)算機(jī)、遠(yuǎn)程主控臺(tái)間在執(zhí)行單步中斷除錯(cuò)時(shí)各相關(guān)信號(hào)的時(shí)序圖;圖8是顯示本發(fā)明單步中斷除錯(cuò)裝置中各個(gè)鎖存器及緩沖器控制信號(hào)與MASTER_OC#及SW_EMULATE信號(hào)間的時(shí)序關(guān)系圖。
其中,附圖標(biāo)記說(shuō)明如下1 待檢測(cè)計(jì)算機(jī)11 中央處理器12 存儲(chǔ)器13 PCI橋接器14 PCI裝置15 PCI/ISA橋接器16 ISA裝置171系統(tǒng)總線172PCI總線173ISA總線2 單步中斷除錯(cuò)裝置21 地址及命令鎖存控制電路
211地址及命令鎖存控制邏輯電路212地址及命令鎖存緩存器213地址及命令緩沖器22 數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路221數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制邏輯電路222數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器223數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器23 顯示裝置231地址及命令顯示單元232數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元24 計(jì)數(shù)控制電路241計(jì)數(shù)器重置電路242周期數(shù)計(jì)數(shù)器243周期數(shù)譯碼器244操作開關(guān)245反彈跳電路246開關(guān)次數(shù)計(jì)數(shù)器247比較器25 緩沖器控制邏輯電路26 要求總線主控權(quán)信號(hào)(REQ#)產(chǎn)生邏輯電路27 主端裝置備妥信號(hào)(IRDY#)產(chǎn)生邏輯電路28 告知擷取除錯(cuò)信息信號(hào)(MASTER_OC#)產(chǎn)生電路29 連接器3 遠(yuǎn)程主控臺(tái)30 除錯(cuò)信息搜集裝置300連接器301中斷請(qǐng)求信號(hào)產(chǎn)生電路302輸入/輸出地址緩沖器303輸入/輸出數(shù)據(jù)緩沖器304輸入/輸出控制信號(hào)緩沖器
305控制邏輯電路產(chǎn)生電路31 中央處理器32 存儲(chǔ)器321除錯(cuò)信息緩沖區(qū)33 PCI橋接器34 PCI裝置35 PCI/ISA橋接器36 ISA裝置371系統(tǒng)總線372PCI總線373ISA總線4 信號(hào)連接線具體實(shí)施方式
首先參閱圖1所示,其顯示一待檢測(cè)計(jì)算機(jī)1與本發(fā)明的單步中斷除錯(cuò)裝置2及遠(yuǎn)程主控臺(tái)3之間的系統(tǒng)連接示意圖。在一典型的待檢測(cè)計(jì)算機(jī)1中包括有中央處理器11、存儲(chǔ)器12、PCI橋接器13(PCI Bridge)、PCI裝置14、PCI/ISA橋接器15(PCI/ISA Bridge)、ISA裝置16。中央處理器11與存儲(chǔ)器12是連接于系統(tǒng)總線171,該系統(tǒng)總線171再通過(guò)PCI橋接器13連接一PCI總線172(Peripheral Component Interconnect)。PCI總線172是由PCISIG協(xié)會(huì)所提出的總線規(guī)格,主要是可作為配合快速微處理器如Pentium級(jí)微處理系統(tǒng)中的高速數(shù)據(jù)轉(zhuǎn)移功能。在該P(yáng)CI總線172上可供連接各種PCI裝置14(例如局域網(wǎng)絡(luò)界面卡、影像卡、輸出輸入界面卡等界面裝置)。該P(yáng)CI總線172通過(guò)PCI/ISA橋接器15連接一ISA總線173(Industry Standard Architecture),在該ISA總線173上可配置數(shù)個(gè)ISA插槽,以供插接各種ISA裝置16。
本發(fā)明的單步中斷除錯(cuò)裝置2是連接于待檢測(cè)計(jì)算機(jī)1的PCI總線172,而遠(yuǎn)程主控臺(tái)3中包括有一除錯(cuò)信息搜集裝置30,該除錯(cuò)信息搜集裝置30通過(guò)一信號(hào)連接線4(例如以信號(hào)纜線或是治具頂針方式)連接至單步中斷除錯(cuò)裝置2,該信號(hào)連接線4乃是用以傳送除錯(cuò)信息以及單步中斷除錯(cuò)裝置2、除錯(cuò)信息搜集裝置30二者之間進(jìn)行信號(hào)交換(Handshaking)所需的相關(guān)控制信號(hào)。該遠(yuǎn)程主控臺(tái)3是作為除錯(cuò)系統(tǒng)的控制主機(jī)或終端機(jī)。
圖2是顯示圖1中單步中斷除錯(cuò)裝置2的電路方塊圖,其主要包括有一地址及命令鎖存控制電路21、一數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路22、一顯示裝置23、一計(jì)數(shù)控制電路24、一緩沖器控制邏輯電路25、一要求總線主控權(quán)信號(hào)(REQ#)產(chǎn)生邏輯電路26、一主端裝置備妥信號(hào)(IRDY#)產(chǎn)生邏輯電路27、一告知擷取除錯(cuò)信息信號(hào)(MASTER_OC#)產(chǎn)生電路28、一連接器29。
該單步中斷除錯(cuò)裝置2的連接器29是經(jīng)由信號(hào)連接線4而連接至遠(yuǎn)程主控臺(tái)3的除錯(cuò)信息搜集裝置30,用以將地址、數(shù)據(jù)、控制及MASTER_OC#等信號(hào)傳送至該除錯(cuò)信息搜集裝置30。而單步中斷除錯(cuò)裝置2是可以插卡的方式插接在待檢測(cè)計(jì)算機(jī)的PCI總線插槽中。在標(biāo)準(zhǔn)的PCI總線規(guī)格中,其接腳依功能可區(qū)分為系統(tǒng)支持接腳、地址與數(shù)據(jù)接腳、界面控制信號(hào)、總線仲裁信號(hào)、及錯(cuò)誤告知信號(hào)。與本發(fā)明相關(guān)的接腳功能及定義略述如下PCICLK(Clock,PCI系統(tǒng)時(shí)脈)提供PCI總線時(shí)脈信號(hào)。
AD0~AD31(Address Bus,地址總線)32位的PCI總線的地址/數(shù)據(jù)信號(hào)。
C/BE3#~C/BE0#(Command/Byte Enable,命令/位致能信號(hào))多任務(wù)輸出的命令與字節(jié)致能信號(hào)。在地址階段時(shí),若激活則指示對(duì)應(yīng)的字節(jié)將涉及數(shù)據(jù)轉(zhuǎn)移;在數(shù)據(jù)階段時(shí),是作為命令的功能,指示總線的類型。
FRAME#(Ftame,數(shù)據(jù)傳送框信號(hào))由總線控制器激活,指示數(shù)據(jù)轉(zhuǎn)移的開始,并且延續(xù)整個(gè)動(dòng)作期間。
IRDY#(Initiator Ready,主端裝置備妥),由總線控制器激活,指示已經(jīng)將成立的數(shù)據(jù)置放于總線上,或是已經(jīng)備妥自總線中讀取數(shù)據(jù)。
TRDY#(Target Ready,標(biāo)的裝置備妥),由被選取的裝置激活,指示已將數(shù)據(jù)放在總線上,或是已經(jīng)備妥自總線中讀取數(shù)據(jù)。
DEVSEL#(Device Select,標(biāo)的裝置選取)由被選取的裝置激活,告知總線控制器,它已經(jīng)認(rèn)知到自己的裝置位置。
REQ#(Request,要求總線主控權(quán))由希望成為總線控制器的裝置激活,以向總線仲裁器要求使用系統(tǒng)總線。
GNT#(Grant,認(rèn)可交出總線主控權(quán))由總線仲裁器激活,告知要求使用系統(tǒng)總線的裝置,以取用總線。
圖2中的地址及命令鎖存控制電路21,包括有一地址及命令鎖存控制邏輯電路211(Address/Command Latch Logic)、一地址及命令鎖存緩存器212(Address/Command Latch FIFO Register)、一地址及命令緩沖器213(Address/Command Buffer)。該地址及命令鎖存控制邏輯電路211可依據(jù)計(jì)數(shù)控制電路24中的周期數(shù)譯碼器243所送來(lái)的譯碼信號(hào)而產(chǎn)生一地址及命令鎖存控制信號(hào)至地址及命令鎖存緩存器212中,以將地址總線AD[31..0]中的地址(Address)及C/BE#[3..0]中的命令(Command)信號(hào)鎖存至地址及命令鎖存緩存器212中。當(dāng)PCI總線中的框信號(hào)FRAME#呈低態(tài)開始、直到GNT#呈低態(tài)為止期間所有周期的地址及命令皆會(huì)被該地址及命令鎖存控制邏輯電路211順序地鎖存至地址及命令鎖存緩存器212中。該地址及命令鎖存緩存器212是一先進(jìn)先出緩存器(FIFO)。地址及命令緩沖器213亦是一先進(jìn)先出緩沖器(FIFO),為該地址及命令鎖存緩存器212與地址及命令顯示單元231間的數(shù)據(jù)緩沖界面,其動(dòng)作是由一緩沖器控制邏輯電路25所產(chǎn)生的緩沖器控制信號(hào)所控制。
數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路22包括有一數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制邏輯電路221(Data/BE# Latch Logic)、一數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器222(Data/BE# Latch FIFO Register)、一數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器223(Data/BE# Buffer)。其中該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制邏輯電路221可依據(jù)計(jì)數(shù)控制電路24中的周期數(shù)譯碼器243所送來(lái)的信號(hào)而產(chǎn)生一鎖存控制信號(hào)至數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器222中,以將數(shù)據(jù)總線AD[31..0]中的數(shù)據(jù)(Data)及C/BE#[3..0]中的字節(jié)致能信號(hào)(Byte Enable Signal)鎖存至該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器222中。當(dāng)PCI總線中的IRDY#與TRDY#皆呈低態(tài)開始、直到GNT#呈高態(tài)準(zhǔn)位為止期間,出現(xiàn)在AD[31..0]總線中的數(shù)據(jù)(Data)及C/BE#[3..0]中的字節(jié)致能信號(hào)BE#皆會(huì)被鎖存至該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器222中。該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器222是一先進(jìn)先出緩存器(FIFO)。數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器223亦是一先進(jìn)先出緩沖器(FIFO),是作為該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器222與數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元232間的數(shù)據(jù)緩沖界面,其動(dòng)作亦由緩沖器控制邏輯電路25所產(chǎn)生的緩沖器控制信號(hào)所控制。
顯示裝置23中包括有一地址及命令顯示單元231與一數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元232。其中該地址及命令顯示單元231是連接于該地址及命令鎖存控制電路21中的地址及命令緩沖器213,用以顯示欲除錯(cuò)周期的被鎖存地址及命令狀態(tài)。數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元232是連接于該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路22中的數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器223,用以顯示欲除錯(cuò)周期的被鎖存數(shù)據(jù)及字節(jié)致能信號(hào)的狀態(tài)。
計(jì)數(shù)控制電路24中包括有一計(jì)數(shù)器重置電路241(Counter Reset Circuit)、一周期數(shù)計(jì)數(shù)器242(Cycle Number Decoder)、一周期數(shù)譯碼器243(CycleNumber Decoder)、一操作開關(guān)244、一反彈跳電路245(De-bouncing Circuit)、一開關(guān)次數(shù)計(jì)數(shù)器246、一比較器247(Comparator)。其中該周期數(shù)計(jì)數(shù)器242在GNT#呈低態(tài)期間,用以追蹤記錄周期數(shù)(周期數(shù)值由0開始計(jì)數(shù))。周期數(shù)譯碼器243可將周期數(shù)計(jì)數(shù)器242所送來(lái)的周期數(shù)(Cycle Number)予以譯碼,以在其輸出端送出一周期數(shù)信號(hào)。計(jì)數(shù)器重置電路241在當(dāng)比較器247的輸出呈低態(tài)時(shí),用以重置周期數(shù)計(jì)數(shù)器242及開關(guān)次數(shù)計(jì)數(shù)器246的計(jì)數(shù)值為0。
開關(guān)次數(shù)計(jì)數(shù)器246經(jīng)由反彈跳電路245而連接至操作開關(guān)244,該操作開關(guān)244可在使用者的手動(dòng)操作下,用以產(chǎn)生一開關(guān)信號(hào)至該開關(guān)次數(shù)計(jì)數(shù)器246,并由該開關(guān)次數(shù)計(jì)數(shù)器246記錄開關(guān)的次數(shù)。該開關(guān)信號(hào)可經(jīng)由反彈跳電路245以消除開關(guān)接點(diǎn)于動(dòng)作時(shí)的瞬時(shí)不穩(wěn)定狀態(tài)。該開關(guān)次數(shù)計(jì)數(shù)器246亦可接收由遠(yuǎn)程主控臺(tái)3的除錯(cuò)信息搜集裝置30所送來(lái)的開關(guān)仿真信號(hào)SW-EMULATE,故該開關(guān)次數(shù)計(jì)數(shù)器246可用以追蹤記錄操作開關(guān)244的按壓次數(shù)或是開關(guān)仿真信號(hào)SW-EMULATE發(fā)生的次數(shù)。
比較器247可用來(lái)比較周期數(shù)計(jì)數(shù)器242中的周期數(shù)與開關(guān)次數(shù)計(jì)數(shù)器246中的開關(guān)按壓次數(shù)。比較結(jié)果若為相同、且周期數(shù)計(jì)數(shù)器242中的周期數(shù)并非為0,則該比較器247會(huì)在其輸出端產(chǎn)生一低態(tài)的比較結(jié)果輸出信號(hào)CMP,否則該輸出信號(hào)恒保持為高態(tài)準(zhǔn)位。
緩沖器控制邏輯電路25用以產(chǎn)生地址、數(shù)據(jù)、命令、字節(jié)致能信號(hào)BE#的緩沖器控制信號(hào)。該緩沖器控制邏輯電路25會(huì)在第一個(gè)欲除錯(cuò)周期(周期0)期間,于數(shù)據(jù)及BE#被鎖存后,將數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器223的閘門打開。然后,在隨后的其它周期(周期1、2...)期間,每當(dāng)接收到操作開關(guān)或開關(guān)仿真信號(hào)送來(lái)的開關(guān)信號(hào)時(shí),即會(huì)將該數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器223的閘門打開。
要求總線主控權(quán)信號(hào)(REQ#)產(chǎn)生邏輯電路26可在除錯(cuò)周期期間,產(chǎn)生總線主控權(quán)要求信號(hào)Master-REQ#(Bus Master’s Request Signal)至遠(yuǎn)程主控臺(tái)3。在周期0時(shí),該電路會(huì)將總線主控權(quán)要求信號(hào)Master-REQ#拉低呈低態(tài),而在比較器247輸出低態(tài)的比較結(jié)果信號(hào)CMP時(shí)(即開關(guān)按壓次數(shù)與鎖存的周期數(shù)相同、且周期數(shù)并非為0時(shí)),則將Master-REQ#信號(hào)拉高呈高態(tài)準(zhǔn)位。
主端裝置備妥信號(hào)(IRDY#)產(chǎn)生邏輯電路27可在總線主控周期期間(BusMaster Cycle)產(chǎn)生除錯(cuò)裝置IRDY#信號(hào)(MASTER_IRDY#),其可在總線呈閑置(IDLE)狀態(tài)(即FRAME#與IRDY#皆呈高態(tài)時(shí))、及GNT#呈低態(tài)時(shí),將該Master-REQ#的輸出拉低呈一低態(tài),而在比較輸出為低態(tài)時(shí)則可將Master-REQ#的輸出拉升呈一高態(tài)準(zhǔn)位。
告知擷取除錯(cuò)信息信號(hào)(MASTER_OC#)產(chǎn)生電路28在接收該MASTER_IRDY#、以及在緩沖器控制邏輯電路25所送來(lái)的緩沖器控制信號(hào)之后,可產(chǎn)生一告知擷取除錯(cuò)信息信號(hào)MASTER_OC#至遠(yuǎn)程主控臺(tái)3,用以告知遠(yuǎn)程主控臺(tái)3可由除錯(cuò)裝置2中取得PCI總線周期數(shù)據(jù)。
圖3是顯示圖2中地址及命令鎖存控制電路21與地址及命令顯示單元231、緩沖器控制邏輯電路25之間電路連接的進(jìn)一步邏輯電路圖。其顯示地址及命令鎖存緩存器212中包括有數(shù)個(gè)數(shù)據(jù)鎖存器0~數(shù)據(jù)鎖存器n,各個(gè)數(shù)據(jù)鎖存器的時(shí)脈端CLK分別連接至地址及命令鎖存控制邏輯電路211所輸出的鎖存控制信號(hào)A_LATCH0~A_LATCHn。而地址及命令緩沖器213中亦包括數(shù)個(gè)緩沖器0~緩沖器n,其輸出控制端OC#分別由緩沖器控制邏輯電路25所產(chǎn)生的緩沖器輸出控制信號(hào)OC0#~Ocn#所控制,各個(gè)緩沖器的輸出端再連接至地址及命令顯示單元231。
圖4是顯示圖2中數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路22與數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元232、緩沖器控制邏輯電路25之間電路連接的進(jìn)一步邏輯電路圖。其顯示數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器222中包括有數(shù)個(gè)數(shù)據(jù)鎖存器0~數(shù)據(jù)鎖存器n,各個(gè)數(shù)據(jù)鎖存器的時(shí)脈端CLK分別連接至數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制邏輯電路221所輸出的鎖存控制信號(hào)D_LATCH0~D_LATCHn。而數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器223中亦包括數(shù)個(gè)緩沖器0~緩沖器n,其輸出控制端OC#分別由緩沖器控制邏輯電路25所產(chǎn)生的緩沖器輸出控制信號(hào)OC0#~Ocn#所控制,各個(gè)緩沖器的輸出端再連接至數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元232。
圖5是顯示本發(fā)明遠(yuǎn)程主控制臺(tái)3與除錯(cuò)信息搜集裝置30的系統(tǒng)連接示意圖。該遠(yuǎn)程主控制臺(tái)3可采用一典型計(jì)算機(jī)架構(gòu),其包括有中央處理器31、存儲(chǔ)器32、除錯(cuò)信息緩沖區(qū)321、PCI橋接器33、PCI裝置34、PCI/ISA橋接器35、ISA裝置36。中央處理器31與存儲(chǔ)器32是連接于系統(tǒng)總線371,該系統(tǒng)總線371再通過(guò)PCI橋接器33連接一PCI總線372。該P(yáng)CI總線372上可供連接各種PCI裝置34。該P(yáng)CI總線372通過(guò)PCI/ISA橋接器35連接一ISA總線373,在該ISA總線373上可供連接各種ISA裝置36。除錯(cuò)信息緩沖區(qū)321是用以存放所有已搜集各個(gè)總線周期(Bus Cycle)的除錯(cuò)相關(guān)信息。除錯(cuò)信息搜集裝置30是連接于遠(yuǎn)程主控臺(tái)3的PCI總線371,且其經(jīng)由一連接器300及信號(hào)連接線4而連接至單步中斷除錯(cuò)裝置2。
圖6是顯示圖5中除錯(cuò)信息搜集裝置30的電路方塊圖,其主要包括有一中斷請(qǐng)求信號(hào)產(chǎn)生電路301、一輸入/輸出地址緩沖器302(I/O Address Buffer)、一輸入/輸出數(shù)據(jù)緩沖器303(I/O Data Buffer)、一輸入/輸出控制信號(hào)緩沖器304(I/O Control Signal Buffer)、一控制邏輯產(chǎn)生電路305。
該控制邏輯產(chǎn)生電路305經(jīng)由PCICLK、FRAME#、IRDY#、TRDY#、DEVSEL#等信號(hào)線連接于PCI總線372,并能產(chǎn)生一解除中斷請(qǐng)求信號(hào)INT_DST至中斷請(qǐng)求信號(hào)產(chǎn)生電路301,以及分別產(chǎn)生一控制信號(hào)讀取RD_CONTROL、一數(shù)據(jù)讀取RD_DATA、一地址讀取RD_ADDRESS等信號(hào)至輸入/輸出地址緩沖器302、輸入/輸出數(shù)據(jù)緩沖器303、及輸入/輸出控制信號(hào)緩沖器304。
圖7是顯示本發(fā)明單步中斷除錯(cuò)裝置、待檢測(cè)計(jì)算機(jī)、遠(yuǎn)程主控臺(tái)間在執(zhí)行單步中斷除錯(cuò)時(shí)各相關(guān)信號(hào)的時(shí)序圖。圖8是顯示本發(fā)明單步中斷除錯(cuò)裝置中各個(gè)鎖存器及緩沖器控制信號(hào)與MASTER_OC#及SW_EMULATE信號(hào)間的時(shí)序關(guān)系圖(以單步中斷除錯(cuò)裝置歷經(jīng)兩個(gè)PCI總線周期后取得PCI總線主控權(quán)為例)。茲同時(shí)配合前述電路圖對(duì)本發(fā)明的控制流程作一說(shuō)明如后。
首先,單步中斷除錯(cuò)裝置2在所要檢視的PCI總線周期期間發(fā)出要求總線主控權(quán)REQ#信號(hào)至待檢測(cè)計(jì)算機(jī)1,以要求待檢測(cè)計(jì)算機(jī)1交出后續(xù)總線周期的主控權(quán)。
當(dāng)待檢測(cè)計(jì)算機(jī)1的PCI總線仲裁器(Arbiter)響應(yīng)總線仲裁許可信號(hào)GNT#信號(hào)認(rèn)可前,單步中斷除錯(cuò)裝置2會(huì)將所歷經(jīng)的各個(gè)總線周期的地址(Address)、數(shù)據(jù)(Data)、命令(Command)等信號(hào)狀態(tài)分別鎖存住,并且利用周期數(shù)計(jì)數(shù)器242記錄所歷經(jīng)總線周期的次數(shù)(遞增1)。
而在PCI總線仲裁器響應(yīng)GNT#信號(hào)后,該單步中斷除錯(cuò)裝置2會(huì)在所經(jīng)歷的最后一個(gè)總線周期結(jié)束之后,致能IRDY#,并將其維持于低電位。此時(shí),PCI總線上的動(dòng)作均暫停,而單步中斷除錯(cuò)裝置2會(huì)致能MASTER_OC#信號(hào),此一信號(hào)通過(guò)信號(hào)連接線4傳送到遠(yuǎn)程主控臺(tái)3的除錯(cuò)信息搜集裝置30。
當(dāng)遠(yuǎn)程主控臺(tái)3的除錯(cuò)信息搜集裝置30檢測(cè)到該單步中斷除錯(cuò)裝置2所送來(lái)的MASTER_OC#信號(hào)后,除錯(cuò)信息搜集裝置30即通過(guò)中斷請(qǐng)求信號(hào)產(chǎn)生電路301觸發(fā)一硬件中斷請(qǐng)求信號(hào)INTA#至遠(yuǎn)程主控臺(tái)3的PCI總線371,以向遠(yuǎn)程中控臺(tái)3的中央處理單元31要求處理該一中斷請(qǐng)求。而經(jīng)由中斷處理程序軟件的執(zhí)行,除錯(cuò)信息搜集裝置30會(huì)令中央處理單元31發(fā)出一連串的輸入/輸出(I/O)讀取及內(nèi)存寫入(Memory Write)指令,通過(guò)除錯(cuò)信息搜集裝置30的控制邏輯電路產(chǎn)生電路305分別產(chǎn)生控制信號(hào)讀取RD_CONTROL、數(shù)據(jù)讀取RD_DATA、地址讀取RD_ADDRESS等信號(hào),以分別將輸入/輸出地址緩沖器302、輸入/輸出數(shù)據(jù)緩沖器303、及輸入/輸出控制信號(hào)緩沖器304的輸出開關(guān)逐一打開,使由單步中斷除錯(cuò)裝置2所送來(lái)的除錯(cuò)信息逐一經(jīng)由PCI總線371送至中央處理單元31,并寫入存儲(chǔ)器32的除錯(cuò)消息緩沖區(qū)321中。
在除錯(cuò)信息均已寫入除錯(cuò)信息緩沖區(qū)321之后,中斷處理程序會(huì)令除錯(cuò)信息搜集裝置30的控制邏輯產(chǎn)生電路305發(fā)送一解除中斷請(qǐng)求信號(hào)INT_DST,以通知中斷請(qǐng)求信號(hào)產(chǎn)生電路301解除中斷請(qǐng)求,該控制邏輯產(chǎn)生電路305并產(chǎn)生一開關(guān)仿真信號(hào)SW_EMULATE,此信號(hào)經(jīng)由信號(hào)連接線4被送回單步中斷除錯(cuò)裝置2。由于該開關(guān)仿真信號(hào)SW_EMULATE實(shí)際上等效于開關(guān)的切換,因此單步中斷除錯(cuò)裝置2的開關(guān)次數(shù)計(jì)數(shù)器246于檢測(cè)到該SW_EMULATE信號(hào)的下降緣時(shí),會(huì)自動(dòng)向上計(jì)數(shù)一次。
此時(shí),如果圖2中的周期數(shù)計(jì)數(shù)器243與開關(guān)次數(shù)計(jì)數(shù)器246的計(jì)數(shù)值并不相等,則單步中斷除錯(cuò)裝置2會(huì)再度致能MASTER_OC#信號(hào),通知除錯(cuò)信息搜集裝置30繼續(xù)由單步中斷除錯(cuò)裝置2抓取已被鎖存住的剩余總線周期的除錯(cuò)信息。該MASTER_OC#信號(hào)可以下列代表式予以說(shuō)明MASTER_OC#=(OC0#&OC1#&...&OCn#)+Master_IRDY#
其中OC0#、OC1#、...OCn#分別代表單步中斷除錯(cuò)裝置上各個(gè)緩沖器的輸出控制信號(hào),而MASTER_IRDY#代表單步中斷除錯(cuò)裝置所產(chǎn)生的IRDY#信號(hào),’&’代表與門,’+’代表或門。
當(dāng)單步中斷除錯(cuò)裝置2中的周期數(shù)計(jì)數(shù)器242及開關(guān)次數(shù)計(jì)數(shù)器246的計(jì)數(shù)值相等時(shí),代表所鎖存住的總線周期除錯(cuò)信息均已搜集完畢,此時(shí)單步中斷除錯(cuò)裝置會(huì)結(jié)束REQ#及IRDY#信號(hào)的致能狀態(tài),把總線控制權(quán)交回給待檢測(cè)計(jì)算機(jī)1,恢復(fù)正常的PCI總線周期的進(jìn)行。而藉由MASTER_REQ#、MASTER_IRDY#、MASTER_OC#、SW_EMULATE等信號(hào)的持續(xù)產(chǎn)生,便可在無(wú)須按鍵切換的情況下,自動(dòng)將后續(xù)所進(jìn)行的各個(gè)PCI總線周期的信息記錄于遠(yuǎn)程中控臺(tái)的內(nèi)存緩沖區(qū)。而通過(guò)遠(yuǎn)程主控臺(tái)軟件程序的運(yùn)行,經(jīng)由內(nèi)存緩沖區(qū)所搜集到的所有除錯(cuò)相關(guān)信息,可被儲(chǔ)存到數(shù)據(jù)儲(chǔ)存裝置(如硬盤機(jī)),以作為進(jìn)一步除錯(cuò)分析及統(tǒng)計(jì)之用。
綜上所言,本發(fā)明所提供的上述除錯(cuò)方法及裝置確具高度的產(chǎn)業(yè)利用價(jià)值。以上的實(shí)施例說(shuō)明,僅為本發(fā)明的較佳實(shí)施例說(shuō)明,熟悉此項(xiàng)技術(shù)人員當(dāng)可依據(jù)本發(fā)明上述實(shí)施例說(shuō)明而作其它種種的改良及變化。然而這些依據(jù)本發(fā)明實(shí)施例所作的種種改良及變化,當(dāng)仍屬于本發(fā)明的發(fā)明精神及所界定的專利范圍內(nèi)。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,藉由一單步中斷除錯(cuò)裝置及一遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置以搜集一待檢測(cè)計(jì)算機(jī)于除錯(cuò)周期中被擷取的總線周期除錯(cuò)相關(guān)信息,該單步中斷除錯(cuò)裝置連接于該待檢測(cè)計(jì)算機(jī)的總線,且經(jīng)由信號(hào)連接線連接至該遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置,其中該方法包括下列步驟由單步中斷除錯(cuò)裝置取得待檢測(cè)計(jì)算機(jī)的總線主控權(quán)后,將所要檢測(cè)的待檢測(cè)計(jì)算機(jī)的歷經(jīng)總線周期的除錯(cuò)相關(guān)信息分別予以擷取鎖存;以一周期數(shù)計(jì)數(shù)器遞增記錄所歷經(jīng)的總線周期數(shù);單步中斷除錯(cuò)裝置致能一告知擷取除錯(cuò)信息信號(hào)MASTER_OC#,并傳送到遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置;除錯(cuò)信息搜集裝置于接收到該MASTER_OC#信號(hào)時(shí),將該單步中斷除錯(cuò)裝置所鎖存的除錯(cuò)相關(guān)信息逐一抓取;在除錯(cuò)信息均已接收完畢后,該除錯(cuò)信息搜集裝置產(chǎn)生一開關(guān)仿真信號(hào)送回單步中斷除錯(cuò)裝置;單步中斷除錯(cuò)裝置依據(jù)該開關(guān)仿真信號(hào),由一開關(guān)次數(shù)計(jì)數(shù)器遞增計(jì)數(shù)一次;比較該周期數(shù)計(jì)數(shù)器與開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值,若不相等,則單步中斷除錯(cuò)裝置再度致能MASTER_OC#信號(hào),通知除錯(cuò)信息搜集裝置繼續(xù)由單步中斷除錯(cuò)裝置繼續(xù)抓取已被鎖存住的剩余總線周期的除錯(cuò)信息;若該周期數(shù)計(jì)數(shù)器及開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值相等時(shí),單步中斷除錯(cuò)裝置結(jié)束信號(hào)的擷取,并把總線控制權(quán)交回給待檢測(cè)計(jì)算機(jī)。
2.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,其中該總線為PCI總線。
3.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,更包括將該單步中斷除錯(cuò)裝置所擷取到的待檢測(cè)計(jì)算機(jī)總線周期的除錯(cuò)相關(guān)信息分別予以顯示在一顯示裝置的步驟。
4.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,其中該單步中斷除錯(cuò)裝置所擷取到的待檢測(cè)計(jì)算機(jī)總線周期的除錯(cuò)相關(guān)信息包括該總線周期的地址、數(shù)據(jù)、命令等信息。
5.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,其中該單步中斷除錯(cuò)裝置于取得待檢測(cè)計(jì)算機(jī)主控權(quán)、以及擷取除錯(cuò)相關(guān)信息時(shí),包括下列步驟于所要檢測(cè)的總線周期期間中,由單步中斷除錯(cuò)裝置發(fā)出一要求總線主控權(quán)信號(hào)REQ#至待檢測(cè)計(jì)算機(jī);當(dāng)待檢測(cè)計(jì)算機(jī)響應(yīng)總線仲裁許可信號(hào)認(rèn)可前,單步中斷除錯(cuò)裝置將所歷經(jīng)的各個(gè)總線周期的地址、數(shù)據(jù)、命令等信號(hào)狀態(tài)分別鎖存住;當(dāng)待檢測(cè)計(jì)算機(jī)響應(yīng)總線仲裁許可信號(hào)認(rèn)可后,該單步中斷除錯(cuò)裝置在所經(jīng)歷的最后一個(gè)總線周期結(jié)束之后,總線的動(dòng)作均暫停;;單步中斷除錯(cuò)裝置致能該告知擷取除錯(cuò)信息信號(hào)MASTER_OC#。
6.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,其中該除錯(cuò)信息搜集裝置于抓取單步中斷除錯(cuò)裝置所鎖存的除錯(cuò)相關(guān)信息時(shí),是通過(guò)中斷處理,其包括下列步驟除錯(cuò)信息搜集裝置產(chǎn)生一中斷請(qǐng)求信號(hào)至遠(yuǎn)程主控臺(tái)的總線,以向遠(yuǎn)程中控臺(tái)的中央處理單元要求處理該中斷請(qǐng)求;除錯(cuò)信息搜集裝置由一控制邏輯產(chǎn)生電路分別產(chǎn)生控制信號(hào)讀取、數(shù)據(jù)讀取、地址讀取等信號(hào),以分別將輸入/輸出地址緩沖器、輸入/輸出數(shù)據(jù)緩沖器、及輸入/輸出控制信號(hào)緩沖器的輸出閘逐一打開;將單步中斷除錯(cuò)裝置所送來(lái)的除錯(cuò)信息逐一予以接收;在除錯(cuò)信息均已接收完畢后,由該控制邏輯產(chǎn)生電路發(fā)送一解除中斷請(qǐng)求信號(hào),以通知解除該中斷請(qǐng)求。
7.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,其中該除錯(cuò)信息搜集裝置于抓取單步中斷除錯(cuò)裝置所鎖存的除錯(cuò)相關(guān)信息時(shí),更包括將該除錯(cuò)相關(guān)信息寫入遠(yuǎn)程主控臺(tái)中內(nèi)存的除錯(cuò)信息緩沖區(qū)中。
8.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法,其中該被寫入至遠(yuǎn)程主控臺(tái)中內(nèi)存的除錯(cuò)消息緩沖區(qū)中的除錯(cuò)相關(guān)信息,進(jìn)一步被儲(chǔ)存到數(shù)據(jù)儲(chǔ)存裝置中,以作為進(jìn)一步除錯(cuò)分析及統(tǒng)計(jì)之用。
9.一種計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,用以搜集一待檢測(cè)計(jì)算機(jī)于除錯(cuò)周期中被擷取的總線周期除錯(cuò)相關(guān)信息,該裝置包括有一單步中斷除錯(cuò)裝置,連接于該待檢測(cè)計(jì)算機(jī)的總線,可于欲檢測(cè)的總線周期中取得該待檢測(cè)計(jì)算機(jī)的總線主控權(quán),并擷取該總線周期的除錯(cuò)相關(guān)信息、并可產(chǎn)生一告知擷取除錯(cuò)信息信號(hào)MASTER_OC#,該單步中斷除錯(cuò)裝置中更包括有一周期數(shù)計(jì)數(shù)器,用以記錄該待檢測(cè)計(jì)算機(jī)于除錯(cuò)周期時(shí)的歷經(jīng)總線周期數(shù);一開關(guān)次數(shù)計(jì)數(shù)器,用以記錄開關(guān)次數(shù);一比較器,用以比較該周期數(shù)計(jì)數(shù)器與開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值;一遠(yuǎn)程主控臺(tái),包括有一除錯(cuò)信息搜集裝置,經(jīng)由信號(hào)連接線連接至該單步中斷除錯(cuò)裝置,通過(guò)該信號(hào)連接線用以接收該單步中斷除錯(cuò)裝置所送出的除錯(cuò)相關(guān)信息及MASTER_OC#信號(hào)、以及該單步中斷除錯(cuò)裝置與除錯(cuò)信息搜集裝置二者間進(jìn)行信號(hào)交換所需的相關(guān)控制信號(hào),該除錯(cuò)信息搜集裝置進(jìn)一步包括有一控制邏輯產(chǎn)生電路,可產(chǎn)生一開關(guān)仿真信號(hào),并送到單步中斷除錯(cuò)裝置;一中斷請(qǐng)求信號(hào)產(chǎn)生電路,用以接收該單步中斷除錯(cuò)裝置所送來(lái)的MASTER_OC#信號(hào),并據(jù)以產(chǎn)生一中斷請(qǐng)求信號(hào)至該遠(yuǎn)程主控臺(tái);至少一緩沖器,用以暫存該單步中斷除錯(cuò)裝置所送來(lái)的除錯(cuò)相關(guān)信息;當(dāng)遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置接收到該單步中斷除錯(cuò)裝置所送來(lái)的MASTER_OC#信號(hào)后,即將該單步中斷除錯(cuò)裝置所鎖存的除錯(cuò)相關(guān)信息逐一抓取,并在除錯(cuò)相關(guān)信息均已接收完畢后,由該除錯(cuò)信息搜集裝置產(chǎn)生一開關(guān)仿真信號(hào)送回單步中斷除錯(cuò)裝置,單步中斷除錯(cuò)裝置依據(jù)該開關(guān)仿真信號(hào),由開關(guān)次數(shù)計(jì)數(shù)器遞增計(jì)數(shù)一次,當(dāng)該周期數(shù)計(jì)數(shù)器與開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值經(jīng)比較器比較結(jié)果并不相等時(shí),則單步中斷除錯(cuò)裝置再度致能該MASTER_OC#信號(hào),通知除錯(cuò)信息搜集裝置繼續(xù)由單步中斷除錯(cuò)裝置繼續(xù)抓取已被鎖存住的剩余總線周期的除錯(cuò)信息;而當(dāng)該周期數(shù)計(jì)數(shù)器及開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值相等時(shí),單步中斷除錯(cuò)裝置結(jié)束信號(hào)的擷取,并把總線控制權(quán)交回給待檢測(cè)計(jì)算機(jī)。
10.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,其中該總線為PCI總線。
11.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,其中該單步中斷除錯(cuò)裝置是插接于待檢測(cè)計(jì)算機(jī)的PCI總線,而該除錯(cuò)信息自動(dòng)搜集裝置是插接于遠(yuǎn)程主控臺(tái)的PCI總線,單步中斷除錯(cuò)裝置與該除錯(cuò)信息自動(dòng)搜集裝置之間是經(jīng)由一信號(hào)連接線予以連接。
12.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,其中該單步中斷除錯(cuò)裝置包括有一地址及命令鎖存控制電路,可在欲除錯(cuò)的總線周期中將該待檢測(cè)計(jì)算機(jī)的地址及命令信號(hào)予以鎖存至一地址及命令鎖存緩存器中;一數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路,可在欲除錯(cuò)的總線周期中將該待檢測(cè)計(jì)算機(jī)的數(shù)據(jù)及字節(jié)致能信號(hào)予以鎖存至一數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器中;一計(jì)數(shù)控制電路,包括有一周期數(shù)譯碼器,用以譯碼出該周期數(shù)計(jì)數(shù)器的周期數(shù),并將該譯碼出的信號(hào)分別送至該地址及命令鎖存控制電路及數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路;一緩沖器控制邏輯電路,用以產(chǎn)生緩沖器控制信號(hào),以分別將該地址及命令鎖存控制電路及數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路中的信號(hào)分別送入一地址及命令鎖存緩存器及一數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器中;一要求總線主控權(quán)信號(hào)(REQ#)產(chǎn)生邏輯電路,用以產(chǎn)生一要求總線主控權(quán)信號(hào)(REQ#);一主端裝置備妥信號(hào)產(chǎn)生邏輯電路,可在總線主控周期期間產(chǎn)生一主端裝置備妥信號(hào)IRDY#;一告知擷取除錯(cuò)信息信號(hào)產(chǎn)生電路,用以產(chǎn)生告知擷取除錯(cuò)信息信號(hào)MASTER_OC#至遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置。
13.如權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,其中該地址及命令鎖存控制電路中的地址及命令鎖存緩存器是一先進(jìn)先出緩存器,而該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路中的數(shù)據(jù)及字節(jié)致能信號(hào)鎖存緩存器亦是一先進(jìn)先出緩存器。
14.如權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,其中該單步中斷除錯(cuò)裝置更包括有一顯示裝置,用以顯示該單步中斷除錯(cuò)裝置所擷取到的除錯(cuò)相關(guān)信息,該顯示裝置包括有一地址及命令顯示單元,連接于該地址及命令鎖存控制電路中的地址及命令緩沖器,用以顯示欲除錯(cuò)周期的被鎖存地址及命令狀態(tài);一數(shù)據(jù)及字節(jié)致能信號(hào)顯示單元,連接于該數(shù)據(jù)及字節(jié)致能信號(hào)鎖存控制電路中的數(shù)據(jù)及字節(jié)致能信號(hào)緩沖器,用以顯示欲除錯(cuò)周期的被鎖存數(shù)據(jù)及字節(jié)致能信號(hào)的狀態(tài)。
15.如權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng)的總線周期單步中斷除錯(cuò)信息自動(dòng)搜集裝置,其中該計(jì)數(shù)控制電路中包括有一計(jì)數(shù)器重置電路,用以在單步中斷除錯(cuò)裝置的比較器輸出呈低態(tài)時(shí),用以重置周期數(shù)計(jì)數(shù)器及開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值為0。
全文摘要
一種計(jì)算機(jī)系統(tǒng)總線周期單步中斷除錯(cuò)信息自動(dòng)搜集方法及裝置,以一單步中斷除錯(cuò)裝置取得待檢測(cè)計(jì)算機(jī)的總線主控權(quán)后,將除錯(cuò)相關(guān)信息分別予以擷取,并以一周期數(shù)計(jì)數(shù)器遞增記錄總線周期數(shù),然后致能一MASTER_OC#信號(hào)至遠(yuǎn)程主控臺(tái)的除錯(cuò)信息搜集裝置。除錯(cuò)信息搜集裝置于接收到該信號(hào)時(shí),將該除錯(cuò)相關(guān)信息逐一抓取完畢,然后產(chǎn)生一開關(guān)仿真信號(hào)。單步中斷除錯(cuò)裝置依據(jù)該開關(guān)仿真信號(hào),由一開關(guān)次數(shù)計(jì)數(shù)器遞增計(jì)數(shù)一次。當(dāng)周期數(shù)計(jì)數(shù)器與開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值不相等時(shí),單步中斷除錯(cuò)裝置再度致能MASTER_OC#信號(hào);若該周期數(shù)計(jì)數(shù)器及開關(guān)次數(shù)計(jì)數(shù)器的計(jì)數(shù)值相等時(shí),則結(jié)束信號(hào)擷取,并把總線控制權(quán)交回給待檢測(cè)計(jì)算機(jī)。
文檔編號(hào)G06F11/22GK1619505SQ20031011654
公開日2005年5月25日 申請(qǐng)日期2003年11月18日 優(yōu)先權(quán)日2003年11月18日
發(fā)明者蔡俊男 申請(qǐng)人:神達(dá)電腦股份有限公司