計算機硬體系統

狂暴之刃發表於2024-05-02

時鐘週期也稱為振盪週期,定義為時鐘脈衝的倒數(可以這樣來理解,時鐘週期就是微控制器外接晶振的倒數,例如12M的晶振,它的時間週期就是1/12 us),是計算機中最基本的、最小的時間單位。
在一個時鐘週期內,CPU僅完成一個最基本的動作。對於某種微控制器,若採用了1MHZ的時脈頻率,則時鐘週期為1us;若採用4MHZ的時脈頻率,則時鐘週期為250us。由於時鐘脈衝是計算機的基本工作脈衝,它控制著計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算機,時脈頻率越高,計算機的工作速度就越快。但是,由於不同的計算機硬體電路和器件的不完全相同,所以其所需要的時鐘周頻率範圍也不一定相同。我們學習的8051微控制器的時鐘範圍是1.2MHz-12MHz。
在8051微控制器中把一個時鐘週期定義為一個節拍(用P表示),二個節拍定義為一個狀態週期(用S表示)。
2、機器週期
在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、儲存器讀、儲存器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器週期。一般情況下,一個機器週期由若干個S週期(狀態週期)組成。8051系列微控制器的一個機器週期同6個S週期(狀態週期)組成。前面已說過一個時鐘週期定義為一個節拍(用P表示),二個節拍定義為一個狀態週期(用S表示),8051微控制器的機器週期由6個狀態週期組成,也就是說一個機器週期=6個狀態週期=12個時鐘週期。
3、指令週期
指令週期是執行一條指令所需要的時間,一般由若干個機器週期組成。指令不同,所需的機器週期數也不同。對於一些簡單的單位元組指令,在取指令週期中,指令取出到指令暫存器後,立即譯碼執行,不再需要其它的機器週期。對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器週期。
通常含一個機器週期的指令稱為單週期指令,包含兩個機器週期的指令稱為雙週期指令。
2、控制器:它是整個CPU的指揮控制中心,由指令暫存器IR(InstructionRegister)、程式計數器PC(ProgramCounter)和操作控制器0C(OperationController)三個部件組成,對協調整個電腦有序工作極為重要。
指令暫存器:用以儲存當前執行或即將執行的指令的一種暫存器。指令內包含有確定操作型別的操作碼和指出運算元來源或去向的地址。指令長度隨不同計算機而異,指令暫存器的長度也隨之而異。計算機的所有操作都是透過分析存放在指令暫存器中的指令後再執行的。指令暫存器的輸人端接收來自儲存器的指令,指令暫存器的輸出端分為兩部分。操作碼部分送到譯碼電路進行分析,指出本指令該執行何種型別的操作;地址部分送到地址加法器生成有效地址後再送到儲存器,作為取數或存數的地址。
當執行一條指令時,先把它從記憶體取到資料暫存器(DR)中,然後再傳送至IR。指令劃分為操作碼和地址碼欄位,由二進位制數字組成。為了執行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令譯碼器就是做這項工作的。指令暫存器中操作碼欄位的輸出就是指令譯碼器的輸入。操作碼一經譯碼後,即可向操作控制器發出具體操作的特定訊號。
程式計數器:指明程式中下一次要執行的指令地址的一種計數器,又稱指令計數器。它兼有指令地址暫存器和計數器的功能。當一條指令執行完畢的時候,程式計數器作為指令地址暫存器,其內容必須已經改變成下一條指令的地址,從而使程式得以持續執行。為此可採取順序執行指令的辦法。
一個程式由若干個程式段組成,每個程式段的指令可以設計成順序地存放在儲存器之中,所以只要指令地址暫存器兼有計數功能,在執行指令的過程中進行計數,自動加一個增量,就可以形成下一條指令的地址。從而達到順序執行指令的目的,即所謂的順序定址。這個辦法適用於以隨機儲存器作為主儲存器的計算機。
當程式的執行需要從一個程式段轉向另一個程式段時,可以利用轉移指令來實現。轉移指令中包含了即將轉去的程式段入口指令的地址。執行轉移指令時將這個地址送人程式計數器(此時只作為指令地址暫存器,不計數)作為下一條指令的地址,從而達到轉移程式段的目的,即所謂的跳躍定址。子程式的呼叫、中斷和陷阱的處理等都用類似的方法。

相關文章