?

基于Proteus的計算機組成原理實驗設計

2024-04-28 15:10曾昭平劉藝
科技創新與應用 2024年12期
關鍵詞:仿真軟件存儲器總線

曾昭平 劉藝

基金項目:上海立信會計金融學院金課建設項目(A0-11-180423-001002003034)

第一作者簡介:曾昭平(1976-),男,博士,講師。研究方向為計算機體系結構,人工智能。

*通信作者:劉藝(1979-),女,碩士,研究員。研究方向為高等教育管理。

DOI:10.19981/j.CN23-1581/G3.2024.12.026

摘? 要:計算機組成原理實驗需要大量的硬件和電路知識,購買實際的硬件和設備需要大量成本,且實驗結果容易受各種因素影響?;赑roteus仿真軟件,對計算機組成原理的總線、存儲器、輸入輸出系統等各大組件進行仿真實驗設計,不僅使用靈活方便,成本較低,而且實驗結果能準確展示各大組件的工作原理,有助于了解各大組件的知識點。

關鍵詞:計算機組成原理實驗;Proteus;仿真軟件;總線;存儲器;輸入輸出系統

中圖分類號:TP319? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2095-2945(2024)12-0116-04

Abstract: The computer composition principle experiment requires a lot of hardware and circuit knowledge, the purchase of actual hardware and equipment requires a lot of cost, and the experimental results are easily affected by various factors. Based on the Proteus simulation software, the simulation experiments are carried out on the bus, memory, input and output system and other major components of the computer composition principle. Not only the use is flexible and convenient, the cost is low, but also the experimental results can accurately show the working principle of the major components, which is helpful to understand the knowledge points of the major components.

Keywords: computer composition principle experiment; Proteus; simulation software; bus; memory; input and output system

計算機組成原理[1]是計算機科學與技術專業的主要課程之一,其內容偏向計算機硬件,具有很強的專業性。

學習計算機組成原理[2]不僅要依托書本的理論知識,還要進行實際的計算機硬件實驗,才能幫助理解計算機各大部件的工作原理。

計算機組成實驗[3]需要連接好各大硬件,輸入數據,觀察數據如何正確地在計算機中傳輸、存儲、輸入輸出及處理等。如果使用實際的硬件實現這些實驗,不僅需要繁瑣的連線,配置各種儀表儀器進行測量和調試,還要考慮電路電氣等因素的干擾,實驗結果容易出現很大的不確定性,對掌握計算機組成原理造成影響。另外計算機硬件的升級換代非???,對硬件的維修、保養、更新也會造成較大經濟負擔。所以有必要研究其他方法可以方便、快捷、準確地實現計算機組成原理實驗。

1? 研究內容

目前采用計算機仿真軟件[4]是實現計算機組成原理實驗快速有效的方法之一。計算機仿真軟件無須另外購置硬件,在常見的普通計算機上即可運行。計算機仿真軟件通過圖形化界面形象地模仿計算機工作原理,展示計算機運行結果,即可準確實現計算機組成原理實驗的各項功能,又可很好地控制成本。

Proteus[5]是英國Lab Center Electronics公司出版的計算機仿真軟件。其不僅具有普通EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。目前基于Proteus實現計算機組成原理實驗的設計較少,本文通過使用Proteus計算機仿真軟件,研究如何能夠較好地設計計算機組成原理的各大組成部件的相關實驗,展現計算機總線如何具備同一時刻只能有一個部件發送信息,其他部件同時接收到相同的信息的特點;計算機存儲部件如何根據輸入的存儲單元的地址,訪問存儲單元的數據;計算機輸入輸出系統如何采用程序中斷方式提高數據輸入輸出的工作效率等內容。

2? 計算機總線實驗設計

計算機總線[6]是計算機中各大組成部件的共享信息傳輸線,在計算機組成各大部件中負責數據的傳輸,其特點是同一時刻只能有一個部件發送信息,而其他部件能夠同時接收到相同的信息。計算機總線的原理圖如圖1所示。

圖1? 計算機總線原理圖

計算機內部的總線本質是多根數據線并行傳輸數據,所以根據計算機總線的工作原理和特點,對計算機總線實驗的設計如圖2所示。

圖2計算機總線實驗設計圖

在圖2中,總線中線的根數代表了這條總線的寬度,表示這條總線一個時鐘能夠傳輸多少比特的二進制數據。在圖2中,這條總線采用4根線,表示這條總線的寬度為4,即一次傳輸4比特二進制數據,通過實驗,可以幫助形象地理解總線寬度的概念。

計算機總線連接了主設備和從設備,在圖2中,主設備是發送部件,負責控制總線發送數據;從設備為接收部件,通過總線從主設備上接收數據。主設備的發送部件采用4個LogicState元件,LogicState元件通過鼠標可以方便切換0或1的狀態。4個LogicState元件表示此主設備的發送部件一次可發送4比特二進制數據。每個從設備的接收部件采用4個LogicProbe元件,LogicProbe元件可以顯示所連接線上的二進制信號0或1。用4個LogicProbe元件表示從設備的接收部件一次可接收4比特二進制數據。主設備和從設備都可以就近連到最近的總線上,而不必考慮其他設備的位置,這樣采用計算機總線使計算機內部各大部件的連接線布線合理,從而展示了目前計算機采用的總線連接相對早期計算機采用的分散連接不僅連線更簡單,而且擴展性更靈活。

通過鼠標可以方便地更改仿真軟件中主設備發送部件中LogicState元件的狀態,發送不同的二進制數據。同時可以觀察到每個從設備接收部件的LogicProbe元件接收到的二進制數據完全相同,這樣驗證了計算機總線的特點是同一時刻只能有一個部件往總線上發送信息,而其他部件可以同時從總線上接收到相同的信息。

計算機總線實驗的設計不僅形象地展現了計算機總線寬度的概念,而且展現了計算機內部總線布局的合理性,以及總線在同一時刻只能有一個部件發送信息,而其他部件同時接收到相同信息的特點。

3? 計算機存儲器實驗設計

計算機存儲器[7]的基本工作原理是根據存儲單元的地址訪問存儲單元里的數據,即輸入所要訪問的存儲單元的地址,就可以訪問存儲單元里的數據。計算機存儲器的原理圖如圖3所示。計算機存儲器由三大部分組成。首先是譯碼器,存儲單元的地址通過地址總線輸入譯碼器;然后譯碼器根據存儲單元的地址,設置存儲矩陣里面對應存儲單元的選擇線有效,從而打開對應的存儲單元;最后通過讀寫控制總線上的讀或寫信號,數據通過數據總線從選中的存儲單元里面讀出或寫入選中的存儲單元。

圖3? 計算機存儲器原理圖

計算機存儲器內部通過晶體管開關負責數據的進出,對計算機存儲器實驗的設計如圖4所示。

圖4計算機存儲器實驗設計圖

在圖4中,計算機存儲器的譯碼器模塊采用Proteus內置的74138模塊,74138模塊可以根據輸入地址來設置對應的輸出選擇線有效。在74138模塊左邊地址線輸入地址(如圖4中74138模塊左邊的001)后,在74138模塊右邊對應的選擇線(如圖4中 74138模塊右側從上往下第二根線)會設置為0有效,表示選中了對應的一個存儲單元。地址總線連接了LogicState元件作為地址的輸入,LogicState元件通過鼠標可以方便切換0或1的狀態,這樣可以方便地修改輸入的地址,從而可以清晰且動態地了解譯碼器的功能。

計算機存儲器的存儲矩陣模塊用來存儲具體的二進制數據,M×N大小的存儲矩陣表示有M個存儲單元,每個存儲單元大小為N比特。在實驗設計中,采用了M×N個LogicState元件表示存儲矩陣,LogicState元件通過鼠標可以方便切換0或1的狀態。每個LogicState元件表示一個存儲基元,存儲基元是存儲器的最小存儲單位,每個存儲基元存儲了1比特數據0或1。每個存儲基元旁邊放置一個電子開關,電子開關由譯碼器的選擇線控制導通或斷開。這樣給譯碼器74138模塊左邊輸入一個地址后(例如圖4中001),譯碼器74138模塊右邊對應的一根選擇線就會設置為有效,從而導通對應的一個存儲單元的開關(例如圖4中從上往下第二行的2個開關)。這樣存儲單元的數據就可以順著導通的開關進出存儲矩陣,從而實現按存儲單元的地址訪問存儲單元的數據(例如圖4中第二行的存儲單元所存儲的數據0和1)。圖4中為了避免實驗設計過于復雜,所以演示了4×2大小的存儲矩陣的具體結構,這樣既不會設計過于繁瑣,也能夠展示計算機存儲器按地址訪問數據的工作機制。

計算機存儲器的讀寫控制模塊采用電子開關實現,為避免設計過于復雜,只演示計算機存儲器的讀出數據功能。讀寫控制總線連接了LogicState元件作為讀信號的輸入,LogicState元件通過鼠標可以方便切換0或1的狀態,這樣可以方便地展示讀信號控制電子開關的導通或斷開。當輸入的讀信號有效時,存儲矩陣中讀出的數據(例如圖4中第二行存儲單元里的數據0和1)通過電子開關讀出到存儲器外部的數據總線。存儲器外部的數據總線采用LogicProbe元件,LogicProbe元件可以顯示所連接線上的二進制信號0或1,從而可以驗證讀出的數據正確與否。

通過計算機存儲器外部的地址總線輸入所要訪問的存儲單元的地址,然后通過計算機存儲器外部的讀寫控制總線設置讀信號有效,則對應存儲單元的二進制數據可以通過計算機存儲器外部的數據總線讀出。計算機存儲器實驗的設計不僅展示了計算機存儲器內部三大組成部分的具體結構,而且演示了計算機存儲器按照輸入存儲單元的地址,訪問對應存儲單元數據的工作原理。

4? 計算機輸入輸出系統中斷方式實驗設計

早期計算機中,計算機輸入輸出系統[8]的設計是程序查詢方式,這種控制方式下,CPU首先會執行查詢程序不間斷地查詢外部輸入輸出設備的狀態,來確定外部設備是否已經準備好了數據。當查詢到外部設備已經準備好了數據,則CPU再執行傳輸程序,與外部設備之間進行數據傳輸。這種控制方式會占用CPU過多時間用于外部設備狀態的查詢,目前計算機已經很少使用。目前計算機輸入輸出系統的主要工作方式是中斷方式[9],這種控制方式下,CPU不用執行查詢程序去查詢外部輸入輸出設備的數據是否已經準備好,而是執行自己的其他主程序。外部設備則可以異步地按照自己的速度準備好數據。外部設備將數據準備好之后,外部設備再向CPU發送一個中斷信號,CPU接收到中斷之后會自動中斷當前正在執行的其他主程序,并自動跳轉執行中斷服務程序,在中斷服務程序中與外部設備之間進行數據傳輸。這種方式在外部設備數據準備階段無須占用CPU的時間,只需要在數據傳輸階段才占用CPU的少量時間用于執行數據的傳輸,所以可以大大提高CPU的工作效率。計算機輸入輸出系統的中斷機制的工作過程也是計算機組成原理中較難掌握的重點知識點之一,相關的實驗設計也更加復雜。計算機輸入輸出系統的中斷機制的原理圖如圖5所示。

圖5? 計算機輸入輸出系統中斷方式原理圖

計算機輸入輸出系統的中斷機制是外部設備準備好數據后,向CPU發送一個中斷信號,CPU接到中斷信號之后,執行中斷服務程序進行數據的傳輸。計算機輸入輸出系統的中斷方式的實驗設計如圖6所示。

如圖6所示,實驗設計采用了Proteus內置的51單片機模塊。51單片機模塊包含了計算機輸入輸出系統中的輸入輸出接口P1和P2。輸入輸出接口P1連接LogicState元件,LogicState元件通過鼠標可以方便切換0或1的狀態,用于模擬外部設備輸入數據。輸入輸出接口P2連接LogicProbe元件,LogicProbe元件可以顯示所連接線上的二進制信號0或1,用于模擬向外部設備輸出數據。通過這樣的設計,有助于了解輸入輸出接口和輸入輸出設備等概念。

圖6? 計算機輸入輸出系統中斷方式實驗設計圖

51單片機模塊還包含了中斷接口INT0。中斷接口INT0連接到LogicState元件,通過鼠標可以方便地更改LogicState元件的信號,用于模擬向中斷接口INT0發送中斷信號,這樣可以直觀地了解中斷接口、中斷信號線、中斷信號等概念。

當51單片機的中斷接口INT0的中斷線有中斷信號產生時(即產生0到1的信號跳變),則51單片機的CPU接收到中斷信號,CPU會自動中斷當前正在執行的主程序,而跳轉到51單片機的內存地址3執行其中的中斷處理程序。而在中斷處理程序中,CPU就可以通過讀寫指令讀寫輸入輸出接口,進而讀寫外部設備的數據。中斷處理程序的代碼如下所示,通過仿真軟件預先放置在內存地址3開始的存儲空間中。

中斷服務程序。

a) ORG 0003H? // 中斷服務程序位于內存地址3

b) mov a,p1? // 外設接口P1的數據讀入到內存a

c) mov p2,a? // 內存a的數據寫出到外設接口P2

d) reti? // 中斷服務程序返回到主程序

其中代碼a)表示中斷服務程序位于內存地址3開始的內存單元中;代碼b)表示通過輸入輸出接口P1讀取外部設備1的數據到內存單元a;代碼c)表示通過輸入輸出接口P2將內存單元a的數據再寫出到外部設備2;代碼d)表示CPU完成與外部設備之間的數據傳輸之后,返回到主程序的斷點處繼續執行主程序。這樣通過更改中斷接口INT0的LogicState元件的信號,向中斷接口INT0發送中斷信號,51單片機的CPU將會自動跳轉到內存地址3執行其中的中斷處理程序,將數據從輸入設備1讀入,再寫出到輸出設備2,展示了計算機輸入輸出系統中斷機制的一個完整工作過程。

計算機輸入輸出系統的中斷機制實驗設計不僅展示了輸入輸出系統中的輸入輸出設備、輸入輸出接口、中斷接口和中斷處理程序,還完整地演示了計算機輸入輸出系統的中斷機制的工作過程。

5? 結束語

本文研究了基于Proteus仿真軟件進行計算機組成原理各大模塊的實驗設計。其中通過總線的布線布局展現了計算機總線的概念和特點,通過譯碼器74138模塊展示了計算機存儲部件按地址訪問數據的工作機制,通過51單片機模塊展示了計算機輸入輸出系統的中斷機制的工作原理。

在上述的實驗設計基礎上,還有更多的改進方向,例如使用有向電子開關來展示計算機存儲器讀出和寫入過程的異同之處,采用邏輯門來實現計算機運算器的工作原理,采用組合邏輯設計方法來演示計算機控制器根據程序指令發送控制信號的工作過程等,以上這些實驗設計可在將來的工作中進一步進行研究和完善。

參考文獻:

[1] 唐朔飛.計算機組成原理[M].3版.北京:高等教育出版社,2020.

[2] 張磊,何杰,齊悅,等.工程認證背景下計算機組成原理課程設計改革[J].實驗技術與管理,2021,38(4):179-185.

[3] 孫衛真,劉雪松,朱威浦,等.基于RISC-V的計算機系統綜合實驗設計[J].計算機工程與設計,2021,42(4):1159-1165.

[4] 李黎,楊爽,蘇玉萍.虛實結合的計算機組成原理實驗教學體系構建[J].計算機教育,2023(6):184-188.

[5] 陳慶明,廖鴻飛,梁奇峰,等.基于Proteus的Boost電路控制仿真分析[J].電子技術,2023,52(6):19-23.

[6] 萬岳.一種基于虛擬儀器的軍用計算機總線仿真技術[J].計算機與數字工程,2021,49(11):2402-2406.

[7] 呂巖.一種低成本高可靠的星載計算機存儲器容錯方法[J].空間控制技術與應用,2020,46(3):66-71.

[8] 許耀華,朱成龍,王翊,等.基于神經網絡的高并行大規模MIMO信號檢測算法[J].系統工程與電子技術,2022,44(12):3843-3849.

[9] 尚任.《單片機原理及應用》智慧課堂的實踐探索——以“AT89S51單片機的中斷系統”講解為例[J].吉林化工學院學報,2022,39(6):71-76.

猜你喜歡
仿真軟件存儲器總線
靜態隨機存儲器在軌自檢算法
基于PCI Express總線的xHC與FPGA的直接通信
機載飛控1553B總線轉以太網總線設計
淺談機器人離線編程軟件在機器人教學中的應用
仿真軟件在航空典型結構件上的應用
電子類仿真軟件應用的教學之道
多通道ARINC429總線檢查儀
存儲器——安格爾(墨西哥)▲
基于EtherCAT總線的ROV控制系統設計
基于Nand Flash的高速存儲器結構設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合