MAPAL CR-3N 30026298控制器設計步驟
MAPAL CR-3N 30026298控制器設計步驟
、設計機器的指令系統(tǒng):規(guī)定指令的種類、指令的條數以及每一條指令的格式和功能;
2、初步的總體設計:如寄存器設置、總線安排、運算器設計、部件間的連接關系等;
3、繪制指令流程圖:標出每一條指令在什么時間、什么部件進行何種操作;
4、編排操作時間表:即根據指令流程圖分解各操作為微操作,按時間段列出機器應進行的微操作;
5、列出微操作信號表達式,化簡,電路實現。
基本組成:
1、指令寄存器用來存放正在執(zhí)行的指令。指令分成兩部分:操作碼和地址碼。操作碼用來指示指令的操作性質,如加法、減法等;地址碼給出本條指令的操作數地址或形成操作數地址的有關信息(這時通過地址形成電路來形成操作數地址)。有一種指令稱為轉移指令,它用來改變指令的正常執(zhí)行順序,這種指令的地址碼部分給出的是要轉去執(zhí)行的指令的地址。
2、操作碼譯碼器:用來對指令的操作碼進行譯碼,產生相應的控制電平,完成分析指令的功能。
3、時序電路:用來產生時間標志信號。在微型計算機中,時間標志信號一般為三級:指令周期、總線周期和時鐘周期。微操作命令產生電路產生完成指令規(guī)定操作的各種微操作命令。這些命令產生的主要依據是時間標志和指令的操作性質。該電路實際是各微操作控制信號表達式(如上面的A→L表達式)的電路實現,它是組合邏輯控制器中最為復雜的部分。
4、指令計數器:用來形成下一條要執(zhí)行的指令的地址。通常,指令是順序執(zhí)行的,而指令在存儲器中是順序存放的。所以,一般情況下下一條要執(zhí)行的指令的地址可通過將現行地址加1形成,微操作命令“1"就用于這個目的。如果執(zhí)行的是轉移指令,則下一條要執(zhí)行的指令的地址是要轉移到的地址。該地址就在本轉移指令的地址碼字段,將其直接送往指令計數器。
微程序控制器的提出是因為組合邏輯設計存在不便于設計、不靈活、不易修改和擴充等缺點。
微程序
微程序控制(簡稱微碼控制)的基本思路是:用微指令產生微操作命令,一條指令的功能通過執(zhí)行一系列基本操作來完成,這些基本操作稱為微操作,每個微操作在相應控制信號的控制下執(zhí)行,這些控制信號在微程序設計中稱為微命令。微程序是一個微指令序列,對應于一條機器指令的功能,每條微指令是一個0/1序列,其中包含若干個微命令,它完成一個基本運算或傳送功能,有時也將微指令字,稱作控制字(controlword) [2]。
微程序控制器的組成:
1、控制存儲器(Control Memory)用來存放各機器指令對應的微程序。譯碼器用來形成機器指令對應的微程序的入口地址。當將一條機器指令對應的微程序的各條微指令逐條取出,并送到微指令寄存器時,其微操作命令也就按事先的設計發(fā)出,因而也就完成了一條機器指令的功能。對每一條機器指令都是如此。
2、微指令的寬度直接決定了微程序控制器的寬度。為了簡化控制存儲器,可采取一些措施來縮短微指令的寬度。如采用字段譯碼法一級分段譯碼。顯然,微指令的控制字段將大大縮短。,一些要同時產生的微操作命令不能安排在同一個字段中。為了進一步縮短控制字段,還可以將字段譯碼設計成兩級或多級。
CPU
控制器是指揮計算機的各個部件按照指令的功能要求協調工作的部件,是計算機的神經中樞和指揮中心,由指令寄存器IR(InstructionRegister)、程序計數器PC(ProgramCounter)和操作控制器OC(OperationController)三個部件組成,對協調整個電腦有序工作極為重要。
指令寄存器:用以保存當前執(zhí)行或即將執(zhí)行的指令的一種寄存器。指令內包含有確定操作類型的操作碼和指出操作數來源或去向的地址。指令長度隨不同計算機而異,指令寄存器的長度也隨之而異。計算機的所有操作都是通過分析存放在指令寄存器中的指令后再執(zhí)行的。指令寄存器的輸人端接收來自存儲器的指令,指令寄存器的輸出端分為兩部分。操作碼部分送到譯碼電路進行分析,指出本指令該執(zhí)行何種類型的操作;地址部分送到地址加法器生成有效地址后再送到存儲器,作為取數或存數的地址。
存儲器可以指主存、高速緩存或寄存器棧等用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內存取到數據寄存器(DR)中,然后再傳送至IR。指令劃分為操作碼和地址碼字段,由二進制數字組成。為了執(zhí)行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令譯碼器就是做這項工作的。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經譯碼后,即可向操作控制器發(fā)出具體操作的特定信號。
程序計數器:指明程序中下一次要執(zhí)行的指令地址的一種計數器,又稱指令計數器。它兼有指令地址寄存器和計數器的功能。當一條指令執(zhí)行完畢的時候,程序計數器作為指令地址寄存器,其內容必須已經改變成下一條指令的地址,從而使程序得以持續(xù)運行。
為此可采取以下兩種辦法:
第一種辦法是在指令中包含了下一條指令的地址。在指令執(zhí)行過程中將這個地址送人指令地址寄存器即可達到程序持續(xù)運行的目的。這個方法適用于早期以磁鼓、延遲線等串行裝置作為主存儲器的計算機。根據本條指令的執(zhí)行時間恰當地決定下一條指令的地址就可以縮短讀取下一條指令的等待時間,從而收到提高程序運行速度的效果。
第二種辦法是順序執(zhí)行指令。一個程序由若干個程序段組成,每個程序段的指令可以設計成順序地存放在存儲器之中,所以只要指令地址寄存器兼有計數功能,在執(zhí)行指令的過程中進行計數,自動加一個增量,就可以形成下一條指令的地址,從而達到順序執(zhí)行指令的目的。這個辦法適用于以隨機存儲器作為主存儲器的計算機。當程序的運行需要從一個程序段轉向另一個程序段時,可以利用轉移指令來實現。轉移指令中包含了即將轉去的程序段入口指令的地址。執(zhí)行轉移指令時將這個地址送人程序計數器(此時只作為指令地址寄存器,不計數)作為下一條指令的地址,從而達到轉移程序段的目的。子程序的調用、中斷和陷阱的處理等都用類似的方法。在隨機存取存儲器普及以后,第二種辦法的整體運行效果大大地優(yōu)于第一種辦法,因而順序執(zhí)行指令已經成為主流計算機普遍采用的辦法,程序計數器就成為中央處理器的一個控制部件。
CPU內的每個功能部件都完成一定的特定功能。信息在各部件之間傳送及數據的流動控制部件的實現。通常把許多數字部件之間傳送信息的通路稱為“數據通路"。信息從什么地方開始,中間經過哪個寄存器或多路開關,最后傳到哪個寄存器,都要加以控制。在各寄存器之間建立數據通路的任務,是由稱為“操作控制器"的部件來完成的。
操作控制器的功能就是根據指令操作碼和時序信號,產生各種操作控制信號,以便正確地建立數據通路,從而完成取指令和執(zhí)行指令的控制。
有兩種由于設計方法不同因而結構也不同的控制器。微操作是指不可再分解的操作,進行微操作總是需要相應的控制信號(稱為微操作控制信號或微操作命令)。一臺數字計算機基本上可以劃分為兩大部分---控制部件和執(zhí)行部件。控制器就是控制部件,而運算器、存儲器、外圍設備相對控制器來說就是執(zhí)行部件??刂撇考c執(zhí)行部件的一種聯系就是通過控制線??刂撇考ㄟ^控制線向執(zhí)行部件發(fā)出各種控制命令,通常這種控制命令叫做微命令,而執(zhí)行部件接受微命令后所執(zhí)行的操作就叫做微操作??刂撇考c執(zhí)行部件之間的另一種聯系就是反饋信息。執(zhí)行部件通過反饋線向控制部件反映操作情況,以便使得控制部件根據執(zhí)行部件的狀態(tài)來下達新的微命令,這也叫做“狀態(tài)測試"。微操作在執(zhí)行部件中是組基本的操作。由于數據通路的結構關系,微操作可分為
相容性和相斥性兩種。在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合,構成一條微指令。一般的微指令格式由操作控制和順序控制兩部分構成。操作控制部分用來發(fā)出管理和指揮全機工作的控制信號。其順序控制部分用來決定產生下一個微指令的地址。事實上一條機器指令的功能是由許多條微指令組成的序列來實現的。這個微指令序列通常叫做微程序。既然微程序是有微指令組成的,那么當執(zhí)行當前的一條微指令的時候。必須指出后繼微指令的地址,以便當前一條微指令執(zhí)行完畢以后,取下一條微指令執(zhí)行。、設計機器的指令系統(tǒng):規(guī)定指令的種類、指令的條數以及每一條指令的格式和功能;
2、初步的總體設計:如寄存器設置、總線安排、運算器設計、部件間的連接關系等;
3、繪制指令流程圖:標出每一條指令在什么時間、什么部件進行何種操作;
4、編排操作時間表:即根據指令流程圖分解各操作為微操作,按時間段列出機器應進行的微操作;
5、列出微操作信號表達式,化簡,電路實現。
基本組成:
1、指令寄存器用來存放正在執(zhí)行的指令。指令分成兩部分:操作碼和地址碼。操作碼用來指示指令的操作性質,如加法、減法等;地址碼給出本條指令的操作數地址或形成操作數地址的有關信息(這時通過地址形成電路來形成操作數地址)。有一種指令稱為轉移指令,它用來改變指令的正常執(zhí)行順序,這種指令的地址碼部分給出的是要轉去執(zhí)行的指令的地址。
2、操作碼譯碼器:用來對指令的操作碼進行譯碼,產生相應的控制電平,完成分析指令的功能。
3、時序電路:用來產生時間標志信號。在微型計算機中,時間標志信號一般為三級:指令周期、總線周期和時鐘周期。微操作命令產生電路產生完成指令規(guī)定操作的各種微操作命令。這些命令產生的主要依據是時間標志和指令的操作性質。該電路實際是各微操作控制信號表達式(如上面的A→L表達式)的電路實現,它是組合邏輯控制器中最為復雜的部分。
4、指令計數器:用來形成下一條要執(zhí)行的指令的地址。通常,指令是順序執(zhí)行的,而指令在存儲器中是順序存放的。所以,一般情況下下一條要執(zhí)行的指令的地址可通過將現行地址加1形成,微操作命令“1"就用于這個目的。如果執(zhí)行的是轉移指令,則下一條要執(zhí)行的指令的地址是要轉移到的地址。該地址就在本轉移指令的地址碼字段,將其直接送往指令計數器。
微程序控制器的提出是因為組合邏輯設計存在不便于設計、不靈活、不易修改和擴充等缺點。
微程序
微程序控制(簡稱微碼控制)的基本思路是:用微指令產生微操作命令,一條指令的功能通過執(zhí)行一系列基本操作來完成,這些基本操作稱為微操作,每個微操作在相應控制信號的控制下執(zhí)行,這些控制信號在微程序設計中稱為微命令。微程序是一個微指令序列,對應于一條機器指令的功能,每條微指令是一個0/1序列,其中包含若干個微命令,它完成一個基本運算或傳送功能,有時也將微指令字,稱作控制字(controlword) [2]。
微程序控制器的組成:
1、控制存儲器(Control Memory)用來存放各機器指令對應的微程序。譯碼器用來形成機器指令對應的微程序的入口地址。當將一條機器指令對應的微程序的各條微指令逐條取出,并送到微指令寄存器時,其微操作命令也就按事先的設計發(fā)出,因而也就完成了一條機器指令的功能。對每一條機器指令都是如此。
2、微指令的寬度直接決定了微程序控制器的寬度。為了簡化控制存儲器,可采取一些措施來縮短微指令的寬度。如采用字段譯碼法一級分段譯碼。顯然,微指令的控制字段將大大縮短。,一些要同時產生的微操作命令不能安排在同一個字段中。為了進一步縮短控制字段,還可以將字段譯碼設計成兩級或多級。
CPU
控制器是指揮計算機的各個部件按照指令的功能要求協調工作的部件,是計算機的神經中樞和指揮中心,由指令寄存器IR(InstructionRegister)、程序計數器PC(ProgramCounter)和操作控制器OC(OperationController)三個部件組成,對協調整個電腦有序工作極為重要。
指令寄存器:用以保存當前執(zhí)行或即將執(zhí)行的指令的一種寄存器。指令內包含有確定操作類型的操作碼和指出操作數來源或去向的地址。指令長度隨不同計算機而異,指令寄存器的長度也隨之而異。計算機的所有操作都是通過分析存放在指令寄存器中的指令后再執(zhí)行的。指令寄存器的輸人端接收來自存儲器的指令,指令寄存器的輸出端分為兩部分。操作碼部分送到譯碼電路進行分析,指出本指令該執(zhí)行何種類型的操作;地址部分送到地址加法器生成有效地址后再送到存儲器,作為取數或存數的地址。
存儲器可以指主存、高速緩存或寄存器棧等用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內存取到數據寄存器(DR)中,然后再傳送至IR。指令劃分為操作碼和地址碼字段,由二進制數字組成。為了執(zhí)行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令譯碼器就是做這項工作的。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經譯碼后,即可向操作控制器發(fā)出具體操作的特定信號。
程序計數器:指明程序中下一次要執(zhí)行的指令地址的一種計數器,又稱指令計數器。它兼有指令地址寄存器和計數器的功能。當一條指令執(zhí)行完畢的時候,程序計數器作為指令地址寄存器,其內容必須已經改變成下一條指令的地址,從而使程序得以持續(xù)運行。
為此可采取以下兩種辦法:
第一種辦法是在指令中包含了下一條指令的地址。在指令執(zhí)行過程中將這個地址送人指令地址寄存器即可達到程序持續(xù)運行的目的。這個方法適用于早期以磁鼓、延遲線等串行裝置作為主存儲器的計算機。根據本條指令的執(zhí)行時間恰當地決定下一條指令的地址就可以縮短讀取下一條指令的等待時間,從而收到提高程序運行速度的效果。
第二種辦法是順序執(zhí)行指令。一個程序由若干個程序段組成,每個程序段的指令可以設計成順序地存放在存儲器之中,所以只要指令地址寄存器兼有計數功能,在執(zhí)行指令的過程中進行計數,自動加一個增量,就可以形成下一條指令的地址,從而達到順序執(zhí)行指令的目的。這個辦法適用于以隨機存儲器作為主存儲器的計算機。當程序的運行需要從一個程序段轉向另一個程序段時,可以利用轉移指令來實現。轉移指令中包含了即將轉去的程序段入口指令的地址。執(zhí)行轉移指令時將這個地址送人程序計數器(此時只作為指令地址寄存器,不計數)作為下一條指令的地址,從而達到轉移程序段的目的。子程序的調用、中斷和陷阱的處理等都用類似的方法。在隨機存取存儲器普及以后,第二種辦法的整體運行效果大大地優(yōu)于第一種辦法,因而順序執(zhí)行指令已經成為主流計算機普遍采用的辦法,程序計數器就成為中央處理器的一個控制部件。
CPU內的每個功能部件都完成一定的特定功能。信息在各部件之間傳送及數據的流動控制部件的實現。通常把許多數字部件之間傳送信息的通路稱為“數據通路"。信息從什么地方開始,中間經過哪個寄存器或多路開關,最后傳到哪個寄存器,都要加以控制。在各寄存器之間建立數據通路的任務,是由稱為“操作控制器"的部件來完成的。
操作控制器的功能就是根據指令操作碼和時序信號,產生各種操作控制信號,以便正確地建立數據通路,從而完成取指令和執(zhí)行指令的控制。
有兩種由于設計方法不同因而結構也不同的控制器。微操作是指不可再分解的操作,進行微操作總是需要相應的控制信號(稱為微操作控制信號或微操作命令)。一臺數字計算機基本上可以劃分為兩大部分---控制部件和執(zhí)行部件??刂破骶褪强刂撇考?,而運算器、存儲器、外圍設備相對控制器來說就是執(zhí)行部件??刂撇考c執(zhí)行部件的一種聯系就是通過控制線??刂撇考ㄟ^控制線向執(zhí)行部件發(fā)出各種控制命令,通常這種控制命令叫做微命令,而執(zhí)行部件接受微命令后所執(zhí)行的操作就叫做微操作??刂撇考c執(zhí)行部件之間的另一種聯系就是反饋信息。執(zhí)行部件通過反饋線向控制部件反映操作情況,以便使得控制部件根據執(zhí)行部件的狀態(tài)來下達新的微命令,這也叫做“狀態(tài)測試"。微操作在執(zhí)行部件中是組基本的操作。由于數據通路的結構關系,微操作可分為
相容性和相斥性兩種。在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合,構成一條微指令。一般的微指令格式由操作控制和順序控制兩部分構成。操作控制部分用來發(fā)出管理和指揮全機工作的控制信號。其順序控制部分用來決定產生下一個微指令的地址。事實上一條機器指令的功能是由許多條微指令組成的序列來實現的。這個微指令序列通常叫做微程序。既然微程序是有微指令組成的,那么當執(zhí)行當前的一條微指令的時候。必須指出后繼微指令的地址,以便當前一條微指令執(zhí)行完畢以后,取下一條微指令執(zhí)行。