CPU的通用寄存器分为哪些?

寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度。

根据指令的要求,如何安排适当的寄存器,避免操作数过多的传送操作是一项细致而又周密的工作。16位寄存器组,16位CPU所含有的寄存器有(见图2.1中16位寄存器部分):4个数据寄存器(AX、BX、CX和DX);2个变址和指针寄存器(SI和DI)2个指针寄存器(SP和BP);4个段寄存器(ES、CS、SS和DS);1个指令指针寄存器(IP)1个标志寄存器(Flags);32位寄存器组,32位CPU除了包含了先前CPU的所有寄存器,并把通用寄存器、指令指针和标志寄存器从16位扩充成32位之外,还增加了2个16位的段寄存器:FS和GS。32位CPU所含有的寄存器有,4个数据寄存器(EAX、EBX、ECX和EDX);2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP);6个段寄存器(ES、CS、SS、DS、FS和GS);1个指令指针寄存器(EIP)1个标志寄存器(EFlags)。



 通用寄存器又可分定点数和浮点数两类,它们用来保存指令中的寄存器操作数和操作结果。通用寄存器是中央处理器的重要组成部分,大多数指令都要访问到通用寄存器。通用寄存器的宽度决定计算机内部的数据通路宽度,其端口数目往往可影响内部操作的并行性。专用寄存器是为了执行一些特殊操作所需用的寄存器。控制寄存器通常用来指示机器执行的状态,或者保持某些指针,有处理状态寄存器、地址转换目录的基地址寄存器、特权状态寄存器、条件码寄存器、处理异常事故寄存器以及检错寄存器等。



寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个 “8 位元寄存器”或 “32 位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出 来。 



  • 閫氱敤瀵勫瓨鍣鏈鍝簺?
    绛旓細1銆佹暟鎹瘎瀛樺櫒 鏁版嵁瀵勫瓨鍣ㄤ富瑕佺敤鏉ヤ繚瀛樻搷浣滄暟鍜岃繍绠楃粨鏋滅瓑淇℃伅锛屼粠鑰岃妭鐪佽鍙栨搷浣滄暟鎵闇鍗犵敤鎬荤嚎鍜岃闂瓨鍌ㄥ櫒鐨勬椂闂淬2銆佸彉鍧瀵勫瓨鍣 32浣岰PU鏈2涓32浣嶉氱敤瀵勫瓨鍣ESI鍜孍DI銆傚叾浣16浣嶅搴斿厛鍓岰PU涓殑SI鍜孌I锛屽浣16浣嶆暟鎹殑瀛樺彇锛屼笉褰卞搷楂16浣嶇殑鏁版嵁銆3銆佹寚閽堝瘎瀛樺櫒 32浣岰PU鏈2涓32浣嶉氱敤瀵勫瓨鍣‥BP鍜孍SP銆
  • CPU涓湁鍝簺涓昏瀵勫瓨鍣?绠杩拌繖浜涘瘎瀛樺櫒鐨勫姛鑳?
    绛旓細閫氱敤瀵勫瓨鍣ㄧ粍鍖呮嫭AX銆丅X銆丆X銆丏X4涓16浣嶅瘎瀛樺櫒锛岀敤浠ュ瓨鏀16浣嶆暟鎹垨鍦板潃銆備篃鍙敤浣8浣嶅瘎瀛樺櫒銆傜敤浣8浣嶅瘎瀛樺櫒鏃跺垎鍒涓篈H銆丄L銆丅H銆丅L銆丆H銆丆L銆丏H銆丏L銆2銆佹瀵勫瓨鍣 閲囩敤鍒嗘鎶鏈潵瑙e喅銆傚皢1MB鐨勫瓨鍌ㄧ┖闂村垎鎴愯嫢骞查昏緫娈碉紝姣忔鏈闀64KB锛岃繖浜涢昏緫娈靛湪鏁翠釜瀛樺偍绌洪棿涓彲娴姩銆3銆鎸囬拡鍜屽彉鍧瀵勫瓨鍣 杩...
  • 閫氱敤瀵勫瓨鍣鏈鍝簺
    绛旓細閫氱敤瀵勫瓨鍣ㄦ湁AX涓虹疮鍔犲櫒锛孋X涓鸿鏁板櫒锛孊X锛孊P涓哄熀鍧瀵勫瓨鍣紝SI,DI涓哄彉鍧瀵勫瓨鍣紝BP杩樺彲浠ユ槸鍩烘寚閽堬紝SP涓哄爢鏍堟寚閽銆傞氱敤瀵勫瓨鍣ㄤ粙缁嶏細鍙敤浜庝紶閫佸拰鏆傚瓨鏁版嵁锛屼篃鍙弬涓庣畻鏈昏緫杩愮畻锛屽苟淇濆瓨杩愮畻缁撴灉銆傞櫎姝や箣澶栵紝瀹冧滑杩樺悇鑷叿鏈変竴浜涚壒娈婂姛鑳姐傛眹缂栬瑷绋嬪簭鍛樺繀椤荤啛鎮夋瘡涓瘎瀛樺櫒鐨勪竴鑸敤閫斿拰鐗规畩鐢ㄩ旓紝鍙湁杩欐牱锛屾墠...
  • CPU涓湁鍝簺涓昏瀵勫瓨鍣
    绛旓細CPU涓嚦灏戣鏈夊叚绫诲瘎瀛樺櫒锛氭寚浠ゅ瘎瀛樺櫒锛圛R锛夈佺▼搴忚鏁板櫒锛圥C锛夈佸湴鍧瀵勫瓨鍣紙AR锛夈佹暟鎹瘎瀛樺櫒锛圖R锛夈佺疮鍔犲瘎瀛樺櫒锛圓C锛夈佺▼搴忕姸鎬佸瓧瀵勫瓨鍣紙PSW锛夈傝繖浜涘瘎瀛樺櫒鐢ㄦ潵鏆傚瓨涓涓绠楁満瀛楋紝鍏舵暟鐩彲浠ユ牴鎹渶瑕佽繘琛屾墿鍏呫備互涓婂唴瀹瑰弬鑰冿細鐧惧害鐧剧-鍐呭瓨璧勬枡瀵勫瓨鍣 ...
  • 8086CPU鏈鍝簺瀵勫瓨鍣?鍚勬湁浠涔堢敤閫?
    绛旓細8086 鏈14涓16浣嶅瘎瀛樺櫒锛杩14涓瘎瀛樺櫒鎸夊叾鐢ㄩ斿彲鍒嗕负(1)閫氱敤瀵勫瓨鍣ㄣ(2)鎸囦护鎸囬拡銆(3)鏍囧織瀵勫瓨鍣ㄥ拰(4)娈靛瘎瀛樺櫒绛4绫銆俓x0d\x0a\x0d\x0a(1)閫氱敤瀵勫瓨鍣ㄦ湁8涓, 鍙堝彲浠ュ垎鎴2缁,涓缁勬槸鏁版嵁瀵勫瓨鍣(4涓),鍙︿竴缁勬槸鎸囬拡瀵勫瓨鍣ㄥ強鍙樺潃瀵勫瓨鍣(4涓).\x0d\x0a\x0d\x0a鏁版嵁瀵勫瓨鍣ㄥ垎涓:\x0d...
  • CPU鐨勯氱敤瀵勫瓨鍣ㄥ垎涓哄摢浜?
    绛旓細16浣嶅瘎瀛樺櫒缁勶紝16浣岰PU鎵鍚湁鐨勫瘎瀛樺櫒鏈(瑙佸浘2.1涓16浣嶅瘎瀛樺櫒閮ㄥ垎)锛4涓暟鎹瘎瀛樺櫒(AX銆丅X銆丆X鍜孌X)锛2涓彉鍧鍜屾寚閽堝瘎瀛樺櫒(SI鍜孌I)2涓寚閽堝瘎瀛樺櫒(SP鍜孊P)锛4涓瀵勫瓨鍣(ES銆丆S銆丼S鍜孌S)锛1涓鎸囦护鎸囬拡瀵勫瓨鍣(IP)1涓爣蹇楀瘎瀛樺櫒(Flags)锛32浣嶅瘎瀛樺櫒缁勶紝32浣岰PU闄や簡鍖呭惈浜嗗厛鍓岰PU鐨勬墍鏈夊瘎瀛樺櫒锛屽苟...
  • 绠杩CPU鍐呮湁鍝簺涓昏瀵勫瓨鍣鍙婁綔鐢
    绛旓細1銆佹暟鎹瘎瀛樺櫒 鏁版嵁瀵勫瓨鍣ㄤ富瑕佺敤鏉ヤ繚瀛樻搷浣滄暟鍜岃繍绠楃粨鏋滅瓑淇℃伅锛屼粠鑰岃妭鐪佽鍙栨搷浣滄暟鎵闇鍗犵敤鎬荤嚎鍜岃闂瓨鍌ㄥ櫒鐨勬椂闂淬2銆佸彉鍧瀵勫瓨鍣 32浣岰PU鏈2涓32浣嶉氱敤瀵勫瓨鍣ESI鍜孍DI銆傚叾浣16浣嶅搴斿厛鍓岰PU涓殑SI鍜孌I锛屽浣16浣嶆暟鎹殑瀛樺彇锛屼笉褰卞搷楂16浣嶇殑鏁版嵁銆傚瘎瀛樺櫒ESI銆丒DI銆丼I鍜孌I绉颁负鍙樺潃瀵勫瓨鍣(Index ...
  • ...8086/8088鐨勩 1.Cpu鏈鍝嚑绫诲瘎瀛樺櫒鍟?閫氱敤瀵勫瓨鍣鏈鍝簺?娈靛瘎瀛樺櫒...
    绛旓細绛旓細CPU鏈夐氱敤瀵勫瓨鍣ㄣ娈靛瘎瀛樺櫒銆佹寚浠ゆ寚閽堝瘎瀛樺櫒銆佹爣蹇楀瘎瀛樺櫒锛涗竴銆侀氱敤瀵勫瓨鍣ㄦ湁锛氾紙1锛鏁版嵁瀵勫瓨鍣锛欰X,BX,CX,DX锛堟湁鏃惰繖鍥涗釜16浣嶅瘎瀛樺櫒涔熷彲浠ュ綋鍋氬叓涓嫭绔嬬殑8浣嶅瘎瀛樺櫒浣跨敤锛欰H,AL,BH,BL,CH,CL,DH,DL锛夛紱锛2锛夋寚閽堝瘎瀛樺櫒鍜屽彉鍧瀵勫瓨鍣細SP,BP,DI,SI(SP鍜孊P鍒嗗埆涓哄爢鏍堟寚閽堝瘎瀛樺櫒鍜屽熀鍧鎸囬拡瀵勫瓨鍣紝...
  • cpu鐨涓昏缁勬垚閮ㄥ垎鏄粈涔?
    绛旓細瀵勫瓨鍣ㄩ儴浠讹紝鍖呮嫭瀵勫瓨鍣ㄣ佷笓鐢ㄥ瘎瀛樺櫒鍜屾帶鍒跺瘎瀛樺櫒銆 閫氱敤瀵勫瓨鍣鍙堝彲鍒嗗畾鐐规暟鍜屾诞鐐规暟涓ょ被锛屽畠浠敤鏉ヤ繚瀛樻寚浠ゆ墽琛岃繃绋嬩腑涓存椂瀛樻斁鐨勫瘎瀛樺櫒鎿嶄綔鏁板拰涓棿锛堟垨鏈缁堬級鐨勬搷浣滅粨鏋溿 閫氱敤瀵勫瓨鍣ㄦ槸涓ぎ澶勭悊鍣ㄧ殑閲嶈閮ㄤ欢涔嬩竴銆備笁銆佹帶鍒堕儴浠 鑻辨枃Control unit锛涙帶鍒堕儴浠讹紝涓昏鏄礋璐e鎸囦护璇戠爜锛屽苟涓斿彂鍑轰负瀹屾垚姣忔潯鎸囦护鎵瑕...
  • 閫氱敤瀵勫瓨鍣鍦CPU鍐呭浣曡浆鎹?
    绛旓細閫氱敤瀵勫瓨鍣ㄧ粍鍖呮嫭AX銆丅X銆丆X銆丏X4涓16浣嶅瘎瀛樺櫒锛岀敤浠ュ瓨鏀16浣嶆暟鎹垨鍦板潃銆備篃鍙敤浣8浣嶅瘎瀛樺櫒銆傜敤浣8浣嶅瘎瀛樺櫒鏃跺垎鍒涓篈H銆丄L銆丅H銆丅L銆丆H銆丆L銆丏H銆丏L銆傚彧鑳藉瓨鏀8浣嶆暟鎹紝涓嶈兘瀛樻斁鍦板潃銆傚畠浠垎鍒槸AX銆丅X銆丆X銆丏X鐨勯珮鍏綅鍜屼綆鍏綅銆傝嫢AX=1234H锛屽垯AH=12H锛孉L=34H銆傞氱敤瀵勫瓨鍣ㄩ氱敤鎬у己锛屽...
  • 扩展阅读:cpu不包括通用寄存器 ... cpu通用寄存器的位数 ... cpu中常用的专用寄存器 ... 32位寄存器有哪些 ... cpu内部8个通用寄存器 ... cpu中专用寄存器有哪些 ... cpu的六个主要寄存器 ... cpu的寄存器包含哪些 ... cpu中的通用寄存器可以存放 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网