計算機組成原理實驗(5) 堆棧寄存器實驗

實驗五??堆棧寄存器實驗

一、實驗目的

1、熟悉堆棧概念

2、熟悉堆棧寄存器的組成和硬件電路

二、實驗要求

按照實驗步驟完成實驗項目,對4個堆棧寄存器進行讀出、寫入數據操作。

三、實驗說明

3.1 ?堆棧寄存器組實驗構成(圖3-1)

本系統內有4個寄存器R0~R3,寄存器組由4個74LS374組成,由1片74LS139(2-4譯碼器)來選擇4個74LS374,并且由2片74LS32來組成控制線。8芯插座R-IN、R-OUT作為數據輸入、輸出端,可通過短8芯扁平電纜把數據輸入、輸出端連接到數據總線上。

圖 3-1

3.2 ?堆棧寄存器組原理(圖3-2)

由SA、SB兩根控制線通過74LS139譯碼來選擇4個寄存器(74LS374)。當WR=0時,表示數據總線向寄存器寫入數據,RCK為寄存器的工作脈沖,在有上升沿時把總線上數據打入74LS139選擇的那個寄存器。當RR=0時,74LS139所選擇的寄存器上的數據輸出至數據總線。在本系統內使用了WR=0作為寫入允許,RCK信號為上升沿時打入數據、RR=0時數據輸出。

圖 3-2

3.3 ?控制信號說明:

信號名稱

作 ?用

有效電平

SA、SB

選通寄存器

低電平有效

RR

數據讀出允許

低電平有效

WR

數據寫入允許

低電平有效

RCK

寄存器寫入脈沖

上升沿有效

四、實驗步驟

實驗一:對4個寄存器進行寫入操作????????

????????將R-IN(8芯盒形插座)與右邊板上的二進制開關單元中J03插座相連(對應二進制開關H0~H7),R-OUT可通過短8芯扁平電纜與數據總線上DJ4相連。把RR、WR、SA、SB接入二進制撥動開關(SA,SB借用X0,X1的H12,H11孔),把RCK連到脈沖單元的PLS1。(請按下表接線)。

信號定義

接入開關位號

RCK

PLS1 ?孔

RR

H15???孔

WR

H14???孔

SA

H12 ??孔

SB

H11 ??孔

接線圖示:

(1)把數據寫入寄存器R0

●?二進制開關H0~H7作為數據(D0~D7)輸入,置11H(對應開關如下表)

H7

H6

H5

H4

H3

H2

H1

H0

數據總線值

D7

D6

D5

D4

D3

D2

D1

D0

8位數據

0

0

0

1

0

0

0

1

11H

●?按啟停單元中的運行按鈕,置實驗平臺為運行狀態。

●?置WR=0、RR=1、SB=0、SA=0?(對應開關如下表)。

?

H15

H14

H12

H11

?

RR

WR

SA

SB

1

0

0

0

?

●?按脈沖單元中的PLS1脈沖按鍵,在RCK上產生一個上升沿的脈沖,把11H打入R0寄存器。

實驗結果圖片如下:

把11H打入R0寄存器

(2)把數據寫入寄存器R1

●?置二進制開關H0~H7(D0~D7)為22H,各控制信號對應開關如下表。

H15

H14

H12

H11

RR

WR

SA

SB

1

0

1

0

●?按脈沖單元中的PLS1脈沖按鍵,在RCK上產生一個上升沿的脈沖,把22H打入R1寄存器。

實驗結果圖片如下:

把22H打入R1寄存器

(3)把數據寫入寄存器R2

●?置二進制開關H0~H7(D0~D7)為33H,各控制信號對應開關如下表。

H15

H14

H12

H11

RR

WR

SA

SB

1

0

0

1

●?按脈沖單元中的PLS1脈沖按鍵,在RCK上產生一個上升沿的脈沖,把33H打入R2寄存器。

實驗結果圖片如下:

把33H打入R2寄存器

●?同理:置二進制開關H0~H7為44H,RR=1 WR=0、SA=1、SB=1,在RCK脈沖作用下把44H打入R3寄存器。

實驗結果圖片如下:

把44H打入R3寄存器

實驗二:對4個寄存器進行讀出操作

●?置WR=1、RR=0、SB=0、SA=0?(對應開關如下表)。此時把寄存器R0數據讀出總線數據IDB0~IDB7指示燈將顯示11H。保持RR、WR的值不變(RR=0,WR=1),可通過分別設置SB、SA為10、01、11把R1,R2,R3中的值顯示在總線上。觀察寄存器輸出的數據是否與上實驗中寫入的數據相同。

H15

H14

H12

H11

RR

WR

SA

SB

0

1

0

0

實驗結果圖片如下:

11H輸出在數據總線上

22H輸出在數據總線上

33H輸出在數據總線上

44H輸出在數據總線上

附:74LS139的邏輯

74LS139

輸入

輸出

?

SB

SA

Y0

Y1

Y2

Y3

選擇寄存器

X

X

H

H

H

H

X

0

0

0

1

1

1

R0

0

1

1

0

1

1

R1

1

0

1

1

0

1

R2

1

1

1

1

1

0

R3

五、實驗總結

?實驗原理

????????在本實驗中,我們深入探討了**堆棧寄存器**的概念及其實現原理。堆棧寄存器是臨時存儲數據的設備,通常用來實現函數調用、局部變量存儲及數據回退等功能。堆棧在計算機系統中起著關鍵作用,尤其是在數據管理和控制結構的實施中。

1. 堆棧寄存器的組成

本實驗所用的堆棧寄存器組由4個D型觸發器(74LS374)構成,每個寄存器可存儲8位數據(D0至D7)。通過74LS139(2-4譯碼器),我們可以選擇性地激活任意一個寄存器進行讀寫操作。控制信號由二進制開關進行設置,包括:

- SA、SB:用于選擇具體的寄存器,低電平有效。

- WR:寫入使能信號,低電平有效。

- RR:讀出使能信號,低電平有效。

- RCK:寄存器時鐘脈沖信號,在上升沿有效。

通過設置這些控制信號,我們可以將數據從數據總線寫入指定的寄存器或將寄存器中的數據讀出到數據總線。

2. 數據寫入過程

在進行寫入操作時,需將WR信號設置為低電平(WR=0),并選擇目標寄存器(通過SA和SB信號)。此時,將二進制開關的輸出(數據輸入)傳輸到寄存器。當RCK信號在上升沿激活時,所選擇的寄存器將存儲數據。實驗中,我們逐步將值11H、22H、33H和44H寫入R0、R1、R2和R3寄存器。

?3. 數據讀出過程

在讀出操作中,WR信號保持為高電平(WR=1),而RR信號設置為低電平(RR=0)。此時,選擇相應的寄存器(SA和SB對應選擇的寄存器)。激活的寄存器中的數據會通過數據總線輸出,利用數碼指示燈顯示讀取結果。通過這種方式,我們分別驗證了R0、R1、R2和R3寄存器中保存的數據是否與之前????????寫入的數據一致。

?實驗結果分析

通過以上實驗步驟,結果顯示數據成功地寫入和讀取相應的寄存器。每個寄存器的內容都能準確反映出在寫入階段設置的值。實驗結果如下:

- 寄存器R0:讀取到11H

- 寄存器R1:讀取到22H

- 寄存器R2:讀取到33H

- 寄存器R3:讀取到44H

這些數據與實驗中輸入的值完全一致,表明寄存器的讀寫功能正常且可靠。

?個人感悟

????????通過本次實驗,我更深入地理解了計算機系統中堆棧的工作原理以及如何通過硬件實現堆棧的功能。堆棧作為一種重要的數據結構,廣泛用于函數調用及中斷處理等場景。其通過先進先出的特性,為數據的存取提供了便利。

????????此外,實驗中對硬件電路的搭建與調試,使我認識到了理論與實踐結合的重要性。面對實驗中的各種問題,解決的過程也增強了我的動手能力和邏輯思維能力。這次實驗不僅加深了我對計算機組成原理的理解,也激勵我進一步探索計算機科學中的更多概念與技術。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/81305.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81305.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/81305.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RAGFlow報錯:ESConnection.sql got exception

環境: Ragflowv0.17.2 問題描述: RAGFlow報錯:ESConnection.sql got exception _ming_cheng_tks, 浙江, operatorOR;minimum_should_match30%) 2025-04-25 15:55:06,862 INFO 244867 POST http://localhost:1200/_sql?formatjson […

鼠標滾動字體縮放

在VsCode中編輯文件時,有時候發現Ctrl鼠標滾輪并不能縮放字體,下面是啟用這個功能的方法。 第一步: 進入設置,可以從左下角按鈕菜單進入,也可以使用【Ctrl,】。 第二步: 啟用鼠標滾輪縮放功能 第三步&…

深度學習·經典模型·VisionTransformer

VIT embedding處理與標準的Transformer不同,其他基本一致 Embedding Graph: ( H , W , C ) (H,W,C) (H,W,C) Patch: ( N , P 2 C ) (N,P^2C) (N,P2C),其中 N H ? W P 2 N\frac{H*W}{P^2} NP2H?W?, P P P是patch的大小 注意的是,論文了保留與Bert的…

Python Selenium 完全指南:從入門到精通

Python Selenium 完全指南:從入門到精通 📚 目錄 環境準備與基礎入門元素定位與交互操作等待機制與異常處理面向對象封裝與框架設計進階技巧與最佳實踐性能優化與調試技巧實戰案例分析 環境準備與基礎入門 1. 安裝 Selenium 與瀏覽器驅動 安裝 Selen…

基于ffmpeg的音視頻編碼

1 音頻編碼 本質上是由pcm文件轉到一個協議文件 比如說aac協議 1.1 音頻基本知識回歸 比特率 比特率是指單位時間內傳輸或處理的比特(bit)數量,通常用 bps(bits per second,比特每秒)來表示。它是衡量數…

BT137-ASEMI機器人功率器件專用BT137

編輯:LL BT137-ASEMI機器人功率器件專用BT137 型號:BT137 品牌:ASEMI 封裝:TO-220F 批號:最新 引腳數量:3 封裝尺寸:如圖 特性:雙向可控硅 工作結溫:-40℃~150℃…

攻防世界 dice_game

dice_game ??????dice_game (1) motalymotaly-VMware-Virtual-Platform:~/桌面$ file game game: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]254…

Astral Ascent 星界戰士(星座上升) [DLC 解鎖] [Steam] [Windows SteamOS macOS]

Astral Ascent 星界戰士(星座上升) [DLC 解鎖] [Steam] [Windows & SteamOS & macOS] 需要有游戲正版基礎本體,安裝路徑不能帶有中文,或其它非常規拉丁字符; DLC 版本 至最新全部 DLC 后續可能無法及時更新文章…

git中reset和checkout的用法

git reset:重置分支的歷史與工作區? 核心作用??:移動當前分支的指針(即改變分支的歷史),并可選地修改暫存區(Index)和工作目錄(Working Directory)。常用于撤銷提交或…

權限提升—Linux提權內核溢出漏洞輔助項目

前言 今天開啟Linux提權的篇章,主要是講一下Linux的內核漏洞提權,利用方式和Windows系統漏洞提權差不多,也是網上的項目掃一下,然后根據漏洞編號去找exp即可。 信息收集 首先要說一下Linux用戶的權限劃分。 系統用戶&#xff…

React Native Redux 使用指南 redux-toolkit

React Native Redux 使用指南 redux-toolkit 一個可預測和可維護的全局狀態管理 JavaScript 庫 Redux 和 React-Redux以及**reduxjs/toolkit 的關系:** Redux、React-Redux、reduxjs/toolkit 是 React 生態中狀態管理的「黃金三角組合」,它們的關系可…

JVM——Java 虛擬機是如何加載 Java 類的?

引入 在 Java 世界的底層運作中,類加載機制扮演著一個既神秘又關鍵的角色。它就像是一個精心設計的舞臺幕后 machinery,確保了 Java 程序能夠順利運行。今天,我們就深入探索 Java 虛擬機(JVM)是如何加載 Java 類的。 …

清華團隊提出時序聚類數據庫內高效方案,已被SIGMOD 2025接收

時間序列聚類是挖掘物聯網等場景下頻繁模式的關鍵技術,但現有SOTA方法(如K-Shape)面臨兩大瓶頸:1)傳統數據庫因LSM-Tree存儲導致時間戳無序,難以直接支持高效聚類;2)跨時間范圍查詢需…

【阿里云大模型高級工程師ACP學習筆記】2.8 部署模型

一、學習目標 特別說明:這一章節是2025年3月官方重點更新的部分,幾乎對內容重新翻新改造了一遍,重點突出了對于如何結合不同的阿里云產品來部署大模型進行了更加詳細的介紹和對比,這里整理給大家,方便大家參考。 在備考阿里云大模型高級工程師ACP認證的過程中,學習《2.8 …

第T10周:數據增強

🍨 本文為🔗365天深度學習訓練營 中的學習記錄博客🍖 原作者:K同學啊 從 tensorflow.keras 中導入 layers 模塊,包含了常用的神經網絡層,用來搭建模型結構。 檢查并列出系統中可用的物理 GPU 設備&#xff…

uniapp 支付寶小程序自定義 navbar 無效解決方案

如圖: uniapp編譯到支付寶小程序隱藏默認的導航欄失效了 解決方案: 在 pages.json 文件中找到 globalStyle 中加入以下代碼: "mp-alipay": {"transparentTitle": "always","titlePenetrate":…

vue2 el-element中el-select選中值,數據已經改變但選擇框中不顯示值,需要其他輸入框輸入值才顯示這個選擇框才會顯示剛才選中的值

項目場景&#xff1a; <el-table-column label"稅率" prop"TaxRate" width"180" align"center" show-overflow-tooltip><template slot-scope"{row, $index}"><el-form-item :prop"InquiryItemList. …

centos7 離線安裝python3 保留python2

一、事前準備&#xff1a; &#xff08;1&#xff09;查看centos具體版本 cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core) &#xff08;2&#xff09;查看linux中當前python版本 centos7 默認安裝python2.7.5 &#xff08;3&#xff09;查看python3的依賴&#…

十三種通信接口芯片——《器件手冊--通信接口芯片》

目錄 通信接口芯片 簡述 基本功能 常見類型 應用場景 詳盡闡述 1 RS485/RS422芯片 1. RS485和RS422標準 2. 芯片功能 3. 典型芯片及特點 4. 應用場景 5. 設計注意事項 6. 選型建議 2 RS232芯片 1. RS232標準 2. 芯片功能 3. 典型芯片及特點 4. 應用場景 5. 設計注意事項 6…

2025年RAG技術發展現狀分析

2025年&#xff0c;大模型RAG&#xff08;檢索增強生成&#xff09;技術經歷了快速迭代與深度應用&#xff0c;逐漸從技術探索走向行業落地&#xff0c;同時也面臨安全性和實用性的新挑戰。以下是其發展現狀的綜合分析&#xff1a; 一、技術架構的持續演進 從單一到模塊化架構 …