古代男子成年叫什么| 松茸是什么| 风什么浪什么| 电商五行属什么| 258什么意思| 人不出汗是什么原因| 痛风都不能吃什么东西| 马步鱼是什么鱼| 血吸虫是什么动物| b1是什么| 616是什么意思| 果酸是什么东西| ip是什么意思| 什么食物含钾高| 盖世英雄是什么意思| 云南有什么特产| 脑供血不足吃什么食物| 牙髓是什么| 什么是白领| 好文采是什么意思| 头上长痣代表什么| 耳朵听不清楚是什么原因| 什么是滑膜炎| 小孩感冒流鼻涕吃什么药| 珍珠奶茶的珍珠是什么做的| 什么样的人可以通灵| 跑步什么时候跑最好| 人为什么需要诗歌| esr是什么意思| 疱疹是什么样的| 旺夫脸是什么脸型| 把你的心我的心串一串是什么歌| 关东煮为什么叫关东煮| 胃痛挂什么科| 战五渣是什么意思| 珂润属于什么档次| 什么叫985大学| 肺门不大是什么意思| 雌二醇高有什么症状| 棉花是什么时候传入中国的| 贫血的人来姨妈会有什么症状| 小狗肚子里有虫子吃什么药| 刷脂是什么意思| 后脑勺麻木是什么征兆| 内伤湿滞什么意思| 步步为营是什么意思| 不但而且是什么关系| sma是什么病| 荷尔蒙是什么意思| 腹腔淋巴结肿大是什么原因| 颈椎病用什么药膏| 生理盐水是什么| 藜芦是什么| 广西产什么水果| 枫叶是什么树| 马躺下睡觉为什么会死| 子宫轻度下垂有什么办法恢复| 水鱼什么意思| 一个马一个尧读什么| 喝黄瓜汁有什么好处| 全身大面积湿疹暗示着什么| 周杰伦什么星座| 槟榔是什么味道的| 狼入虎口是什么意思| 端庄是什么意思| 空调外机为什么会滴水| 黄历修造是什么意思| 中校军衔是什么级别| ipa啤酒什么意思| 大学毕业是什么学历| 乌鸡白凤丸男性吃治疗什么| 下午5点多是什么时辰| 遗物是什么意思| 白细胞偏高是什么意思| 93年属鸡的是什么命| blub是什么意思| neighborhood是什么意思| 兔子不能吃什么| 半成品是什么意思| 延迟是什么意思| 心直口快是什么意思| vad是什么意思| 梅兰竹菊代表什么生肖| 啃手指甲是什么毛病| 孩子口臭是什么原因| 流清水鼻涕是什么感冒| 丞字五行属什么| 桃花什么颜色| 博物馆里有什么| 晚上睡觉老做梦是什么原因| 护肝喝什么茶| 孕妇怕冷是什么原因| 处女座和什么星座最配| 此加石念什么| 尿出红色的尿是什么原因| 月经过后腰酸疼是什么原因| 腰疼是什么原因引起的女性| 感冒适合吃什么饭菜| 来月经肚子疼是什么原因| 搞破鞋什么意思| 黄体酮不足吃什么药| 粉刺是什么东西| 变应性鼻炎是什么意思| 太阳穴疼是什么原因| 70大寿有什么讲究| 肝内钙化灶是什么意思| 什么是结节| 遮羞布是什么意思| 灯火葳蕤是什么意思| 英语6级是什么水平| 长期失眠看什么科最好| 虾仁和什么炒好吃| 双非是什么意思| 小腿浮肿什么原因| 第二个手指叫什么| 巡视员什么级别| hbeag是什么意思| 怀孕做糖耐是检查什么| 木槿花的花语是什么| 钠是什么| 第三代身份证什么时候开始办理| 帕金森是什么| ba是什么| gop是什么| crc是什么职业| 房间消毒杀菌用什么好| 老是打哈欠是什么原因| 感觉有痰咳不出来是什么原因| 逍遥丸有什么作用| 1970年属什么| 可乐不能和什么一起吃| usim卡是什么卡| 甲钴胺不能和什么药一起服用| 心血管病人吃什么最好| 空调综合征有什么症状| 营养过剩是什么意思| 政字五行属什么| 予五行属什么| 飞克手表什么档次| 代管是什么意思| 拔胡子有什么危害| 昱怎么读音是什么| 癞皮狗是什么意思| 七嘴八舌是什么生肖| 争奇斗艳的斗是什么意思| 饮食清淡主要吃什么| 空针是什么| 广东有什么好玩的地方| 为什么感冒喝白酒好了| 3.1是什么星座| 2012什么年| 愚公移山是什么意思| 伤口结痂为什么会痒| 饺子是什么意思| 指责的意思是什么| 崔字五行属什么| 口腔溃疡喝什么水| 灭活疫苗是什么意思| 娇妻是什么意思| 卧室放什么花最好健康| 孕妇喝纯牛奶对胎儿有什么好处| 钛对人体有什么好处| 猫咪取什么名字好听| 闭塞是什么意思| 砒霜是什么| 肩膀疼是什么原因引起的| 3.8什么星座| 深水炸弹是什么意思| 客厅沙发后面墙上挂什么画好| 为什么会生化妊娠| 沙和尚的武器叫什么| 打边炉是什么| 回门带什么礼物| 心五行属性是什么| 喝什么可以降血压| cj是什么| 接档是什么意思| 毛拉是什么意思| 晚上夜尿多是什么原因| 嗜睡是什么病的前兆| 乌鸡炖什么好吃又有营养| 白天嗜睡是什么原因| 庙是什么意思| 吃什么能让阴茎更硬| 头汗多是什么原因引起的| 煮肉放什么调料| 什么能解酒| 婴幼儿吃什么奶粉好| 颈椎疼吃什么药| 感冒引起的咳嗽吃什么药| 七夕节是什么节日| yeezy是什么牌子| 猫哭了代表什么预兆| 吃什么食物可以降低尿酸| 属马跟什么属相犯冲| 猪笼入水是什么意思| 鸣是什么家禽| 爱心是什么牌子| 小人得志是什么意思| 卵泡不破是什么原因造成的| 热爱是什么意思| bmi是什么| 女人颧骨高有什么说法| 膛目结舌是什么意思| 污蔑是什么意思| 脸肿是什么原因| 吃什么补筋和韧带最快| 劲酒是什么酒| 阳卦代表什么意思| 886是什么意思| 土命适合什么颜色| 随时随地是什么意思| 吃肠虫清要注意什么| 缺钙吃什么补钙最快| 刮脸有什么好处与坏处| 什么十分什么| 嗓子有痰是什么原因引起的| 结肠憩室是什么意思| 白酒泡什么补肾壮阳最好| 4月1号什么星座| 温度计里面红色液体是什么| 木薯淀粉是什么做的| 男属兔和什么属相最配| 罚金属于什么处罚| 眉尾长痘是什么原因| 什么是血栓| 鱼肉百姓什么意思| 封建思想是什么意思| 跟泰迪很像的狗叫什么| ga是什么意思| 茹什么饮什么| 女性尿道感染吃什么药| 野蒜有什么功效和作用| 知柏地黄丸对男性功能有什么帮助| 无名指戴戒指什么意思| 心衰病人吃什么食物好| 玉米有什么功效| 自闭症是什么原因引起| 腰酸是什么原因女性| 剑齿虎为什么会灭绝| 营销号是什么| bruce是什么意思| 望惠存是什么意思| 胸闷气短吃什么中成药| 龟头感染用什么药| 老花眼有什么办法可以恢复| 杨枝甘露是什么做的| 什么叫做缘分| 3.1415926是什么意思| 蛊惑什么意思| 什么水果寒凉性| 直接胆红素偏低是什么原因| 阴茎进入阴道什么感觉| 喜用神什么意思| 今天冬至吃什么| 顶针什么意思| 双币信用卡是什么意思| 为什么要当兵| 才子是什么生肖| 苍蝇最怕什么| 死库水是什么| 幽门螺旋杆菌吃什么药最好| 牛津布是什么材质| 金晨为什么叫大喜| 百度Jump to content

亚历山大王什么档次

From Wikipedia, the free encyclopedia
(Redirected from General-purpose register)
A register-transfer level (RTL) description of an 8-bit register with detailed implementation, showing how 8 bits of data can be stored by using flip-flops.
百度 关键是要意识到,要尽可能让孩子和年轻人接触到这些知识,让他们心里有这个东西,这样才可能传承久远。

A processor register is a quickly accessible location available to a computer's processor.[1] Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. In computer architecture, registers are typically addressed by mechanisms other than main memory, but may in some cases be assigned a memory address e.g. DEC PDP-10, ICT 1900.[2]

Almost all computers, whether load/store architecture or not, load items of data from a larger memory into registers where they are used for arithmetic operations, bitwise operations, and other operations, and are manipulated or tested by machine instructions. Manipulated items are then often stored back to main memory, either by the same instruction or by a subsequent one. Modern processors use either static or dynamic random-access memory (RAM) as main memory, with the latter usually accessed via one or more cache levels.

Processor registers are normally at the top of the memory hierarchy, and provide the fastest way to access data. The term normally refers only to the group of registers that are directly encoded as part of an instruction, as defined by the instruction set. However, modern high-performance CPUs often have duplicates of these "architectural registers" in order to improve performance via register renaming, allowing parallel and speculative execution. Modern x86 design acquired these techniques around 1995 with the releases of Pentium Pro, Cyrix 6x86, Nx586, and AMD K5.

When a computer program accesses the same data repeatedly, this is called locality of reference. Holding frequently used values in registers can be critical to a program's performance. Register allocation is performed either by a compiler in the code generation phase, or manually by an assembly language programmer.

Size

[edit]

Registers are normally measured by the number of bits they can hold, for example, an 8-bit register, 32-bit register, 64-bit register, 128-bit register, or more. In some instruction sets, the registers can operate in various modes, breaking down their storage memory into smaller parts (32-bit into four 8-bit ones, for instance) to which multiple data (vector, or one-dimensional array of data) can be loaded and operated upon at the same time. Typically it is implemented by adding extra registers that map their memory into a larger register. Processors that have the ability to execute single instructions on multiple data are called vector processors.

Types

[edit]

A processor often contains several kinds of registers, which can be classified according to the types of values they can store or the instructions that operate on them:

  • User-accessible registers can be read or written by machine instructions. The most common division of user-accessible registers is a division into data registers and address registers.
    • Data registers can hold numeric data values such as integers and, in some architectures, floating-point numbers, as well as characters, small bit arrays and other data. In some older architectures, such as the IBM 704, the IBM 709 and successors, the PDP-1, the PDP-4/PDP-7/PDP-9/PDP-15, the PDP-5/PDP-8, and the HP 2100, a special data register known as the accumulator is used implicitly for many operations.
    • Address registers hold addresses and are used by instructions that indirectly access primary memory.
      • Some processors contain registers that may only be used to hold an address or only to hold numeric values (in some cases used as an index register whose value is added as an offset from some address); others allow registers to hold either kind of quantity. A wide variety of possible addressing modes, used to specify the effective address of an operand, exist.
      • The stack and frame pointers are used to manage the call stack. Rarely, other data stacks are addressed by dedicated address registers (see stack machine).
    • General-purpose registers (GPRs) can store both data and addresses, i.e., they are combined data/address registers; in some architectures, the register file is unified so that the GPRs can store floating-point numbers as well.
    • Floating-point registers (FPRs) store floating-point numbers in many architectures.
    • Constant registers hold read-only values such as zero, one, or pi.
    • Vector registers hold data for vector processing done by SIMD instructions (Single Instruction, Multiple Data).
    • Status registers hold truth values often used to determine whether some instruction should or should not be executed.
    • Special-purpose registers (SPRs) hold some elements of the program state; they usually include the program counter, also called the instruction pointer, and the status register; the program counter and status register might be combined in a program status word (PSW) register. The aforementioned stack pointer is sometimes also included in this group. Embedded microprocessors, such as microcontrollers, can also have special function registers corresponding to specialized hardware elements.
    • Control registers are used to set the behaviour of system components such as the CPU.
      • Model-specific registers (also called machine-specific registers) store data and settings related to the processor itself. Because their meanings are attached to the design of a specific processor, they are not expected to remain standard between processor generations.
      • Memory type range registers (MTRRs)
  • Internal registers are not accessible by instructions and are used internally for processor operations.
  • Architectural registers are the registers visible to software and are defined by an architecture. They may not correspond to the physical hardware if register renaming is being performed by the underlying hardware.

Hardware registers are similar, but occur outside CPUs.

In some architectures (such as SPARC and MIPS), the first or last register in the integer register file is a pseudo-register in that it is hardwired to always return zero when read (mostly to simplify indexing modes), and it cannot be overwritten. In Alpha, this is also done for the floating-point register file. As a result of this, register files are commonly quoted as having one register more than how many of them are actually usable; for example, 32 registers are quoted when only 31 of them fit within the above definition of a register.

Examples

[edit]

The following table shows the number of registers in several mainstream CPU architectures. Note that in x86-compatible processors, the stack pointer (ESP) is counted as an integer register, even though there are a limited number of instructions that may be used to operate on its contents. Similar caveats apply to most architectures.

Although all of the below-listed architectures are different, almost all are in a basic arrangement known as the von Neumann architecture, first proposed by the Hungarian-American mathematician John von Neumann. It is also noteworthy that the number of registers on GPUs is much higher than that on CPUs.

Usage

[edit]

The number of registers available on a processor and the operations that can be performed using those registers has a significant impact on the efficiency of code generated by optimizing compilers. The Strahler number of an expression tree gives the minimum number of registers required to evaluate that expression tree.

See also

[edit]

References

[edit]
  1. ^ "What is a processor register?". Educative: Interactive Courses for Software Developers. Retrieved 2025-08-14.
  2. ^ "A Survey of Techniques for Designing and Managing CPU Register File".
  3. ^ "Cray-1 Computer System Hardware Reference Manual" (PDF). Cray Research. November 1977. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  4. ^ "MCS-4 Micro Computer Set Users Manual" (PDF). Intel. February 1973. Archived (PDF) from the original on 2025-08-14.
  5. ^ "8008 8 Bit Parallel Central Processor Unit Users Manual" (PDF). Intel. November 1973. Archived (PDF) from the original on 2025-08-14. Retrieved January 23, 2014.
  6. ^ "Intel 8080 Microcomputer Systems User's Manual" (PDF). Intel. September 1975. Archived (PDF) from the original on 2025-08-14. Retrieved January 23, 2014.
  7. ^ Z80 Family CPU User Manual (PDF). Zilog. 2016. p. 3. UM008011-0816. Archived (PDF) from the original on December 26, 2023. Retrieved January 5, 2024.
  8. ^ "80286 and 80287 Programmer's Reference Manual" (PDF). Intel. 1987. Archived (PDF) from the original on 2025-08-14.
  9. ^ a b "Intel 64 and IA-32 Architectures Software Developer Manuals". Intel. 4 December 2019.
  10. ^ "AMD64 Architecture Programmer's Manual Volume 1: Application Programming" (PDF). AMD. October 2013.
  11. ^ "Intel Architecture Instruction Set Extensions and Future Features Programming Reference" (PDF). Intel. January 2018.
  12. ^ F8, Preliminary Microprocessor User's Manual (PDF). Fairchild. January 1975.
  13. ^ F8 Guide to Programming (PDF). Fairchild MOS Microcomputer Division. 1977.
  14. ^ "Nios II Classic Processor Reference Guide" (PDF). Altera. April 2, 2015.
  15. ^ "Nios II Gen2 Processor Reference Guide" (PDF). Altera. April 2, 2015.
  16. ^ "M6800 Programming Reference Manual" (PDF). Motorola. November 1976. Archived (PDF) from the original on 2025-08-14. Retrieved May 18, 2015.
  17. ^ "Motorola M68000 Family Programmer's Reference Manual" (PDF). Motorola. 1992. Retrieved November 10, 2024.
  18. ^ "CUDA C Programming Guide". Nvidia. 2019. Retrieved Jan 9, 2020.
  19. ^ Jia, Zhe; Maggioni, Marco; Staiger, Benjamin; Scarpazza, Daniele P. (2018). "Dissecting the NVIDIA Volta GPU Architecture via Microbenchmarking". arXiv:1804.06826 [cs.DC].
  20. ^ Control Data 6000 Series Computer Systems, Reference Manual (PDF). Control Data Corporation. July 1965.
  21. ^ IBM System/360 Principles of Operation (PDF). IBM.
  22. ^ IBM System/370, Principles of Operation (PDF). IBM. September 1, 1975.
  23. ^ z/Architecture, Principles of Operation (PDF) (Seventh ed.). IBM. 2008.
  24. ^ "IBM Enterprise Systems Architecture/370 and System/370 - Vector Operations" (PDF). IBM. SA22-7125-3. Retrieved May 11, 2020.
  25. ^ "IBM S/390 G5 Microprocessor" (PDF).
  26. ^ "MMIX Home Page".
  27. ^ "Series 32000 Databook" (PDF). National Semiconductor. Archived (PDF) from the original on 2025-08-14.
  28. ^ Intel Itanium Architecture, Software Developer's Manual, Volume 3: Intel Itanium Instruction Set Reference (PDF). Intel. May 2010.
  29. ^ Weaver, David L.; Germond, Tom (eds.). The SPARC Architecture Manual, Version 9 (PDF). Santa Clara, California: SPARC International, Inc.
  30. ^ Power ISA Version 3.1B (PDF). OpenPOWER Foundation. September 14, 2021.
  31. ^ Blackfin Processor, Programming Reference, Revision 2.2 (PDF). Analog Devices. February 2013.
  32. ^ "Synergistic Processor Unit Instruction Set Architecture Version 1.2" (PDF). IBM. January 27, 2007.
  33. ^ Leonard, Timothy E., ed. (1987). VAX Architecture, Reference Manual (PDF). DEC books.
  34. ^ Alpha Architecture Reference Manual (PDF) (Fourth ed.). Compaq Computer Corporation. January 2002.
  35. ^ "Learning 65816 Assembly". Super Famicom Development Wiki. Retrieved 14 November 2019.
  36. ^ "Procedure Call Standard for the ARM Architecture" (PDF). ARM Holdings. 30 November 2013. Retrieved 27 May 2013.
  37. ^ "2.6.2. The Thumb-state register set". ARM7TDMI Technical Reference Manual. ARM Holdings.
  38. ^ Arm A64 Instruction Set Architecture, Armv8, for Armv8-A architecture profile (PDF). Arm. 2021.
  39. ^ MIPS64 Architecture For Programmers, Volume II: The MIPS64 Instruction Set (PDF). RISC-V Foundation. March 12, 2001. Retrieved October 6, 2024.
  40. ^ Waterman, Andrew; Asanovi, Krste, eds. (May 2017). The RISC-V, Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2 (PDF). RISC-V Foundation.
  41. ^ "Epiphany Architecture Reference" (PDF).
低温烫伤是什么意思 哭笑不得是什么意思 七点到九点是什么时辰 睾丸长什么样子 12月21日什么星座
晟这个字读什么 夫妻都是a型血孩子是什么血型 调理脾胃吃什么好 什么好像什么 小孩坐火车需要什么证件
牙神经拔了对牙齿有什么影响 什么app可以买烟 眼角发黄是什么原因 洗耳朵用什么药水 宝宝拉肚子能吃什么
孕妇胃疼可以吃什么药 脑干出血是什么原因造成的 难入睡是什么原因 腮腺炎吃什么食物 学无止境是什么意思
坐月子吃什么hcv8jop7ns9r.cn 女生为什么会流白带hcv9jop5ns7r.cn 周公吐哺天下归心是什么意思hcv7jop7ns1r.cn 什么是ntrhcv9jop6ns0r.cn 四月23日是什么星座hcv8jop1ns4r.cn
魁拔4什么时候上映hcv9jop2ns6r.cn 锌补多了有什么症状hcv7jop9ns8r.cn 治类风湿用什么方法好hcv8jop8ns3r.cn 女人舌苔厚白吃什么药hcv8jop5ns8r.cn 天地人和是什么意思hcv9jop1ns9r.cn
柳枝什么的什么的hcv8jop6ns3r.cn 旅长是什么级别hcv9jop4ns7r.cn 施华洛世奇算什么档次hcv9jop0ns0r.cn 2024年属什么hcv8jop4ns1r.cn 风湿都有什么症状helloaicloud.com
党委常委是什么级别hcv9jop6ns1r.cn 私处长痘痘是什么原因hcv9jop2ns2r.cn 贱人的意思是什么意思hcv7jop6ns3r.cn 老舍的原名是什么hcv8jop7ns3r.cn 行房时硬度不够是什么原因0735v.com
百度