程式狀態字是指CPU一些重要暫存器內容的有序集合,而不是指硬體暫存器本身。程式狀態字主要存放兩類信息:一類是當前指令執行結果的狀態信息,另一類是存放控制信息。現行程式狀態字是指程式狀態字保存正在執行程式狀態各種信息和CPU的狀態信息。
基本介紹
- 中文名:現行程式狀態字
- 外文名:current program status word
- 學科:計算機
- 定義:保存最新信息的程式狀態字
- 有關術語:程式狀態字
- 領域:計算機系統
簡介,程式狀態字,概述,主要內容,中斷,進程控制塊,
簡介
現行程式狀態字是指程式狀態字保存正在執行程式狀態各種信息和CPU的狀態信息。在計算機系統中,有很地方用到程式狀態字。例如,在硬體回響中斷時,進行新老程式狀態字的交換,老程式就是現行程式狀態字,新程式狀態字是指存放在記憶體指定單元的程式狀態字,新程式狀態字中的指令地址暫存器內容就是作業系統的入口地址。程式狀態字一般在進程控制塊中。
程式狀態字
概述
程式狀態字,是指在計算機中,一段包含被作業系統和潛在硬體使用的程式狀態信息的記憶體或硬體區域。它經常包含一個指向下一條需要被執行指令的指針。程式狀態字還通常包含一個錯誤狀態區域和關於中斷允許或禁止,超級或普通用戶模式位的條件代碼。程式狀態字能夠反映程式運行狀態的主要信息有: 指令計數器的內容,供條件轉移用的指令操作結果的特徵信息,程式狀態標誌位,中斷禁止標誌位和溢出標誌位等等。這些信息是執行每條指令時都要用到或可能用到的信息,它基本上反映了程式運行過程中指令一級的瞬間狀態。為了控制方便將這些信息集中存放在一個機器字(或雙字)中,稱之為程式狀態字。用來存放程式狀態字的暫存器,稱之為程式狀態暫存器。在程式運行過程中,程式狀態字被動態地保存在程式狀態暫存器中。當程式被中斷時,程式狀態字將作為現場信息被保存起來。程式重新運行時,在恢復現場程式中執行恢復程式狀態字指令,將程式狀態字送回程式狀態暫存器中。
主要內容
1.CY(Carry):
CY表示加法運算中的進位和減法運算中的借位,加法運算中有進位或減法運算中有借位則CY位置1,否則為0。
2. AC(Auxiliary Carry):
與CY基本相同,不同的是AC表示的是低4位向高4位的進、借位。
3.F0:
該位是用戶自己管理的標誌位,用戶可以根據自己的需要來設定。
4. RS1、RS0:
這兩位用於選擇當前工作暫存器區。8051有8個8位暫存器R0~R7,它們在RAM中的地址可以根據用戶需要來確定。
RS1 RS0:R0~R7的地址
0 0: 00H~07H
0 1: 08H~0FH
1 0: 10H~17H
1 1: 18H~1FH
5.OV:
該位表示運算是否發生了溢出。若運算結果超過了8位有符號數所能表示的範圍,即-128 ~ +127,則 OV = 1。
6.P:
P是奇偶標誌位。若累加器A中1的個數為奇數,則P = 1;若累加器A中1的個數為偶數,則P = 0。
中斷
計算機科學術語.指處理機處理程式運行中出現的緊急事件的整個過程.程式運行過程中,系統外部、系統內部或者現行程式本身若出現緊急事件,處理機立即中止現行程式的運行,自動轉入相應的處理程式(中斷服務程式),待處理完後,再返回原來的程式運行,這整個過程稱為程式中斷。當處理機接受中斷時,只需暫停一個或幾個周期而不執行處理程式的中斷,稱為簡單中斷。中斷又可分為禁止中斷和非禁止中斷兩類。可由程式控制其禁止的中斷稱為禁止中斷或可禁止中斷。禁止時,處理機將不接受中斷。反之,不能由程式控制其禁止,處理機一定要立即處理的中斷稱為非禁止中斷或不可禁止中斷。非禁止中斷主要用於斷電、電源故障等必須立即處理的情況。處理機回響中斷時,不需執行查詢程式.由被回響中斷源向CPU發向量地址的中斷稱為向量中斷,反之為非向量中斷。向量中斷可以提高中斷回響速度。
中斷回響和處理:大多數中斷系統都具有如下幾方面的操作,這些操作是按照中斷的執行先後次序排列的。①接收中斷請求。②查看本級中斷禁止位,若該位為1則本級中斷源參加優先權排隊。③中斷優先權選擇。④處理機執行完一條指令後或者這條指令已無法執行完,則立即中止現行程式。接著,中斷部件根據中斷級去指定相應的主存單元,並把被中斷的指令地址和處理機當前的主要狀態信息存放在此單元中。⑤中斷部件根據中斷級又指定另外的主存單元,從這些單元中取出處理機新的狀態信息和該級中斷控制程式的起始地址。⑥執行中斷控制程式和相應的中斷服務程式。⑦執行完中斷服務程式後,利用專用指令使處理機返回被中斷的程式或轉向其他程式。在中斷回響和中斷處理中,都要進行交換程式狀態字操作,都有現行程式狀態字。
進程控制塊
進程控制塊(Processing Control Block),是作業系統核心中一種數據結構,主要表示進程狀態。其作用是使一個在多道程式環境下不能獨立運行的程式(含數據),成為一個能獨立運行的基本單位或與其它進程並發執行的進程。或者說,OS是根據PCB來對並發執行的進程進行控制和管理的。 PCB通常是系統記憶體占用區中的一個連續存區,它存放著作業系統用於描述進程情況及控制進程運行所需的全部信息,它使一個在多道程式環境下不能獨立運行的程式成為一個能獨立運行的基本單位或一個能與其他進程並發執行的進程。