寄存器

Multi tool use
寄存器(Register),是中央處理器內的其中組成部份。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數器。在中央處理器的算術及邏輯部件中,包含的寄存器有累加器。
在電腦架構裡,處理器中的暫存器是少量且速度快的電腦記憶體,藉由提供快速共同地存取數值來加速電腦程式的執行:典型地說就是在已知時間點所作的之計算中間的數值。
暫存器是記憶體階層中的最頂端,也是系統操作資料的最快速途徑。暫存器通常都是以他們可以保存的位元數量來估量,舉例來說,一個8位元暫存器或32位元暫存器。暫存器現在都以暫存器陣列的方式來實作,但是他們也可能使用單獨的正反器、高速的核心記憶體、薄膜記憶體以及在數種機器上的其他方式來實作出來。
這個名詞通常都用來意指由一個指令之輸出或輸入可以直接索引到的暫存器群組。更適當的是稱他們為「架構暫存器」。例如,x86指令集定義八個32位元暫存器的集合,但一個實作x86指令集的CPU可以包含比八個更多的暫存器。
暫存器的種類
- 資料寄存器
- 用來儲存整數數字(參考以下的浮點暫存器)。在某些簡單(或舊)的CPU,特別的資料暫存器是累加器,作為數學計算之用。
- 位址寄存器
- 持有記憶體位址,以及用來存取記憶體。在某些簡單/舊的CPU裡,特別的位址暫存器是索引暫存器(可能出現一個或多個)。
- 通用目的暫存器
- (GPRs)- 可以保存資料或位址兩者,也就是說他們是結合 資料/位址 暫存器的功用。
- 浮點寄存器
- (FPRs)- 用來儲存浮點數字。
- 常數寄存器
- 用來持有唯讀的數值(例如0、1、圓周率等等)。由于“其中的值不可更改”这一特殊性质,这些寄存器未必会有实体的硬件电路相对应,例如将从零常数寄存器读的操作实现为接通目标寄存器的下拉电阻。
- 一般而言,即使真正在硬件中放置常数寄存器也未必会是出于体系结构理论上的考虑,而很可能是由硬件描述语言为了简化操作而自动生成的电路。
- 向量寄存器
- 用來儲存由向量處理器執行SIMD指令所得到的資料。
- 特殊目的寄存器
- 儲存CPU內部的資料,像是程式計數器(或稱為指令指標),堆疊暫存器,以及狀態暫存器(或稱微處理器狀態字組)。
指令寄存器 - 儲存現在正在被執行的指令
变址寄存器 - 是在程式執行時用來更改操作数位址之用。
- 在某些架構下,模式指示暫存器(也稱為「機器指示寄存器」)儲存和設定跟處理器自己有關的資料。由於他們的意圖目的是附加到特定處理器的設計,因此他們並不被預期會成微處理器世代之間保留的標準。
- 有關從隨機存取記憶體提取資訊的寄存器與CPU(位於不同晶片的儲存寄存器集合)
- 記憶體緩衝寄存器
- 記憶體資料寄存器
- 記憶體位址寄存器
- 記憶體型態範圍寄存器
範例
CPU架構
|
整數 暫存器數量
|
雙精度浮點數 暫存器數量
|
x86 |
8 |
8
|
x86-64 |
16 |
16
|
System/360 |
16 |
4
|
z/Architecture |
16 |
16
|
Itanium |
128 |
128
|
UltraSPARC |
32 |
32
|
IBM POWER |
32 |
32
|
Alpha |
32 |
32
|
6502 |
3 |
0
|
PIC微控制器 |
1 |
0
|
AVR微控制器 |
32 |
0
|
ARM |
16 |
16
|
參見
- CPU缓存
- 暫存器配置
- 寄存器堆
- 移位寄存器
硬體寄存器:位於CPU之外的寄存器。
数字电路
|
|
概念 |
数字信号 · 布尔代数 · 開關 · 组合逻辑电路 · 时序逻辑电路(同步 · 異步) · 真值表 · 卡诺图 · 有限状态机(米利机 · 摩尔机)
|
|
硬件模块 |
邏輯閘(与 · 或 · 非 · 同 · 与非 · 或非 · 异或 · 同或 · 蘊含) · TTL · CMOS · 加法器 · 乘法器 · 编码器 · 译码器 · 数据选择器 · 锁存器 · 寄存器 · 触发器(D · T · RS · JK) · 儲存裝置(ROM · RAM) · 類比數位轉換器 · 數位類比轉換器
|
|
IC、VLSI
|
定制程度(半、全)、PLD(PAL · PLA · GAL · CPLD · FPGA) · ASIC · 设计 · 验证 · 电子设计自动化 · 硬件描述语言(Verilog · VHDL) · 逻辑综合 · 硬件验证语言(SystemVerilog)
|
|
CPU技術
|
|
架構 |
- 哈佛架構
- 修正哈佛架構
- 冯·诺伊曼结构
- 資料流架構
- CPU架構比較
|
|
指令集 |
- 复杂指令集
- EDGE
- 顯式並行指令運算
- MISC
- 單一指令集
- 精简指令集
- 超長指令集
- 無指令集
- 零指令集
|
|
字元組大小 |
- 1位元
- 4位元
- 8位元
- 12位元
- 16位元
- 18位元
- 24位元
- 31位元
- 32位元
- 36位元
- 48位元
- 64位元
- 128位元
- 256位元
- 變動位元
|
|
並行 |
指令管线 |
- 指令管線化
- 循序/乱序执行
推測執行
- 寄存器重命名
- 冒險
|
|
并行层次 |
|
|
執行緒 |
|
|
費林分類法 |
- 單指令流單數據流
- 單指令流多數據流
- 多指令流單數據流
- 多指令流多數據流
|
|
|
類別 |
|
|
組件 |
- 算術邏輯單元
- 桶式移位器
- 浮點運算器
- 后端总线
- 多路復用器
- 暫存器
- 內存管理單元
- 轉譯後備緩衝區
- 處理器緩存
- 寄存器堆
- 微程序
- 控制單元
- 時脈
|
|
電源管理 |
- 高级电源管理
- 高级配置与电源接口
- 動態時脈調整
- 动态电压调节
- 时钟门控
|
|
x86 汇编器与汇编语言
|
|
相关话题 |
- 汇编语言
- 汇编语言与汇编器列表
- 反汇编器
- 指令集架構
- 低级语言
- 机器语言
- 微汇编程序
- x86汇编语言
|
|
汇编器 |
- A86
- FASM
GNU 汇编器(GAS)
高階組合語言(HLA)
微软宏汇编器(MASM)
- NASM
- TASM
- WASM
- Yasm
|
|
使用汇编语言编程 |
- 调用栈
标志寄存器
进位标志 (CF)
方向标志(DF)
中断标志(IF)
溢出标志(OF)
零标志(ZF)
- 操作码
- 程式計數器
寄存器与x86寄存器
- 调用约定
- 指令列表
|
|
lL,ZwSUR,YcDOOl
Popular posts from this blog
Place in Moyen-Ogooué, Gabon Lambaréné Street in Lambaréné Lambaréné Location in Gabon Coordinates: 0°41′18″S 10°13′55″E / 0.68833°S 10.23194°E / -0.68833; 10.23194 Coordinates: 0°41′18″S 10°13′55″E / 0.68833°S 10.23194°E / -0.68833; 10.23194 Country Gabon Province Moyen-Ogooué Population (2013 census) • Total 38,775 Lambaréné is a town and the capital of Moyen-Ogooué in Gabon. With a population of 38,775 as of 2013, it is located 75 kilometres south of the equator. Lambaréné is based in the Central African Rainforest at the river Ogooué. This river divides the city into 3 districts: Rive Gauche, Ile Lambaréné and Rive Droite. The Albert Schweitzer Hospital and the districts Adouma and Abongo are located on Rive Droite. The districts Atongowanga, Sahoty, Dakar, Grand Village, Château, Lalala and Bordamur build the Ile Lambaréné. The majority of the people in Lambaréné live in the district Isaac located on Rive Gauche. This distr...
This article is about the number. For the year, see 800. For other uses, see 800 (disambiguation). Natural number ← 799 800 801 → List of numbers — Integers ← 0 100 200 300 400 500 600 700 800 900 → Cardinal eight hundred Ordinal 800th (eight hundredth) Factorization 2 5 × 5 2 Greek numeral Ω´ Roman numeral DCCC Binary 1100100000 2 Ternary 1002122 3 Quaternary 30200 4 Quinary 11200 5 Senary 3412 6 Octal 1440 8 Duodecimal 568 12 Hexadecimal 320 16 Vigesimal 200 20 Base 36 M8 36 800 ( eight hundred ) is the natural number following 799 and preceding 801. It is the sum of four consecutive primes (193 + 197 + 199 + 211). It is a Harshad number. Contents 1 Integers from 801 to 899 1.1 800s 1.2 810s 1.3 820s 1.4 830s 1.5 840s 1.6 850s 1.7 860s 1.8 870s 1.9 880s 1.10 890s 2 References Integers from 801 to 899 800s Main article: 801...
"J57" redirects here. For the music artist, see J57 (rapper). J57 / JT3C YJ57-P-3 cut-away demonstrator at USAF Museum Type Turbojet National origin United States Manufacturer Pratt & Whitney First run 1950 Major applications Boeing 707 Boeing B-52 Stratofortress Boeing KC-135 Stratotanker Douglas DC-8 North American F-100 Super Sabre Vought F-8 Crusader Number built 21,170 built Developed from Pratt & Whitney XT45 Variants JT3D/TF33 Developed into Pratt & Whitney J52/JT8A Pratt & Whitney J75/JT4A The Pratt & Whitney J57 (company designation: JT3C ) is an axial-flow turbojet engine developed by Pratt & Whitney in the early 1950s. The J57 (first run January 1950 [1] ) was the first 10,000 lbf (45 kN) thrust class engine in the United States. The J57/JT3C was developed into the J75/JT4A turbojet, JT3D/TF33 turbofan and the PT5/T57 turboprop. [2] Contents 1 Design an...