微程序控制器.ppt_第1頁
微程序控制器.ppt_第2頁
微程序控制器.ppt_第3頁
微程序控制器.ppt_第4頁
微程序控制器.ppt_第5頁
免費預覽已結束,剩余43頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1 控制器的功能 計算機的功能是執(zhí)行程序程序是依次排列起來的指令代碼控制器的功能就在于 正確地分步完成每一條指令規(guī)定的功能 正確且自動地連續(xù)執(zhí)行指令 再進一步說 就是向計算機各功能部件提供協(xié)調運行每一個步驟所需要的控制信號 2 控制器的組成 程序計數(shù)器PC 存放指令地址 有 1或接收新值功能 指令寄存器IR 存放指令內容 操作碼與操作數(shù)地址 指令執(zhí)行步驟標記線路 指明每條指令的執(zhí)行步驟 控制信號記憶或產生線路 給出計算機各功能部件部件協(xié)同運行所需要的控制信號 運算器部件 主存儲器部件 總線及輸入 輸出接口 輸入 輸出設備 控制器部件 各部件包括 也包括 設計中的難點 在于解決對運算器 控制器的控制 時序控制信號形成部件 譯碼 OPIR PC 輸出設備 輸入設備 主存儲器部件 運算器部件 啟停 地址寄存器 數(shù)據(jù)總線 地址總線 控制總線 控制條件 主振 組合邏輯控制器的組成和運行原理 節(jié)拍發(fā)生器 程序計數(shù)器 指令寄存器 TEC 2000教學機系統(tǒng)的組成 計算機終端 PC機 微程序控制器 運算器 8 16位 主存儲器 8 16位 按鍵開關指示燈 串行接口 接口實驗中斷實驗內存擴展實驗 電源 5V 硬布線控制器 二 指令的執(zhí)行過程 馮 諾依曼結構的計算機即存儲程序的計算機 設置內存 存放程序和數(shù)據(jù) 在程序運行之前存入 執(zhí)行程序 正確從程序首地址開始 正確分步執(zhí)行每一條指令 并形成下條待執(zhí)行指令的地址 正確并自動地連續(xù)執(zhí)行指令 直到程序的最后一條指令 每條指令的執(zhí)行步驟 讀取指令指令地址送入主存地址寄存器讀主存 讀出內容送入指定的寄存器 分析指令 按指令規(guī)定內容執(zhí)行指令不同指令的操作步驟數(shù) 和具體操作內容差異很大 檢查有無中斷請求若有 則響應中斷并轉中斷處理若無 則轉入下一條指令的執(zhí)行過程 R R類型指令讀寫內存類型指令輸入輸出類型指令其他類型指令 可能執(zhí)行一次或多次 是一次讀內存操作 公共操作 公共操作 是每一條指令的特定操作 1 指令執(zhí)行步驟與信息流動圖示部分 典型指令的執(zhí)行過程舉例 2000 0001ADDr0 r1 加法指令2001 0790MVRRr9 r0 傳送指令2002 8280IN80 讀串行口數(shù)據(jù)到R0低8位2003 E709STRA 2007 r9 寫內存指令 是一條雙字指令2007 第二個字中的2007是直接地址2005 44FAJRC2000 若C為1轉到2000 否則順序執(zhí)行2006 8F00RET 子程序返回指令其他一些指令與這里的幾條指令有相當多的共同特性 屬于同一組的指令的執(zhí)行步驟非常類似 讀取指令 AR PC PC PC 1 讀主存 IR 讀出內容執(zhí)行指令 ALU R0ALU R1執(zhí)行 R0 ALU 記憶結果特征結束 判中斷 指令執(zhí)行步驟簡單的文字描述加法指令ADDR0 R1 形成下條指令的地址 寄存器內容傳送指令MVRRR9 R0 讀取指令 AR PC PC PC 1 讀主存 IR 讀出內容執(zhí)行指令 ALU 0ALU R0執(zhí)行 R9 ALU結束 判中斷 形成下條指令的地址 輸入指令IN80 讀取指令 AR PC PC PC 1 讀主存 IR 讀出內容執(zhí)行指令 AR I OPort 讀外設 ALU 讀出數(shù)據(jù)ALU 0執(zhí)行 R0 ALU結束 判中斷 形成下條指令的地址 寫寄存器內容到主存STRA 2007 R9 讀取指令 AR PC PC PC 1 讀主存 IR 讀出內容執(zhí)行指令 AR PC PC PC 1 讀主存 AR 讀出內容 ALU 0 ALU R9 寫主存 總線 ALU 結束 判中斷 地址2007存在指令的第二個字中 形成下條指令的地址 相對轉移指令JRC2000 讀取指令 AR PC PC PC 1 讀主存 IR 讀出內容執(zhí)行指令 若c 1則 ALU PCALU offset IR低字節(jié) 二者相加 結果送PC否則 PC不接收二者之和結束 判中斷 形成下條指令的地址 子程序返回指令RET 讀取指令 AR PC PC PC 1 讀主存 IR 讀出內容執(zhí)行指令 AR SPSP SP 1 讀主存 PC 讀出內容結束 判中斷 形成下條指令的地址 PC 0 AR PCPC PC 1 IR AR 寄存器之間運算與傳送 讀 寫內存AR 地址 AR 地址 讀 寫內存或I O接口 讀 寫內存PC 地址 教學計算機的基本指令 擴展指令執(zhí)行流程圖 A組 B組 C組 D組 Reset B C D組 C組指令也是2次讀寫內存 第1次的讀操作和第2次的送地址操作同時完成 只用3步執(zhí)行了兩次內存讀寫過程 僅在教學機加電啟動時執(zhí)行1次 三 微程序控制器的運行原理 每條指令一個執(zhí)行步驟用到的全體控制信號組成一微指令 每條微指令可以包括一到多個微操作 用多條微指令 一個微程序 解釋每條指令的執(zhí)行過程 全部的微程序有機地組合在一起 被保在控制存儲器中 執(zhí)行一條微指令所用的時間被稱為一個微周期 微指令的格式和內容 下地址字段控制命令字段 讀與執(zhí)行微指令的并行流水技術 微程序控制器實驗 Am2910 MAPROM SCCGal 控制存儲器 ROM 指令操作碼 微指令轉移的控制條件 CC低有效 微指令寄存器 0MRWSAI8 6B口0SSTDC20I2 0SBI5 3A口SSHSCIDC1 CP G 讀命令 1 確定指令功能與格式2 劃分指令執(zhí)行步驟3 分配微指令地址4 設計微指令內容5 把新微指令寫入控存6 需要時修改MAPROM和SCCGal等7 調試并且運行 B口二選一 A口二選一 IR SR IR DR MAP 2 PL 3 SB SA CM1CM2CM3CM4CM5CM6CM7 0 14 0 2 3 14 CI 0 MAR為00h CI 2 MAR來自MAPROM CI 14 是順序執(zhí)行 CI 3 且 CC為低 MAR來自微下地址 CC為高 則是順序執(zhí)行 MAR RESET 377 CP MAPROM用于從操作碼映射出微指令地址 微程序控制器部件56位的微指令字長微下地址字段16位控制命令字段40位7片28C64組成控存1片28C65 從指令操作碼產生微地址1片374存8位下地址1片273存8位條件碼1片377存8位現(xiàn)微地址1片Am2910給出下一條微指令地址1片GAL按判斷條件產生微指令轉移信號 CC5片GAL用作為5片8位的D觸發(fā)器的寄存器2片GAL實現(xiàn)兩個4位的2選1芯片功能16位的指令寄存器IR16位的程序計數(shù)器PC PC 下地址字段的內容 得到下地址的方法 1 由指令操作碼得到2 微指令順序執(zhí)行3 微指令必轉或條件轉移多路微地址轉移4 微子程序調用和返回5 按次數(shù)循環(huán)一段微程序6 其他 如特定入口微地址 在微指令下地址字段中表示清楚 使用哪種方法 哪個 些 判斷條件 要用的有關地址等 并用專門電路完成必要支持和處理 微指令的下地址是微程序設計中要重點解決的問題之一 技術 技巧性強 應學得好些 在教學計算機中 解決下地址使用了Am2910器件 微堆桟指針 SP 5字 12位微堆桟F 微程序計數(shù)器 PC 寄存器 計數(shù)器R C DRF PC多路選擇器 命令譯碼器 增量器 零檢測 D11 D0 Y11 Y0 CP FULL CI CC CCEN I3 I0 PL MAP VECT RLD OE 出棧 入棧保持 清零 裝數(shù)減量保持 清零選擇 R為零 Am2910器件 非零循環(huán)零 PL PC彈出 PC彈出 4入棧與裝數(shù)注1 PL PC壓入 PC壓入 6讀手撥開關 VECT PCD 3條件微轉移 PL PCD 2功能分支 MAPDD 1條件轉微子 PL PCD壓入 完成R CR C使能 CC 高 CC 低功能內容操作信號Y輸出堆棧Y輸出堆棧 0初始化 PL0清除0清除 8R C非零減1 PLFF 10微子返回 PL PCF彈出 14順序執(zhí)行 PL PC PC 15三路轉移非零減1 PLF PC彈出 零 PLD彈出 PC彈出 8位微下地址字段用于直接給出下一條微指令的地址 下地址字段的內容 微下地址2910的命令碼微轉移條件 8位 4位 4位 分成3個子字段 總共使用17位碼 微指令中用16位 4位的命令碼 用于選擇Am2910的16個命令 如前面的表格內容所示 4位的微轉移條件編碼 用于給出微指令轉移所依據(jù)的條件 與教學機具體設計有關 四 微指令控制信號組成和微指令格式設計 控制命令字段 給出計算機各功能部件協(xié)同運行所需要的控制信號 把它們劃分成若干字段 分別用于控制各部件 1 對運算器部件的控制例如 運算功能 數(shù)據(jù)來源 結果處理等 2 對主存和輸入輸出接口 設備 的控制例如 是主存讀 寫還是入出設備讀 寫 3 對總線的控制例如 把什么信息發(fā)送到有關總線 4 對幾個特定的寄存器的接收操作控制即在此時刻讓哪一個寄存器接收發(fā)送給它的輸入信息 5 對控制器部件本身的控制 下地址字段 主要是正確給出形成下條微指令的地址的信息 控制器應提供的控制信號 Y15 Y0用16個指示燈顯示結果 D15 D0 RAM15 Q15 RAM0 Q0 Cin CyF 0OverF15 運算器部件 4片Am2901 A3 0 B3 0 I8 6 用16個數(shù)據(jù)開關提供輸入數(shù)據(jù) CZVS SSH SST SCI I5 3 I2 0 SCISSHA口B口 I8 6I5 3I2 0SST 通過24位微型開關提供控制信號 各用四個指示燈顯示狀態(tài) Gal20V8 Gal20V8 1 對運算器的控制 26位控制信號 其中24位同微型開關內容 加SA SB兩位A3 A0 B3 B0I8 I6 I5 I3 I2 I0SST2 0 SSH1 0 SCI1 0SA SB的用法 表明送ALU的A口 B口地址來源為1 來自IR的SR DR字段為0 來自微指令的A B字段寄存器分配 R4 SPR5 PC約定用法 R0 I O指令約定使用也是通用累加器 二選一芯片 微指令 BIR DR B口地址 送ALU 線路實現(xiàn) IN80SHRR3PC PC 1 SB 讀寫主存儲器或I O接口 從學習指令執(zhí)行步驟考慮 理解對主存儲器讀寫的控制 分成兩步 1 傳送主存地址 以選擇被讀寫的存儲單元 2 給出讀寫命令 讀操作時 把讀出數(shù)據(jù)保存起來 寫操作時 還要給出寫入的數(shù)據(jù) 從學習指令執(zhí)行步驟考慮 理解對接口電路讀寫的控制 分成兩步 1 傳送IO端口地址 以選擇被讀寫的芯片 2 給出讀寫命令 讀操作時 把讀出數(shù)據(jù)保存起來 寫操作時 還要給出寫入的數(shù)據(jù) 2 對內存和I O接口的讀寫 MIO 0 有內存或串口讀寫 1 無 REQ 0 讀寫內存 1 讀寫串行口 WE 0 寫操作 1 讀操作 000寫內存 001讀內存 010寫串口 011讀串口 1XX無內存和串口的讀寫操作 對總線的控制 總線是用于連接計算機各個功能部件的線路和連接線 通常由具有三態(tài)輸出功能的器件構成 以便用分時地方式 在不同時刻把不同的數(shù)據(jù)發(fā)送到總線上 任何時刻僅能有一個數(shù)據(jù)發(fā)送到總線上 總線上的數(shù)據(jù)可以被送到需要接收數(shù)據(jù)的部件或者線路 多個線路可以同時接收同一個來源數(shù)據(jù) 計算機中總要使用3種類型的總線 數(shù)據(jù)總線 地址總線 控制總線 3 對內部總線和 4 特定寄存器的控制 選擇送內部總線的信息來源DC12 0信號名稱注釋000 SWTOIB來自開關001 RTOIBALU的輸出010 ETOIB符號擴展16位011 FTOIB狀態(tài)位輸出100未用101 INTVH中斷向量的110 INTVL高 低8位110NC不用 控制指定寄存器接收信息DC22 0信號名稱注釋000NC不用001 GIR指令寄存器010未用011 GAR地址寄存器100 INTR取原中斷優(yōu)先級101 INTN置新中斷優(yōu)先級110 EI開中斷110 DI關中斷 8位微下地址字段用于直接給出下一條微指令的地址 5 對控制器本身的控制 下地址字段的內容 微下地址2910的命令碼微轉移條件 8位 4位 4位 分成3個子字段 總共使用17位碼 微指令中用16位 4位的命令碼 用于選擇Am2910的16個命令 如前面的表格內容所示 4位的微轉移條件編碼 用于給出微指令轉移所依據(jù)的條件 與教學機具體設計有關 確定微指令格式 MRWI2 I0SAI8 I6SBI2 I0 微下地址微命令碼轉移條件 B地址A地址SST2 0SSHSCI DC2 2 0DC1 2 0 55 4847 4443 40 39 4335 3231 2827 24 23 2019 1615 1211 8 7 43 0 位序號 微指令字段劃分和微命令名 微指令字長56位 微下地址字段8位 其它字段都是4位 微程序控制器實驗 Am2910 MAPROM SCCGal 控制存儲器 ROM 指令操作碼 微指令轉移的控制條件 SCC 微指令寄存器 0MRWSAI8 6B口0SSTDC20I2 0SBI5 3A口SSHSCIDC1 CP G 讀命令 1 確定指令功能與格式2 劃分指令執(zhí)行步驟3 分配微指令地址4 設計微指令內容5 把新微指令寫入控存6 需要時修改MAPROM和SCCGal等7 調試并且運行 B口二選一 A口二選一 IR SR IR DR MAP PL SB SA 微程序控制器部件56位的微指令字長微下地址字段16位控制命令字段40位7片28C64組成控存1片28C65 從指令操作碼產生微地址1片374存8位下地址1片273存8位條件碼1片377存8位現(xiàn)微地址1片Am2910給出下一條微指令地址1片GAL按判斷條件產生微指令轉移信號 CC5片GAL用作為5片8位的D觸發(fā)器的寄存器2片GAL實現(xiàn)兩個4位的2選1芯片功能16位的指令寄存器IR16位的程序計數(shù)器PC PC 微命令字段的編碼譯碼方法 1 直接控制法直接用微指令字的一位作一個控制信號則簡單且速度快 但會使微指令字變得很長 2 字段直接編譯法把互斥的命令分在一組加以編碼 經譯碼器給出命令 速度會稍慢 但可大大減短微指令字長度 確?;コ?3 字段間接編譯法是對直接譯碼的的一種改進 可進一步縮短微指令字長度 即一個字段的某些微命令還受另一字段的制約 4 常數(shù)源字段微指令中分配幾位 用于給出特定用途的有關數(shù)值 五 為每一條微指令分配微地址 需要為每一條微指令在控存中分配一個合適的地址 這是合理地組織微程序的重要工作 1 首先確定微指令中下地址字段的組成 2 再按每一條微指令在控存中的位置 來安排下地址字段各部分的編碼 這與控制器的具體線路與方案有關 PC 0 AR PCPC PC 1 MAP 寄存器之間運算與傳送 讀 寫內存AR 地址 AR 地址 讀 寫內存或I O接口 讀 寫內存PC 地址 教學計算機的基本指令 擴展指令執(zhí)行流程圖 A組 B組 C組 D組 Reset B C D組 C組指令也是2次讀寫內存 第1次的讀操作和第2次的送地址操作同時完成 只用3步執(zhí)行了兩次內存讀寫過程 僅在教學機加電啟動時執(zhí)行1次 IR AR 加電啟動時 執(zhí)行0 PC 接下來的兩步 完成取指操作 按指令操作碼 讀出相應微指令 按指令具體功能 再分別用1 2 3 4步完成不同指令組的中各條指令的執(zhí)行過程 最后檢查中斷請求信號 有請求時則響應中斷 否則開始下一條指令的執(zhí)行過程 六 微指令控制信號字段編碼 為每一條微指令各項微操作確定其所要求的控制信號如 使IR AR等寄存器接收的信號控制PC增量和接收的信號讀寫主存 讀寫外設的信號控制運算器操作的信號等這要看被控制的具體對象的具體要求通過已有結果看一下微碼設計過程 下址CI3 0SCC3 00MRW0I2 0SAI8 6SBI5 3B口A口0SSTSSHSCIDC2DC1 00E0432055013000E0101000001000204010000000 303041B80010003044B80000003647100000323030373000000000E0432055013000E0170000000000E0433140003030300220550001 指令執(zhí)行流程表舉例 ADDDR SRMVRRDR SRINIO PORTCALAADR 下址CI3 0SCC3 00MRW0I2 0SAI8 6SBI5 3B口A口0SSTSSHSCIDC2DC1 00E0432055013000E0101000001000204010000000 指令執(zhí)行流程表舉例 ADDDR SRMVRRDR SRINIO PORTCALAADR 第1條微指令和第2條微指令用于完成讀取指令 具體操作功能是 PC AR PC 1 PC PC是R5 A口和B口均選5 B口內容 1送B口 輸出A口的內容送AR寄存器 讀主存 讀出內容 IR 微指令都是順序執(zhí)行 故2910選14 命令 第3條微指令按讀出的指令的操作碼 形成相應微指令的地址 讀出該條微指令并將其寫入微指令寄存器 2910選2 命令 控制運算器的I8 I6選001碼 保證運算器的各寄存器內容不變化 無存儲器和IO讀寫 故 MIOREQ WE選100碼 下址CI3 0SCC3 00MRW0I2 0SAI8 6SBI5 3B口A口0SSTSSHSCIDC2DC1 00E0432055013000E0101000001000204010000000 303041B80010003044B8000000 指令執(zhí)行流程表舉例 ADDDR SRMVRRDR SRINIO PORTCALAADR 第3條微指令和第4條微指令用于完成兩個累加器之間的相加和傳送操作 具體操作是 2累加器相加 DR SR DR A口和B口編碼來自指令寄存器 故SA和SB都給1值 下微指令轉判中斷請求 故2910選3 命令且SCC為0000 必轉30 第4條微指令 完成兩個累加器之間的數(shù)據(jù)傳送 累加器SR的內容和0相加 存入DR寄存器中 不保存標志位的值 故SST為000 上條微指令SST為001 保存標志位的值 兩條微指令都無存儲器和IO讀寫 MRW為100 下址CI3 0SCC3 00MRW0I2 0SAI8 6SBI5 3B口A口0SSTSSHSCIDC2DC1 1436471000003230303730000000 指令執(zhí)行流程表舉例 ADDDR SRMVRRDR SRINIO PORTCALAADR 第5 6兩條微指令完成讀串行接口 具體操作是 先送IO端口地址 在IR的低8位 到地址寄存器AR DC1為2選IR的低8位送內部總線 經ALU 送出D 0 到AR DC2為3是AR接收 IN指令的第1條微指令中的下地址的3個子字段分別為1436 條件碼為6時 是IN指令 轉地址14 否則 是OUT指令 順序執(zhí)行 下一微指令完成讀串口輸入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論