【KWDB 創作者計劃】_嵌入式硬件篇---寄存器與存儲器截斷與溢出


文章目錄

  • 前言
  • 一、寄存器與存儲器
    • 1. 定義與基本概念
      • 寄存器(Register)
        • 位置
        • 功能
        • 特點
      • 存儲器(Memory)
        • 位置
        • 功能
        • 特點
    • 2. 關鍵區別
    • 3. 層級關系與協作
      • 存儲層次結構
      • 協作示例
    • 4. 為什么需要寄存器
      • 性能優化
      • 指令支持
      • 減少總線競爭
    • 5. 其他寄存器類型
      • 專用寄存器
        • 程序計數器(PC)
        • 棧指針(SP)
        • 狀態寄存器
      • 通用寄存器
    • 6. 存儲器的分類
      • 主存
      • 輔存
      • 只讀存儲器
    • 7.總結
  • 二、截斷&溢出
    • 1. 截斷(Truncation)
      • 定義
      • 發生場景
      • 特點
    • 2. 溢出(Overflow)
      • 定義
      • 發生場景
        • (1)整數溢出(Integer Overflow)
        • (2)浮點數溢出(Float Overflow)
      • 特點
    • 3. 截斷 vs 溢出的關鍵區別
    • 4. 如何避免截斷和溢出
      • 避免截斷
      • 避免溢出
    • 5. 總結
      • 截斷
      • 溢出


前言

本文簡單介紹了寄存器和存儲器的區別以及截斷與溢出。在計算機中,截斷(Truncation)溢出(Overflow)都是由于數值存儲空間有限而導致數據精度或范圍問題,但它們的產生原因和影響有所不同。下面詳細寄存器與存儲器,截斷與溢出的區別:


一、寄存器與存儲器

1. 定義與基本概念

寄存器(Register)

位置

位置:位于CPU內部,是CPU核心的一部分

功能

功能:用于臨時存儲指令、數據或地址,直接參與運算(如算術邏輯單元ALU的操作)。

特點

特點:速度極快,容量極小,由觸發器(Flip-Flop)實現無延遲訪問

存儲器(Memory)

位置

位置:位于CPU外部,通過總線與CPU連接

功能

功能:存儲程序、數據及中間結果,分為主存(如RAM)輔存(如硬盤)

特點

特點:速度較慢,容量大,按地址訪問,需要時鐘周期延遲。

2. 關鍵區別

特性 寄存器 存儲器(主存,如RAM)
速度 最快(與CPU同頻,1個時鐘周期) 較慢(需通過總線訪問,延遲高
容量 極小(通常幾字節到幾百字節) 極大(GB級甚至TB級
物理位置 CPU內部 CPU外部(主板或芯片組上)
訪問方式 直接通過指令操作(如MOV AX, BX) 通過地址總線/數據總線(如LOAD/STORE)
成本 極高(占用CPU芯片面積) 較低(單位容量成本低
用途 暫存操作數、地址或控制信息 存儲程序、數據及運行時狀態
功耗 高(高頻訪問) 相對較低(但動態RAM需刷新

3. 層級關系與協作

存儲層次結構

寄存器 → 高速緩存(Cache) → 主存(RAM) → 輔存(硬盤/SSD)
速度遞減,容量遞增,成本遞減。

協作示例

CPU從內存加載數據到寄存器 → 在寄存器中運算結果寫回內存
例如:

MOV EAX, [0x1000]  ; 從內存地址0x1000加載數據到寄存器EAX
ADD EAX, 1         ; 在寄存器中執行加法
MOV [0x1000], EAX  ; 將結果存回內存

4. 為什么需要寄存器

性能優化

性能優化:寄存器提供零延遲訪問,避免CPU因等待內存數據而停滯

指令支持

指令支持:許多CPU指令(如ADD、CMP)只能直接操作寄存器

減少總線競爭

減少總線競爭:頻繁訪問內存會導致總線擁堵,寄存器緩解此問題。

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

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

相關文章

小白自學python第二天

學習python的第二天 一、判斷語句 1、布爾類型和比較運算符 1、布爾類型 表示現實生活中的邏輯,真(True,用數字1表示)和假(False,用數字0表示) 2、布爾類型變量的定義 變量的名稱 布爾類…

linux基礎操作1------(文件命令)

一.前言 我們本章開始講解linux,我們對于linux得有重要的認識,比如項目部署等等,都會用到linux,今天我們就開始linux的學習,我們需要準備的工具有vmware和xshell,而這里我就不教大家虛擬機的安裝以及xshel…

編碼問題整合

一、windows系統編碼 查看編碼命令:chcp - 936 GBK - 65001 UTF-8 - 437 英文修改系統編碼 1、控制面板修改 需管理員權限-Windows 10/11進入 控制面板 > 區域 > 管理 > 更改系統區域設置勾選 Beta版: 使用Unicode UTF-8提供全球語言支持 → 重啟生效修…

如何配置Spark

1.上傳spark安裝包到某一臺機器(自己在finaShell上的機器)。 2.解壓。 把第一步上傳的安裝包解壓到/opt/module下(也可以自己決定解壓到哪里)。對應的命令是:tar -zxvf 安裝包 -C /opt/module 3.重命名。進入/opt/mo…

Redis 完整配置模板

一、基礎連接配置(單機模式) 基礎參數(適用Spring Boot) spring:redis:host: 127.0.0.1port: 6379password: your_passworddatabase: 0 # 默認DB索引timeout: 2000ms # 全局操作超時時間二、連接池參數(通用核心配…

邊界凸臺建模與實例

文章目錄 邊界凸臺特征耳機案例瓶子 邊界凸臺特征 兩側對稱拉伸最上面的圓柱 同過兩點一基準面畫草圖,在基準面上畫橢圓 隱藏無關的實體和草圖,以便橢圓的端點能與線給穿透約束,下面的點與下面的線也給穿透,短軸長給35&#xff08…

河北省大數據應用創新大賽樣題

** 河北省大數據應用創新大賽樣題 ** 1. 在Linux下安裝Java并搭建完全分布式Hadoop集群。在Linux終端執行命令“initnetwork”,或雙擊桌面上名稱為“初始化網絡”的圖標,初始化實訓平臺網絡。 【數據獲取】 使用wget命令獲取JDK安裝包: “w…

【數據可視化-21】水質安全數據可視化:探索化學物質與水質安全的關聯

🧑 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

DC-2尋找Flag1、2、3、4、5,wpscan爆破、git提權

一、信息收集 1、主機探測 arp-scan -l 探測同網段2、端口掃描 nmap -sS -sV 192.168.66.136 80/tcp open http Apache httpd 2.4.10 ((Debian)) 7744/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u7 (protocol 2.0)這里是掃描出來兩個端口,80和ssh&…

SQLMesh 表格對比指南:深入理解 table_diff 工具的實際應用

在數據集成和轉換過程中,確保數據模型的一致性和準確性至關重要。SQLMesh 提供了一個強大的 table_diff 工具,可以幫助用戶比較 SQLMesh 模型或數據庫表/視圖的架構和數據。本文將通過具體示例詳細說明如何使用 table_diff 工具進行跨環境比較和直接比較…

重構智能場景:艾博連攜手智譜,共拓智能座艙AI應用新范式

2025年4月24日,智能座艙領域創新企業艾博連科技與國產大模型獨角獸智譜,在上海國際車展艾博連會客廳簽署合作協議。雙方宣布將深度整合智譜在AI大模型領域的技術積淀與艾博連在汽車智能座艙場景的落地經驗,共同推進下一代"有溫度、懂需求…

vscode flutter 插件, vscode運行安卓項目,.gradle 路徑配置

Flutter Flutter Widget Snippets Awesome Flutter Snippets i dart-import Dart Data Class Generator Json to Dart Model Dart Getters And Setter GetX Snippets GetX Generator GetX Generator for Flutter flutter-img-syncvscode運行安卓項目,.gradle 路徑配…

Parasoft C++Test軟件單元測試_對函數打樁的詳細介紹

系列文章目錄 Parasoft C++Test軟件靜態分析:操作指南(編碼規范、質量度量)、常見問題及處理 Parasoft C++Test軟件單元測試:操作指南、實例講解、常見問題及處理 Parasoft C++Test軟件集成測試:操作指南、實例講解、常見問題及處理 進階擴展:自動生成靜態分析文檔、自動…

c# TI BQFS文件格式詳解及C#轉換

FlashStream文件格式詳解及C#轉換 一、FlashStream文件格式詳細解讀 文件概述 FlashStream文件是TI用于配置電池電量計的文本文件格式,主要特點: ? 純文本格式,使用ASCII字符? 每行一條指令 ? 分號(;)開頭的行為注釋 ? 主要包含三種指令類型:寫命令、比較命令和延時…

k8s中pod報錯 FailedCreatePodSandBox

問題現象: 創建容器時出現一下情況 而且刪掉控制器的時候pod還會卡住 解決: 將calico的pod重新刪掉。其中有1個控制器pod以及3個node pod 刪掉后,大概10來秒就重新創建完成了。 然后現在在使用kubectl apply -f 文件.yaml 就可以正常創…

分布式事務 兩階段提交協議(2PC的原理、挑戰)

引言:分布式事務的挑戰 在分布式系統中,數據和服務往往分布在多個節點上。例如,一個電商下單操作可能涉及訂單服務、庫存服務和支付服務,這三個服務需要協同完成一個事務:要么全部成功,要么全部失敗。這種…

Jenkins Pipeline 構建 CI/CD 流程

文章目錄 jenkins 安裝jenkins 配置jenkins 快速上手在 jenkins 中創建一個新的 Pipeline 作業配置Pipeline運行 Pipeline 作業 Pipeline概述Declarative PipelineScripted Pipeline jenkins 安裝 安裝環境: Linux CentOS 10:Linux CentOS9安裝配置Jav…

【CF】Day43——Codeforces Round 906 (Div. 2) E1

E1. Doremys Drying Plan (Easy Version) 題目: 思路: very好題,加深對掃描線的應用,值得深思 由于k 2,那我們就可以使用簡單一點的方法來寫 題目可以轉化為:給定n個線段,現在讓你刪去2條線段…

電子設備的“記憶大腦”:NAND、NOR、EEPROM誰在掌控你的數據?

大家好,我是硅言。存儲芯片是電子設備的“記憶大腦”,未進入存儲行業工作之前,一聽到NAND、NOR、EEPROM這些專業名詞就頭大。本文用通俗的語言,帶大家了解這三種常見存儲芯片的核心區別和應用場景。 一、存儲芯片的“門派”&#…

可視化程序設計|| 實驗三:C#面向對象編程(二)

一、實驗目的 1.加深理解面向對象編程的概念,如類、對象、實例化等。 2.熟練掌握類的封裝、繼承和多態機制。 3.掌握編程常用的幾種排序算法。 4.理解異常的產生過程和異常處理的概念,掌握C#異常處理的方法。 5.能夠將面向對象思想應用與編程實踐&a…