网站首页 > 开源技术 正文
鏈杩戜簺骞淬俁ISC-V寮曡捣浜嗗叏鐞冨叧娉ㄣ傝繖娆鹃潻鍛芥х殑 ISA 鍑鍊熷叾鎸佺画鐨勫垱鏂帮紝浠ュ強鏃犳暟鐨勫︿範鍜屽伐鍏疯祫婧愪互鍙婃潵鑷宸ョ▼鐣岀殑璐$尞锛屽儚娼姘磋埇甯鍗蜂簡甯傚満銆俁ISC-V 鏈澶х殑榄呭姏鍦ㄤ簬瀹冩槸涓娆惧紑婧 ISA銆傚湪鏈鏂囦腑锛屾垜锛堟寚浠f湰鏂囦綔鑰匨itu Raj锛屼笅鍚岋級灏嗕粙缁嶅備綍浠庨浂寮濮嬭捐′竴娆綬ISC-V CPU 锛屾垜浠灏嗚茶В瀹氫箟瑙勬牸銆佽捐″拰鏀硅繘鏋舵瀯銆佽瘑鍒鍜岃В鍐虫寫鎴樸佸紑鍙 RTL銆佸疄鐜 CPU 浠ュ強鍦ㄤ豢鐪-FPGA 鏉夸笂娴嬭瘯 CPU 鐨勬祦绋嬨備互涓嬩负鏂囩珷姝f枃锛氫粠鍛藉悕寮濮嬩负浣犵殑鎯虫硶鍛藉悕鎴栨墦閫犲搧鐗岃嚦鍏抽噸瑕侊紝杩欐牱鎵嶈兘婵鍔变綘涓嶆柇鍓嶈繘锛岀洿鑷宠揪鎴愮洰鏍囷紒鎴戜滑鎵撶畻鏋勫缓涓涓闈炲父绠鍗曠殑澶勭悊鍣锛屾墍浠ユ垜鎯冲嚭浜嗕竴涓鑺卞摠鐨勫悕瀛椻 Pequeno 鈥濓紝鍦ㄨタ鐝鐗欒涓鏄鈥滃井灏忊濈殑鎰忔濓紱瀹屾暣鍚嶇О鏄锛歅equeno RISC-V CPU锛屽張鍚峆QR5銆俁ISC-V 鐨 ISA 鏋舵瀯鏈夊氱嶉庢牸鍜屾墿灞曘傛垜浠鍏堜粠鏈绠鍗曠殑RV32I寮濮嬶紝瀹冨張绉颁负 32 浣嶅熀鏈鏁存暟 ISA銆傝 ISA 閫傜敤浜庢瀯寤烘敮鎸佹暣鏁拌繍绠楃殑 32 浣 CPU銆傚洜姝わ紝Pequeno 鐨勭涓涓瑙勬牸濡備笅锛歅equeno 鏄涓娆 32 浣 RISC-V CPU锛屾敮鎸 RV32I ISA銆俁V32I 鏈 37 鏉 32 浣嶅熀鏈鎸囦护锛屾垜浠璁″垝鍦 Pequeno 涓瀹炵幇銆傚洜姝わ紝鎴戜滑蹇呴』娣卞叆浜嗚В姣忔潯鎸囦护銆傛垜璐逛簡涓鐣鍔熷か鎵嶅畬鍏ㄦ帉鎻′簡 ISA銆傚湪姝よ繃绋嬩腑锛屾垜瀛︿範浜嗗畬鏁寸殑瑙勮寖锛屽苟璁捐′簡鑷宸辩殑姹囩紪绋嬪簭pqr5asm锛屽苟涓庝竴浜涙祦琛岀殑 RISC-V 姹囩紪绋嬪簭杩涜屼簡楠岃瘉銆傗淩ISBUJ鈥濅笂闈㈠叚涓瀛楁瘝鐨勫崟璇嶆荤粨浜 RV32I 涓鐨勬寚浠ょ被鍨嬨傝繖 37 鏉℃寚浠ゅ睘浜庝互涓嬬被鍒涔嬩竴锛歊鍨嬶細鎵鏈夊瘎瀛樺櫒涓婄殑鏁存暟璁$畻鎸囦护銆侷 鍨嬶細鎵鏈夊熀浜庡瘎瀛樺櫒鍜岀珛鍗虫暟鐨勬暣鏁拌$畻鎸囦护銆傝繕鍖呮嫭 JALR 鍜 Load 鎸囦护銆係鍨嬶細鍏ㄩ儴瀛樺偍璇存槑銆侭鍨嬶細鎵鏈夊垎鏀鎸囦护銆俇鍨嬶細LUI銆丄UIPC绛夌壒娈婃寚浠ゃ侸鍨嬶細绫讳技JAL鐨勮烦杞鎸囦护銆俁ISC-V 鏋舵瀯涓鏈 32 涓閫氱敤瀵勫瓨鍣锛寈0-x31. 鎵鏈夊瘎瀛樺櫒閮芥槸 32 浣嶇殑銆傚湪杩 32 涓瀵勫瓨鍣ㄤ腑锛岄浂鍙堢О涓簒0瀵勫瓨鍣锛屾槸涓涓寰堟湁鐢ㄧ殑鐗规畩瀵勫瓨鍣锛屽畠琚纭杩炵嚎涓洪浂锛屾棤娉曞啓鍏ワ紝骞朵笖濮嬬粓璇诲彇涓洪浂銆傞偅涔堝畠鏈変粈涔堢敤鍛锛熶綘鍙浠ヤ娇鐢▁0浣滀负铏氭嫙鐩鏍囨潵杞鍌ㄦ偍涓嶆兂璇诲彇鐨勭粨鏋滐紝鎴栫敤浣滄搷浣滄暟闆讹紝鎴栫敓鎴 NOP 鎸囦护鏉ラ棽缃 CPU銆傛暣鏁拌$畻鎸囦护鏄閽堝瑰瘎瀛樺櫒鍜-鎴12浣嶇珛鍗虫暟鎵ц岀殑ALU鎸囦护銆傚姞杞-瀛樺偍鎸囦护鐢ㄤ簬鍦ㄥ瘎瀛樺櫒鍜屾暟鎹瀛樺偍鍣ㄤ箣闂村瓨鍌-鍔犺浇鏁版嵁銆傝烦杞-鍒嗘敮鎸囦护鐢ㄤ簬灏嗙▼搴忔帶鍒惰浆绉诲埌涓嶅悓鐨勪綅缃銆傛瘡鏉℃寚浠ょ殑璇︾粏淇℃伅鍙浠ュ湪 RISC-V 瑙勮寖涓鎵惧埌锛歊ISC-V 鐢ㄦ埛绾 ISA v2.2銆傝佸︿範 ISA锛孯ISC-V 瑙勮寖鏂囨。
灏辫冻澶熶簡銆備笉杩囷紝涓轰簡鏇存竻鏅拌捣瑙侊紝鎮ㄥ彲浠ョ爺绌朵竴涓 RTL 涓涓嶅悓寮鏀炬牳蹇冪殑瀹炵幇銆傞櫎浜 37 鏉″熀鏈鎸囦护澶栵紝鎴戣繕涓 pqr5asm 娣诲姞浜 13 鏉′吉-鑷瀹氫箟鎸囦护锛屽苟灏 ISA 鎵╁睍鑷 50 鏉℃寚浠ゃ傝繖浜涙寚浠ゆ簮鑷鍩烘湰鎸囦护锛屾棬鍦ㄧ畝鍖栨眹缂栫▼搴忓憳鐨勫伐浣溾︹︿緥濡傦細NOP鎸囦护涓嶢DDI x0, x0, 0杩欏湪CPU涓婂綋鐒朵粈涔堜篃涓嶅仛锛佷絾瀹冩洿绠鍗曪紝鏇村规槗鍦ㄤ唬鐮佷腑瑙i噴銆傚湪寮濮嬭捐″勭悊鍣ㄦ灦鏋勪箣鍓嶏紝鎴戜滑鐨勬湡鏈涙槸瀹屽叏浜嗚В姣忔潯鎸囦护濡備綍浠 32 浣嶄簩杩涘埗杩涜岀紪鐮佷互鍙婂畠鐨勫姛鑳芥槸浠涔堛傛垜鐢 Python 寮鍙戠殑 RISC-V RV32I 姹囩紪鍣 PQR5ASM 鍙浠ュ湪鎴戠殑 GitHub 涓婃壘鍒般傛偍鍙浠ュ弬鑰冦婃眹缂栧櫒鎸囦护鎵嬪唽銆嬬紪鍐欑ず渚嬫眹缂栦唬鐮併傜紪璇戝畠锛屽苟鏌ョ湅瀹冨備綍杞鎹涓 32 浣嶄簩杩涘埗鏂囦欢锛屼互渚垮湪缁х画涓嬩竴姝ヤ箣鍓嶅珐鍥-楠岃瘉鎮ㄧ殑鐞嗚В銆傝勬牸鍜屾灦鏋勫湪鏈绔犱腑锛屾垜浠瀹氫箟浜 Pequeno 鐨勫畬鏁磋勬牸鍜屾灦鏋勩備笂娆℃垜浠鍙鏄绠鍗曞湴灏嗗叾瀹氫箟涓 32 浣 CPU銆傛帴涓嬫潵锛屾垜浠灏嗗瑰叾杩涜屾洿璇︾粏鐨勪粙缁嶏紝浠ュぇ鑷翠簡瑙e嵆灏嗚捐$殑鏋舵瀯銆傛垜浠灏嗚捐′竴涓绠鍗曠殑鍗曟牳 CPU锛屽畠鑳藉熸寜鐓ц幏鍙栨寚浠ょ殑椤哄簭涓娆℃墽琛屼竴鏉℃寚浠わ紝浣嗕粛閲囩敤娴佹按绾挎柟寮忋傛垜浠涓嶆敮鎸 RISC-V 鐗规潈瑙勮寖锛屽洜涓烘垜浠鐩鍓嶄笉鎵撶畻璁╂垜浠鐨勬牳蹇冩搷浣滅郴缁熸敮鎸佽ヨ勮寖锛屼篃涓嶆墦绠楄╁畠鏀鎸佷腑鏂銆傝CPU瑙勬牸濡備笅锛32浣岰PU锛屽崟鍙戝皠锛屽崟鏍搞傜粡鍏哥殑浜旂骇 RISC 娴佹按绾裤備弗鏍兼湁搴忔祦姘寸嚎銆傜﹀悎RV32I 鐢ㄦ埛绾 ISA v2.2銆傛敮鎸佸叏閮 37 鏉″熀鏈鎸囦护銆傜敤浜庢寚浠ゅ拰鏁版嵁瀛樺偍鍣ㄨ块棶鐨勭嫭绔嬫荤嚎鎺ュ彛銆傦紙涓轰粈涔堬紵浠ュ悗鍐嶈ㄨ衡︹︼級閫傜敤浜庤8鏈哄簲鐢ㄧ▼搴忥紝涓嶆敮鎸佹搷浣滅郴缁熷拰涓鏂銆傦紙鏇寸‘鍒囧湴璇存槸闄愬埗锛侊級姝e備笂鏂囨墍杩帮紝鎴戜滑灏嗘敮鎸 RV32I ISA銆傚洜姝わ紝CPU 浠呮敮鎸佹暣鏁拌繍绠椼侰PU 涓鐨勬墍鏈夊瘎瀛樺櫒閮芥槸 32 浣嶇殑銆傚湴鍧鍜屾暟鎹鎬荤嚎涔熸槸 32 浣嶇殑銆侰PU 閲囩敤缁忓吀鐨勫皬绔瀛楄妭瀵诲潃鍐呭瓨绌洪棿銆傛瘡涓鍦板潃瀵瑰簲浜 CPU 鍦板潃绌洪棿涓鐨勪竴涓瀛楄妭銆0x00 - byte[7:0], 0x01 - byte[15:8] ...32 浣嶅瓧鍙浠ラ氳繃 32 浣嶅归綈鐨勫湴鍧璁块棶锛屽嵆 4 鐨勫嶆暟鐨勫湴鍧锛0x00鈥斺 byte 0锛0x04鈥斺 byte 1鈥︹Pequeno 鏄涓娆惧崟鍙戝皠 CPU锛屽嵆姣忔″彧浠庡唴瀛樹腑鑾峰彇涓鏉℃寚浠わ紝骞跺彂鍑烘寚浠よ繘琛岃В鐮佸拰鎵ц屻傞噰鐢ㄥ崟鍙戝皠鐨勬祦姘寸嚎澶勭悊鍣ㄧ殑鏈澶IPC = 1锛堟垨鏈灏-鏈浣矯PI = 1锛夛紝鍗虫渶缁堢洰鏍囨槸浠ユ瘡鏃堕挓鍛ㄦ湡 1 鏉℃寚浠ょ殑閫熺巼鎵ц屻傝繖鍦ㄧ悊璁轰笂鏄鍙浠ュ疄鐜扮殑鏈楂樻ц兘銆傜粡鍏哥殑浜旂骇 RISC 娴佹按绾挎槸鐞嗚В浠讳綍鍏朵粬 RISC 鏋舵瀯鐨勫熀纭鏋舵瀯銆傝繖瀵逛簬鎴戜滑鐨 CPU 鏉ヨ存槸鏈鐞嗘兂涓旀渶绠鍗曠殑閫夋嫨銆侾equeno 鐨勬灦鏋勫氨鏄鍥寸粫杩欑嶄簲绾ф祦姘寸嚎鏋勫缓鐨勩傝╂垜浠娣卞叆鎺㈣ㄤ竴涓嬪叾搴曞眰姒傚康銆傜畝鍗曡捣瑙侊紝鎴戜滑灏嗕笉鏀鎸 CPU 娴佹按绾夸腑鐨勮℃椂鍣ㄣ佷腑鏂鍜屽紓甯搞傚洜姝わ紝CSR 鍜岀壒鏉冪骇鍒涔熸棤闇瀹炵幇銆傚洜姝わ紝 RISC-V 鐗规潈 ISA涓嶅寘鍚鍦 Pequeno 鐨勫綋鍓嶅疄鐜颁腑銆傝捐 CPU 鏈绠鍗曠殑鏂规硶鏄闈炴祦姘寸嚎鏂瑰紡銆傝╂垜浠鐪嬬湅闈炴祦姘寸嚎 RISC CPU 鐨勫嚑绉嶈捐℃柟娉曪紝骞朵簡瑙e叾缂虹偣銆傝╂垜浠鍋囪 CPU 鎵ц屾寚浠ゆ墍閬靛惊鐨勭粡鍏告ラゅ簭鍒楋細鑾峰彇銆佽В鐮併佹墽琛屻佸唴瀛樿块棶鍜屽啓鍥炪傜涓绉嶈捐℃柟娉曟槸锛氬皢 CPU 璁捐℃垚涓涓鍏锋湁鍥涘埌浜斾釜鐘舵佺殑鏈夐檺鐘舵佹満 (FSM)锛屽苟鎸夐『搴忔墽琛屾墍鏈夋搷浣溿備緥濡傦細浣嗚繖绉嶆灦鏋勪細涓ラ噸褰卞搷鎸囦护鎵ц岄熷害銆傚洜涓烘墽琛屼竴鏉℃寚浠ら渶瑕佸氫釜鏃堕挓鍛ㄦ湡銆傛瘮濡傦紝鍐欏叆瀵勫瓨鍣ㄩ渶瑕 3 涓鏃堕挓鍛ㄦ湡銆傚傛灉鏄鍔犺浇-瀛樺偍鎸囦护锛屽唴瀛樺欢杩熶篃浼氶殢涔嬪炲姞銆傝繖鏄涓绉嶇碂绯曚笖鍘熷嬬殑 CPU 璁捐℃柟娉曘傛垜浠褰诲簳鎶涘純瀹冨惂锛佺浜岀嶆柟娉曟槸锛氭寚浠ゅ彲浠ヤ粠鎸囦护瀛樺偍鍣ㄤ腑鍙栧嚭锛岃В鐮侊紝鐒跺悗鐢卞畬鍏ㄧ粍鍚堥昏緫鎵ц屻傜劧鍚庯紝ALU 鐨勭粨鏋滆鍐欏洖鍒板瘎瀛樺櫒鏂囦欢銆傜洿鍒板啓鍥炵殑鏁翠釜杩囩▼鍙浠ュ湪涓涓鏃堕挓鍛ㄦ湡鍐呭畬鎴愩傝繖鏍风殑 CPU 绉颁负鍗曞懆鏈 CPU銆傚傛灉鎸囦护闇瑕佽块棶鏁版嵁瀛樺偍鍣锛屽垯搴旇冭檻璇-鍐欏欢杩熴傚傛灉璇-鍐欏欢杩熶负涓涓鏃堕挓鍛ㄦ湡锛屽垯瀛樺偍鎸囦护浠嶅彲鑳藉儚鎵鏈夊叾浠栨寚浠や竴鏍峰湪涓涓鏃堕挓鍛ㄦ湡鍐呭畬鎴愭墽琛岋紝浣嗗姞杞芥寚浠ゅ彲鑳介濆栭渶瑕佷竴涓鏃堕挓鍛ㄦ湡锛屽洜涓哄繀椤诲皢鍔犺浇鐨勬暟鎹鍐欏洖鍒板瘎瀛樺櫒鏂囦欢銆侾C 鐢熸垚閫昏緫蹇呴』澶勭悊杩欑嶅欢杩熺殑褰卞搷銆傚傛灉鏁版嵁瀛樺偍鍣ㄨ诲彇鎺ュ彛鏄缁勫悎鐨勶紙寮傛ヨ诲彇锛夛紝鍒 CPU 瀵逛簬鎵鏈夋寚浠ら兘灏嗙湡姝e彉涓哄崟鍛ㄦ湡銆傝ユ灦鏋勭殑涓昏佺己鐐规樉鐒舵槸浠庡彇鎸囧埌鍐欏叆瀛樺偍鍣-瀵勫瓨鍣ㄦ枃浠剁殑缁勫悎閫昏緫鍏抽敭璺寰勮緝闀匡紝杩欓檺鍒朵簡鏃跺簭鎬ц兘銆傜劧鑰岋紝杩欑嶈捐℃柟娉曠畝鍗曪紝閫傜敤浜庝綆绔寰鎺у埗鍣ㄤ腑閭d簺闇瑕佷綆鏃堕挓閫熷害銆佷綆鍔熻楀拰浣庨潰绉鐨凜PU銆備负浜嗗疄鐜版洿楂樼殑鏃堕挓閫熷害鍜屾ц兘锛屾垜浠鍙浠ュ皢 CPU 鐨勬寚浠ら『搴忓勭悊鍔熻兘鍒嗙诲嚭鏉ャ傛瘡涓瀛愯繘绋嬭鍒嗛厤缁欑嫭绔嬬殑澶勭悊鍗曞厓銆傝繖浜涘勭悊鍗曞厓鎸夐『搴忕骇鑱旓紝褰㈡垚娴佹按绾裤傛墍鏈夊崟鍏冨苟琛屽伐浣滐紝骞跺规寚浠ゆ墽琛岀殑涓嶅悓閮ㄥ垎杩涜屾搷浣溿傞氳繃杩欑嶆柟寮忥紝鍙浠ュ苟琛屽勭悊澶氭潯鎸囦护銆傝繖绉嶅疄鐜版寚浠ょ骇骞惰屾х殑鎶鏈绉颁负鎸囦护娴佹按绾裤傝ユ墽琛屾祦姘寸嚎鏋勬垚浜嗘祦姘寸嚎 CPU 鐨勬牳蹇冦傜粡鍏哥殑浜旂骇 RISC 娴佹按绾挎湁浜斾釜澶勭悊鍗曞厓锛屼篃绉颁负娴佹按绾块樁娈点傝繖浜涢樁娈靛垎鍒鏄锛氬彇鎸(IF)銆佽В鐮(ID)銆佹墽琛(EX)銆佸唴瀛樿块棶(MEM)銆佸啓鍥(WB)銆傛祦姘寸嚎鐨勫伐浣滃師鐞嗗彲浠ョ洿瑙傚湴琛ㄧず涓猴細姣忎釜鏃堕挓鍛ㄦ湡锛屼竴鏉℃寚浠ょ殑涓嶅悓閮ㄥ垎浼氳澶勭悊锛屽苟涓旀瘡涓闃舵甸兘浼氬勭悊涓嶅悓鐨勬寚浠ゃ傚傛灉浠旂粏瑙傚療锛屼細鍙戠幇鍙鏈夌 5 涓鍛ㄦ湡锛屾寚浠 1 鎵嶅畬鎴愭墽琛屻傝繖娈靛欢杩熻绉颁负娴佹按绾垮欢杩熴偽旀ゅ欢杩熶笌娴佹按绾跨骇鏁扮浉鍚屻傚湪姝ゅ欢杩熶箣鍚庯紝绗 6 涓鍛ㄦ湡锛氭寚浠 2 鎵ц屽畬姣曪紝绗 7 涓鍛ㄦ湡锛氭寚浠 3 鎵ц屽畬姣曪紝渚濇ょ被鎺ㄢ︹︾悊璁轰笂锛屾垜浠鍙浠ヨ$畻鍚炲悙閲忥紙姣忓懆鏈熸寚浠ゆ暟锛孖PC锛夛紝濡備笅鎵绀猴細鍥犳わ紝娴佹按绾緾PU淇濊瘉姣忎釜鏃堕挓鍛ㄦ湡鎵ц屼竴鏉℃寚浠ゃ傝繖鏄鍗曞彂灏勫勭悊鍣ㄤ腑鍙鑳界殑鏈澶IPC銆傞氳繃鍒掑垎澶氫釜娴佹按绾块樁娈电殑鍏抽敭璺寰勶紝CPU 鐜板湪涔熷彲浠ヤ互鏇撮珮鐨勬椂閽熼熷害杩愯屻備粠鏁板︿笂璁诧紝杩欎娇寰楁祦姘寸嚎 CPU 鐨勫悶鍚愰噺姣斿悓绛夌殑闈炴祦姘寸嚎 CPU 鎻愰珮浜嗕竴涓鍊嶆暟銆傝繖琚绉颁负娴佹按绾垮姞閫熴傜畝鍗曟潵璇达紝涓涓鍏锋湁s闃舵垫祦姘寸嚎 CPU 鐨勬椂閽熼熷害鏄闈炴祦姘寸嚎浜у搧鐨凷鍊嶃傛祦姘寸嚎閫氬父浼氬炲姞闈㈢Н-鍔熻楋紝浣嗘ц兘鎻愬崌鏄鍊煎緱鐨勩傛暟瀛﹁$畻鍋囪炬祦姘寸嚎姘歌繙涓嶄細鍋滄粸锛屼篃灏辨槸璇达紝鏁版嵁鍦ㄦ瘡涓鏃堕挓鍛ㄦ湡鍐呴兘浼氫粠涓涓闃舵垫寔缁浼犺緭鍒板彟涓涓闃舵点備絾鍦ㄥ疄闄呯殑 CPU 涓锛屾祦姘寸嚎鍙鑳戒細鐢变簬澶氱嶅師鍥犺屽仠婊烇紝涓昏佸師鍥犳槸缁撴瀯-鎺у埗-鏁版嵁渚濊禆鎬с備妇涓渚嬪瓙锛氬瘎瀛樺櫒X涓嶈兘琚玁th鎸囦护璇诲埌锛屽洜涓篨骞朵笉鏄鐢憋紙N-1锛塼h鎸囦护淇鏀逛簡X璇诲洖锛岃繖鏄娴佹按绾夸腑鏁版嵁椋庨櫓鐨勪竴涓渚嬪瓙銆侾equeno 鐨勬灦鏋勯噰鐢ㄤ簡缁忓吀鐨勪簲绾 RISC 娴佹按绾裤傛垜浠灏嗗疄鐜颁弗鏍肩殑椤哄簭娴佹按绾裤傚湪椤哄簭澶勭悊鍣ㄤ腑锛屾寚浠ょ殑鑾峰彇銆佽В鐮併佹墽琛屽拰瀹屾垚-鎻愪氦閮芥寜鐓х紪璇戝櫒鐢熸垚鐨勯『搴忚繘琛屻傚傛灉涓鏉℃寚浠ゅ仠婊烇紝鏁翠釜娴佹按绾块兘浼氬仠婊炪傚湪涔卞簭澶勭悊鍣ㄤ腑锛屾寚浠ゆ寜鐓х紪璇戝櫒鐢熸垚鐨勯『搴忚幏鍙栧拰瑙g爜锛屼絾鎵ц屽彲浠ユ寜涓嶅悓鐨勯『搴忚繘琛屻傚傛灉涓鏉℃寚浠ゅ仠椤匡紝闄ら潪瀛樺湪渚濊禆鍏崇郴锛屽惁鍒欏畠涓嶄細鍋滈】鍚庣画鎸囦护銆傜嫭绔嬬殑鎸囦护鍙浠ュ悜鍓嶄紶閫掋傛墽琛屼粛鐒跺彲浠ユ寜椤哄簭瀹屾垚-鎻愪氦锛堣繖灏辨槸褰撲粖澶у氭暟CPU鐨勭幇鐘讹級銆傝繖涓哄疄鐜板悇绉嶆灦鏋勬妧鏈鎵撳紑浜嗗ぇ闂锛岄氳繃鍑忓皯鍋滈】鎵娴璐圭殑鏃堕挓鍛ㄦ湡骞舵渶澶ч檺搴﹀湴鍑忓皯姘旀场鐨勬彃鍏ワ紙浠涔堟槸鈥滄皵娉濓紵缁х画闃呰烩︹︼級 锛屾樉钁楁彁楂樺悶鍚愰噺鍜屾ц兘銆備贡搴忓勭悊鍣ㄧ敱浜庢寚浠ょ殑鍔ㄦ佽皟搴﹁岀浉褰撳嶆潅锛屼絾鐜板湪宸叉垚涓哄綋浠婇珮鎬ц兘 CPU 涓浜嬪疄涓婄殑娴佹按绾挎灦鏋勩備簲涓娴佹按绾块樁娈佃璁捐′负鐙绔嬪崟鍏冿細鍙栨寚鍗曞厓锛團U锛夈佽瘧鐮佸崟鍏冿紙DU锛夈佹墽琛屽崟鍏冿紙EXU锛夈佸唴瀛樿块棶鍗曞厓锛圡ACCU锛夊拰鍐欏洖鍗曞厓锛圵BU锛夈傚彇鎸囧崟鍏(FU)锛氭祦姘寸嚎鐨勭涓绾э紝涓庢寚浠ゅ瓨鍌ㄥ櫒鎺ュ彛銆侳U 浠庢寚浠ゅ瓨鍌ㄥ櫒涓鍙栨寚骞堕佽嚦璇戠爜鍗曞厓銆侳U 鍙鑳藉寘鍚鎸囦护缂撳啿鍖恒佸垵濮嬪垎鏀閫昏緫绛夈傝В鐮佸崟鍏(DU)锛氭祦姘寸嚎鐨勭浜岄樁娈碉紝璐熻矗瑙g爜鏉ヨ嚜鎵ц屽崟鍏 (FU) 鐨勬寚浠ゃ侱U 杩樹細鍚鍔ㄥ瑰瘎瀛樺櫒鏂囦欢鐨勮诲彇璁块棶銆傛潵鑷 DU 鍜屽瘎瀛樺櫒鏂囦欢鐨勬暟鎹鍖呰閲嶆柊瀹氭椂鍚屾ワ紝骞朵竴璧峰彂閫佸埌鎵ц屽崟鍏 (Execution Unit)銆傛墽琛屽崟鍏(EXU)锛氭祦姘寸嚎鐨勭涓夐樁娈碉紝鐢ㄤ簬楠岃瘉骞舵墽琛屾潵鑷 DU 鐨勬墍鏈夎В鐮佹寚浠ゃ傛棤鏁-涓嶆敮鎸佺殑鎸囦护涓嶅厑璁稿湪娴佹按绾夸腑缁х画鎵ц岋紝瀹冧滑浼氭垚涓衡滄皵娉濄傜畻鏈鍗曞厓 (ALU)璐熻矗鎵鏈夋暣鏁扮畻鏈鍜岄昏緫鎸囦护銆傚垎鏀鍗曞厓 (Branch Unit)璐熻矗澶勭悊璺宠浆-鍒嗘敮鎸囦护銆傚姞杞-瀛樺偍鍗曞厓 (Load-Store Unit)璐熻矗澶勭悊闇瑕佽块棶鍐呭瓨鐨勫姞杞-瀛樺偍鎸囦护銆傚唴瀛樿块棶鍗曞厓(MACCU)锛氭祦姘寸嚎鐨勭鍥涚骇锛岀敤浜庝笌鏁版嵁瀛樺偍鍣ㄦ帴鍙c侻ACCU 璐熻矗鏍规嵁 EXU 鐨勬寚浠ゅ彂璧锋墍鏈夊唴瀛樿块棶銆傛暟鎹瀛樺偍鍣ㄦ槸瀵诲潃绌洪棿锛屽彲鑳界敱鏁版嵁 RAM銆佸唴瀛樻槧灏勭殑 I-O 澶栬俱佹ˉ鎺ュ櫒銆佷簰杩炵瓑缁勬垚銆傚啓鍥炲崟鍏(WBU)锛氭祦姘寸嚎鐨勭浜旂骇鎴栨渶鍚庝竴绾с傛寚浠ゅ湪姝ゅ畬鎴愭墽琛屻俉BU 璐熻矗灏 EXU-MACCU 涓鐨勬暟鎹锛堝姞杞芥暟鎹锛夊啓鍥炲瘎瀛樺櫒鏂囦欢銆傚湪娴佹按绾块樁娈典箣闂达紝瀹炵幇浜嗘湁鏁-灏辩华鎻℃墜銆備箥涓鐪嬭繖骞朵笉閭d箞鏄庢樉銆傛瘡涓闃舵甸兘浼氭敞鍐屼竴涓鏁版嵁鍖呭苟灏嗗叾鍙戦佸埌涓嬩竴闃舵点傝ユ暟鎹鍖呭彲鑳芥槸涓嬩竴闃舵垫垨鍚庣画闃舵佃佷娇鐢ㄧ殑鎸囦护-鎺у埗-鏁版嵁淇℃伅銆傝ユ暟鎹鍖呴氳繃鏈夋晥淇″彿杩涜岄獙璇併傚傛灉鏁版嵁鍖呮棤鏁堬紝鍒欏湪娴佹按绾夸腑绉颁负姘旀场锛圔ubble锛夈傛皵娉″彧涓嶈繃鏄娴佹按绾夸腑鐨勨滄礊鈥濓紙hole锛夛紝瀹冨彧鏄鍦ㄦ祦姘寸嚎涓鍚戝墠绉诲姩锛屽疄闄呬笂涓嶆墽琛屼换浣曟搷浣溿傝繖绫讳技浜 NOP 鎸囦护銆備絾涓嶈佽や负瀹冧滑娌℃湁鐢锛佸湪鍚庣画閮ㄥ垎璁ㄨ烘祦姘寸嚎椋庨櫓鏃讹紝鎴戜滑灏嗙湅鍒板畠浠鐨勪竴绉嶇敤閫斻備笅琛ㄥ畾涔変簡 Pequeno 鎸囦护娴佹按绾夸腑鐨勬皵娉°傛瘡涓闃舵佃繕鍙浠ラ氳繃鍙戝嚭鍋滈】淇″彿鏉ュ仠椤垮墠涓涓闃舵点備竴鏃﹀仠椤匡紝璇ラ樁娈靛皢淇濈暀鍏舵暟鎹鍖咃紝鐩村埌鍋滈】鐘舵佹秷澶便傛や俊鍙蜂笌鍙嶈浆鐨勫氨缁淇″彿鐩稿悓銆傚湪椤哄簭澶勭悊鍣ㄤ腑锛屼换浣曢樁娈典骇鐢熺殑鍋滈】閮界被浼间簬鍏ㄥ眬鍋滈】锛屽洜涓哄畠鏈缁堜細鍋滈】鏁翠釜娴佹按绾裤俧lush淇″彿鐢ㄤ簬鍒锋柊绠¢亾銆傚埛鏂版搷浣滃皢涓娆℃т娇涔嬪墠闃舵垫敞鍐岀殑鎵鏈夋暟鎹鍖呭け鏁堬紝鍥犱负瀹冧滑琚璇嗗埆涓轰笉鍐嶆湁鐢ㄣ備妇涓渚嬪瓙锛屽綋娴佹按绾垮湪鎵ц岃烦杞-鍒嗘敮鎸囦护鍚庯紝浠庨敊璇鐨勫垎鏀鑾峰彇骞惰В鐮佷簡鎸囦护锛岃岃ユ寚浠や粎鍦ㄦ墽琛岄樁娈佃璇嗗埆涓洪敊璇鏃讹紝娴佹按绾垮簲璇ヨ鍒锋柊锛屽苟浠庢g‘鐨勫垎鏀鑾峰彇鎸囦护锛佽櫧鐒舵祦姘寸嚎鏄捐憲鎻愬崌浜嗘ц兘锛屼絾涔熷炲姞浜 CPU 鏋舵瀯鐨勫嶆潅鎬с侰PU 鐨勬祦姘寸嚎鎶鏈鎬绘槸浼撮殢鐫瀹冪殑瀛鐢熷厔寮熲斺旀祦姘寸嚎椋庨櫓锛佺幇鍦锛屾垜浠鍋囪炬垜浠瀵规祦姘寸嚎椋庨櫓涓鏃犳墍鐭ャ傛垜浠鍦ㄨ捐℃灦鏋勬椂骞舵病鏈夎冭檻椋庨櫓銆傚勭悊娴佹按绾块庨櫓鍦ㄦ湰绔犱腑锛屾垜浠灏嗘帰璁ㄦ祦姘寸嚎椋庨櫓銆傛垜浠涓婃℃垚鍔熻捐′簡 CPU 鐨勬祦姘寸嚎鏋舵瀯锛屼絾鍗存病鏈夎冭檻鍒颁即闅忔祦姘寸嚎鑰屾潵鐨勨滈偑鎭跺弻鑳炶儙鈥濄傛祦姘寸嚎椋庨櫓瀵规灦鏋勫彲鑳介犳垚鍝浜涘奖鍝嶏紵闇瑕佽繘琛屽摢浜涙灦鏋勪慨鏀规潵缂撹В杩欎簺椋庨櫓锛熻╂垜浠缁х画锛屾彮寮瀹冧滑鐨勭炵橀潰绾憋紒CPU 鎸囦护娴佹按绾夸腑鐨勫嵄闄╂槸鎸囦竴浜涗緷璧栧叧绯伙紝杩欎簺渚濊禆鍏崇郴浼氬共鎵版祦姘寸嚎鐨勬e父鎵ц屻傚綋鍗遍櫓鍙戠敓鏃讹紝鎸囦护鏃犳硶鍦ㄦ寚瀹氱殑鏃堕挓鍛ㄦ湡鍐呮墽琛岋紝鍥犱负杩欏彲鑳藉艰嚧閿欒鐨勮$畻缁撴灉鎴栨帶鍒舵祦銆傚洜姝わ紝娴佹按绾垮彲鑳戒細琚杩鏆傚仠锛岀洿鍒版寚浠よ兘澶熸垚鍔熸墽琛屻傚湪涓婇潰鐨勪緥瀛愪腑锛孋PU 鎸夌収缂栬瘧鍣ㄧ敓鎴愮殑椤哄簭鎸夊簭鎵ц屾寚浠ゃ傚亣璁炬寚浠 i2瀵筰1鏈変竴瀹氱殑渚濊禆鎬э紝姣斿俰2闇瑕佽诲彇鏌愪釜瀵勫瓨鍣锛屼絾璇ュ瘎瀛樺櫒涔熸e湪琚鍓嶄竴鏉℃寚浠i1淇鏀广傚洜姝わ紝i2蹇呴』绛夊埌i1灏嗙粨鏋滃啓鍥炲瘎瀛樺櫒鏂囦欢锛屽惁鍒欐棫鏁版嵁灏嗚瑙g爜骞朵粠瀵勫瓨鍣ㄦ枃浠惰诲彇锛屼緵鎵ц岄樁娈典娇鐢ㄣ備负浜嗛伩鍏嶈繖绉嶆暟鎹涓嶄竴鑷达紝i2琚寮哄埗鏆傚仠涓変釜鏃堕挓鍛ㄦ湡銆傛祦姘寸嚎涓鎻掑叆鐨勬皵娉¤〃绀烘殏鍋滄垨绛夊緟鐘舵併傚彧鏈夊綋i1瀹屾垚鏃讹紝i2鎵嶄細琚瑙g爜銆傛渶缁堬紝i2鍦ㄧ 10 涓鏃堕挓鍛ㄦ湡鑰屼笉鏄绗 7 涓鏃堕挓鍛ㄦ湡瀹屾垚鎵ц屻傜敱浜庢暟鎹渚濊禆鎬у艰嚧鐨勬殏鍋滐紝寮曞叆浜嗕笁涓鏃堕挓鍛ㄦ湡鐨勫欢杩熴傝繖绉嶅欢杩熷備綍褰卞搷 CPU 鎬ц兘锛熺悊鎯虫儏鍐典笅锛屾垜浠鏈熸湜 CPU 浠ユ弧鍚炲悙閲忚繍琛岋紝鍗 CPI = 1銆備絾鏄锛屽綋娴佹按绾挎殏鍋滄椂锛岀敱浜 CPI 澧炲姞锛孋PU 鐨勫悶鍚愰噺-鎬ц兘浼氶檷浣庛傚逛簬闈炵悊鎯 CPU锛氱¢亾涓鍙戠敓鍗遍櫓鐨勬柟寮忓氱嶅氭牱銆傜¢亾鍗遍櫓鍙鍒嗕负涓夌被锛氱粨鏋勬у嵄闄╂帶鍒跺嵄瀹虫暟鎹鍗卞崇粨鏋勬ч庨櫓鏄鐢变簬纭浠惰祫婧愬啿绐佽屽彂鐢熺殑銆備緥濡傦紝褰撴祦姘寸嚎鐨勪袱涓闃舵垫兂瑕佽块棶鍚屼竴璧勬簮鏃躲備緥濡傦細涓ゆ潯鎸囦护闇瑕佸湪鍚屼竴鏃堕挓鍛ㄦ湡鍐呰块棶鍐呭瓨銆傚湪涓婇潰鐨勪緥瀛愪腑锛孋PU 鍙鏈変竴涓鍐呭瓨鐢ㄤ簬瀛樺偍鎸囦护鍜屾暟鎹銆傚彇鎸囬樁娈垫瘡涓鏃堕挓鍛ㄦ湡閮戒細璁块棶鍐呭瓨浠ヨ幏鍙栦笅涓鏉℃寚浠ゃ傚洜姝わ紝濡傛灉鍐呭瓨璁块棶闃舵电殑涓婁竴鏉℃寚浠や篃闇瑕佽块棶鍐呭瓨锛屽垯鍙栨寚闃舵靛拰鍐呭瓨璁块棶闃舵电殑鎸囦护鍙鑳戒細鍙戠敓鍐茬獊銆傝繖灏嗚揩浣 CPU 澧炲姞鍋滈】鍛ㄦ湡锛屽彇鎸囬樁娈靛繀椤荤瓑寰咃紝鐩村埌鍐呭瓨璁块棶闃舵电殑鎸囦护閲婃斁璧勬簮锛堝唴瀛橈級銆傚噺杞荤粨鏋勬у嵄闄╃殑涓浜涙柟娉曞寘鎷锛氭殏鍋滅¢亾锛岀洿鍒拌祫婧愬彲鐢ㄣ傚嶅埗璧勬簮锛岃繖鏍峰氨涓嶄細鍙戠敓浠讳綍鍐茬獊銆傛祦姘寸嚎璧勬簮锛屼娇寰椾袱鏉℃寚浠ゅ皢澶勪簬娴佹按绾胯祫婧愮殑涓嶅悓闃舵点傝╂垜浠鍒嗘瀽涓涓嬪彲鑳藉艰嚧 Pequeno 绠¢亾鍑虹幇缁撴瀯鎬у嵄闄╃殑涓嶅悓鎯呭喌锛屼互鍙婂備綍瑙e喅銆 鎴戜滑鏃犳剰浣跨敤鍋滃伐浣滀负缂撹В缁撴瀯鎬у嵄闄╃殑閫夐」锛佸湪 Pequeno 鐨勬灦鏋勪腑锛屾垜浠瀹炴柦浜嗕笂杩颁笁绉嶈В鍐虫柟妗堟潵鍑忚交鍚勭嶇粨鏋勬у嵄闄┿傛帶鍒堕庨櫓鏄鐢辫烦杞-鍒嗘敮鎸囦护寮曡捣鐨勩傝烦杞-鍒嗘敮鎸囦护鏄 CPU ISA 涓鐨勬祦绋嬫帶鍒舵寚浠ゃ傚綋鎺у埗鏉冨埌杈捐烦杞-鍒嗘敮鎸囦护鏃讹紝CPU 蹇呴』鍐冲畾鏄鍚︽墽琛岃ュ垎鏀鎸囦护銆傛ゆ椂锛孋PU 搴旇ラ噰鍙栦互涓嬫搷浣滀箣涓銆傚湪 PC+4 澶勮幏鍙栦笅涓鏉℃寚浠わ紙涓嶆墽琛屽垎鏀锛夋垨鑾峰彇鍒嗘敮鐩鏍囧湴鍧澶勭殑鎸囦护锛堝垎鏀宸叉墽琛岋級銆傚彧鏈夊湪鎵ц岄樁娈佃$畻鍒嗘敮鎸囦护鐨勭粨鏋滄椂锛屾墠鑳藉垽鏂鍐崇瓥鐨勬g‘涓庡惁銆傛牴鎹鍒嗘敮鏄鍚﹁鎵ц岋紝纭瀹氬垎鏀鍦板潃锛圕PU 搴旇ュ垎鏀鍒扮殑鍦板潃锛夈傚傛灉涔嬪墠鍋氬嚭鐨勫喅绛栨槸閿欒鐨勶紝閭d箞鍦ㄨユ椂閽熷懆鏈熶箣鍓嶅湪娴佹按绾夸腑鑾峰彇鍜岃В鐮佺殑鎵鏈夋寚浠ら兘搴旇ヨ涓㈠純銆傚洜涓鸿繖浜涙寚浠ゆ牴鏈涓嶅簲璇ヨ鎵ц岋紒杩欐槸閫氳繃鍒锋柊娴佹按绾垮苟鍦ㄤ笅涓涓鏃堕挓鍛ㄦ湡鑾峰彇鍒嗘敮鍦板潃鐨勬寚浠ゆ潵瀹炵幇鐨勩傚埛鏂颁娇鎸囦护鏃犳晥骞跺皢鍏惰浆鎹涓 NOP 鎴栧啋娉°傝繖浼氳姳璐瑰ぇ閲忕殑鏃堕挓鍛ㄦ湡浣滀负鎯╃綒銆傝繖琚绉颁负鍒嗘敮鎯╃綒銆傚洜姝わ紝鎺у埗鍐掗櫓瀵 CPU 鎬ц兘鐨勫奖鍝嶆渶涓ラ噸銆傚湪涓婇潰鐨勪緥瀛愪腑锛宨10鍦ㄧ 10 涓鏃堕挓鍛ㄦ湡瀹屾垚浜嗘墽琛岋紝浣嗗畠搴旇ュ湪绗 7 涓鏃堕挓鍛ㄦ湡瀹屾垚鎵ц屻傜敱浜庢墽琛屼簡閿欒鐨勫垎鏀鎸囦护 (i5)锛屽洜姝ゆ崯澶变簡 3 涓鏃堕挓鍛ㄦ湡銆傚綋鎵ц岄樁娈靛湪绗 4 涓鏃堕挓鍛ㄦ湡璇嗗埆鍑洪敊璇鍒嗘敮鎸囦护鏃讹紝蹇呴』鍦ㄦ祦姘寸嚎涓杩涜屽埛鏂般傝繖浼氬備綍褰卞搷 CPU 鎬ц兘锛熷傛灉鍦ㄤ笂杩 CPU 涓婅繍琛岀殑绋嬪簭鍖呭惈 30% 鐨勫垎鏀鎸囦护锛屽垯 CPI 灏嗗彉涓猴細CPU 鎬ц兘闄嶄綆50%锛佷负浜嗗噺杞绘帶鍒堕庨櫓锛屾垜浠鍙浠ュ湪鏋舵瀯涓閲囩敤涓浜涚瓥鐣モ︹﹀傛灉鎸囦护琚璇嗗埆涓哄垎鏀鎸囦护锛屽垯鍙闇鏆傚仠娴佹按绾垮嵆鍙銆傝ヨВ鐮侀昏緫鍙浠ュ湪鎻愬彇闃舵垫湰韬瀹炵幇銆備竴鏃︽墽琛屼簡鍒嗘敮鎸囦护骞惰В鏋愪簡鍒嗘敮鍦板潃锛屽氨鍙浠ユ彁鍙栦笅涓鏉℃寚浠ゅ苟鎭㈠嶆祦姘寸嚎銆傚湪 Fetch 闃舵垫坊鍔犵被浼煎垎鏀棰勬祴鐨勪笓鐢ㄥ垎鏀閫昏緫銆傚垎鏀棰勬祴鐨勬湰璐ㄦ槸锛氭垜浠鍦ㄥ彇鎸囬樁娈甸噰鐢ㄦ煇绉嶉勬祴閫昏緫鏉ョ寽娴嬪垎鏀鏄鍚﹀簲璇ヨ鎵ц屻傚湪涓嬩竴涓鏃堕挓鍛ㄦ湡锛屾垜浠鑾峰彇鐚滄祴鐨勬寚浠ゃ傝繖鏉℃寚浠よ佷箞浠 PC+4 澶勮幏鍙栵紙棰勬祴鍒嗘敮涓嶈鎵ц岋級锛岃佷箞浠庡垎鏀鐩鏍囧湴鍧澶勮幏鍙栵紙棰勬祴鍒嗘敮琚鎵ц岋級銆傜幇鍦ㄦ湁涓ょ嶅彲鑳芥э細濡傛灉鍦ㄦ墽琛岄樁娈靛彂鐜伴勬祴姝g‘锛屽垯涓嶆墽琛屼换浣曟搷浣滐紝绠¢亾鍙浠ョ户缁澶勭悊銆傚傛灉鍙戠幇棰勬祴閿欒锛屽垯鍒锋柊娴佹按绾匡紝浠庢墽琛岄樁娈佃В鏋愮殑鍒嗘敮鍦板潃涓鑾峰彇姝g‘鐨勬寚浠ゃ傝繖浼氫骇鐢熷垎鏀鎯╃綒銆傚傛偍鎵瑙侊紝鍒嗘敮棰勬祴濡傛灉棰勬祴閿欒锛屼粛鐒朵細鎷涜嚧鍒嗘敮鎯╃綒銆傝捐$洰鏍囧簲璇ユ槸闄嶄綆閿欒棰勬祴鐨勬傜巼銆侰PU 鐨勬ц兘寰堝ぇ绋嬪害涓婂彇鍐充簬棰勬祴绠楁硶鐨勨滃ソ鍧忊濄傚儚鍔ㄦ佸垎鏀棰勬祴杩欐牱鐨勫嶆潅鎶鏈浼氫繚瀛樻寚浠ゅ巻鍙茶板綍锛屼互渚夸互 80% 鍒 90% 鐨勬傜巼杩涜屾g‘棰勬祴銆備负浜嗗噺杞 Pequeno 涓鐨勬帶鍒堕庨櫓锛屾垜浠灏嗗疄鐜颁竴涓绠鍗曠殑鍒嗘敮棰勬祴閫昏緫銆傛洿澶氱粏鑺傚皢鍦ㄦ垜浠鍗冲皢鍙戝竷鐨勫叧浜庢彁鍙栧崟鍏冭捐$殑鍗氬涓鎻鏅撱傚綋涓鏉℃寚浠ょ殑鎵ц屽规祦姘寸嚎涓浠嶅湪澶勭悊鐨勪笂涓鏉℃寚浠ょ殑缁撴灉瀛樺湪鏁版嵁渚濊禆鏃讹紝灏变細鍙戠敓鏁版嵁椋庨櫓銆傝╂垜浠閫氳繃绀轰緥鏉ヤ簡瑙d笁绉嶇被鍨嬬殑鏁版嵁椋庨櫓锛屼互渚挎洿濂藉湴鐞嗚В杩欎釜姒傚康銆傚亣璁句竴鏉℃寚浠i1灏嗙粨鏋滃啓鍏ュ瘎瀛樺櫒 x銆備笅涓鏉℃寚浠i2涔熷皢缁撴灉鍐欏叆鍚屼竴瀵勫瓨鍣ㄣ傜▼搴忛『搴忎腑鐨勪换浣曞悗缁鎸囦护閮藉簲璇诲彇 x 澶刬2鐨勭粨鏋溿傚惁鍒欙紝鏁版嵁瀹屾暣鎬у皢鍙楁崯銆傝繖绉嶆暟鎹渚濊禆鍏崇郴绉颁负杈撳嚭渚濊禆鍏崇郴锛屽彲鑳藉艰嚧 WAW锛(Write-After-Write)锛 鏁版嵁椋庨櫓銆傚亣璁句竴鏉℃寚浠i1璇诲彇浜嗗瘎瀛樺櫒 x銆備笅涓鏉℃寚浠i2灏嗙粨鏋滃啓鍏ュ悓涓瀵勫瓨鍣ㄣ傛ゆ椂锛宨1搴旇ヨ诲彇 瀵勫瓨鍣╔鐨勬棫鍊硷紝鑰屼笉鏄痠2鐨勭粨鏋溿傚傛灉 i2鍦╥1璇诲彇缁撴灉涔嬪墠灏嗙粨鏋滃啓鍏 x锛屽垯浼氬艰嚧鏁版嵁椋庨櫓銆傝繖绉嶆暟鎹渚濊禆绉颁负鍙嶄緷璧栵紝鍙鑳藉艰嚧 WAR 锛(Write-After-Read)锛夋暟鎹椋庨櫓銆傚亣璁句竴鏉℃寚浠i1灏嗙粨鏋滃啓鍏ュ瘎瀛樺櫒 x銆備笅涓鏉℃寚浠i2璇诲彇鍚屼竴涓瀵勫瓨鍣ㄣ傛ゆ椂锛宨2搴旇ヨ诲彇 i1鍐欏叆瀵勫瓨鍣 x 鐨勫硷紝鑰屼笉鏄涔嬪墠鐨勯偅涓鍊笺傝繖绉嶆暟鎹渚濊禆鍏崇郴琚绉颁负鐪熶緷璧栵紝鍙鑳藉艰嚧 RAW (Read-After-Write)鏁版嵁椋庨櫓銆傝繖鏄娴佹按绾 CPU 涓鏈甯歌併佹渶涓昏佺殑鏁版嵁鍗遍櫓绫诲瀷銆備负浜嗗噺杞绘湁搴 CPU 涓鐨勬暟鎹鍗遍櫓锛屾垜浠鍙浠ラ噰鐢ㄤ竴浜涙妧鏈锛氭娴嬪埌鏁版嵁渚濊禆鎬ф椂锛屾殏鍋滄祦姘寸嚎锛堝弬瑙佺涓寮犲浘锛夈傝В鐮侀樁娈靛彲浠ョ瓑鍒颁笂涓鏉℃寚浠ゆ墽琛屽畬鎴愬悗鍐嶆墽琛屻傜紪璇戦噸鏂拌皟搴︼細缂栬瘧鍣ㄩ氳繃璋冨害浠g爜鍒扮◢鍚庢墽琛屾潵閲嶆柊瀹夋帓浠g爜锛屼互閬垮厤鏁版嵁椋庨櫓銆傝繖鏍峰仛鐨勭洰鐨勬槸閬垮厤绋嬪簭鍋滈】锛屽悓鏃跺張涓嶅奖鍝嶇▼搴忔帶鍒舵祦鐨勫畬鏁存э紝浣嗚繖骞堕潪鎬绘槸鍙琛屻傜紪璇戝櫒涔熷彲浠ュ湪涓や釜鍏锋湁鏁版嵁渚濊禆鎬х殑鎸囦护涔嬮棿鎻掑叆 NOP 鎸囦护銆備絾杩欎細瀵艰嚧鍋滈】锛屼粠鑰屽奖鍝嶆ц兘銆傛暟鎹-鎿嶄綔鏁拌浆鍙戯細杩欐槸椤哄簭鎵ц CPU 涓缂撹В RAW 鏁版嵁椋庨櫓鐨勭獊鍑烘灦鏋勮В鍐虫柟妗堛傝╂垜浠鍒嗘瀽涓涓 CPU 娴佹按绾匡紝浠ヤ簡瑙h繖椤规妧鏈鑳屽悗鐨勫師鐞嗐傚亣璁句袱涓鐩搁偦鐨勬寚浠i1鍜宨2锛屽畠浠涔嬮棿瀛樺湪 RAW 鏁版嵁渚濊禆鎬э紝鍥犱负瀹冧滑閮藉湪璁块棶瀵勫瓨鍣╔銆侰PU 搴旇ユ殏鍋滄寚浠i2锛岀洿鍒癷1灏嗙粨鏋滃啓鍥炲瘎瀛樺櫒x銆傚傛灉 CPU 娌℃湁鍋滈】鏈哄埗锛屽垯i2浼氬湪绗涓変釜鏃堕挓鍛ㄦ湡鐨勮В鐮侀樁娈典粠 x 璇诲彇杈冩棫鐨勫笺傚湪绗鍥涗釜鏃堕挓鍛ㄦ湡锛宨2鎸囦护浼氭墽琛岄敊璇鐨 x 鍊笺傚傛灉浣犱粩缁嗚傚療绠¢亾锛屾垜浠鍦ㄧ涓変釜鏃堕挓鍛ㄦ湡灏卞凡缁忓緱鍒颁簡i1鐨勭粨鏋溿傚綋鐒讹紝瀹冧笉浼氳鍐欏洖瀵勫瓨鍣ㄦ枃浠讹紝浣嗙粨鏋滀粛鐒跺彲浠ュ湪鎵ц岄樁娈电殑杈撳嚭绔浣跨敤銆傚洜姝わ紝濡傛灉鎴戜滑鑳藉熶互鏌愮嶆柟寮忔娴嬫暟鎹渚濊禆鎬э紝鐒跺悗灏嗚ユ暟鎹鈥渇orward鈥濆埌鎵ц岄樁娈电殑杈撳叆锛岄偅涔堜笅涓鏉℃寚浠ゅ氨鍙浠ヤ娇鐢ㄨ浆鍙戠殑鏁版嵁锛岃屼笉鏄鏉ヨ嚜瑙g爜闃舵电殑鏁版嵁銆傝繖鏍蜂竴鏉ワ紝鏁版嵁椋庨櫓灏卞緱鍒颁簡缂撹В锛佽繖涓鎯虫硶鏄杩欐牱鐨勶細杩欑О涓烘暟鎹-鎿嶄綔鏁拌浆鍙戞垨鏁版嵁-鎿嶄綔鏁版梺璺銆傛垜浠灏嗘暟鎹鎸夋椂闂村悜鍓嶈浆鍙戯紝浠ヤ究娴佹按绾夸腑鍚庣画鐨勪緷璧栨寚浠ゅ彲浠ヨ块棶杩欎簺琚鏃佽矾鐨勬暟鎹锛屽苟鍦ㄦ墽琛岄樁娈垫墽琛屻傝繖涓鎯虫硶鍙浠ユ墿灞曞埌涓嶅悓鐨勯樁娈点傚湪涓涓鎸 i1銆乮2銆..in椤哄簭鎵ц屾寚浠ょ殑 5 绾ф祦姘寸嚎涓锛屾暟鎹渚濊禆鍏崇郴鍙鑳藉瓨鍦ㄤ簬锛歩1鍜宨2- 闇瑕佸湪鎵ц岄樁娈靛拰瑙g爜闃舵电殑杈撳嚭涔嬮棿鏃佽矾銆俰1鍜宨3- 闇瑕佸湪鍐呭瓨璁块棶闃舵靛拰瑙g爜闃舵电殑杈撳嚭涔嬮棿鏃佽矾銆俰1鍜宨4- 闇瑕佸湪鍐欏洖闃舵靛拰瑙g爜闃舵电殑杈撳嚭涔嬮棿鏃佽矾銆傜敤浜庣紦瑙f簮鑷娴佹按绾夸换浣曢樁娈电殑 RAW 鏁版嵁椋庨櫓鐨勬灦鏋勮В鍐虫柟妗堝備笅鎵绀猴細璇疯冭檻浠ヤ笅鎯呭舰锛氫袱鏉$浉閭绘寚浠i1鍜宨2涔嬮棿瀛樺湪鏁版嵁渚濊禆鍏崇郴锛屽叾涓绗涓鏉℃寚浠ゆ槸 Load銆傝繖鏄鏁版嵁椋庨櫓鐨勪竴绉嶇壒娈婃儏鍐点傝繖閲岋紝鍦ㄦ暟鎹鍔犺浇鍒 x1 涔嬪墠锛屾垜浠鏃犳硶鎵ц宨2銆傞偅涔堬紝闂棰樺湪浜庢垜浠鏄鍚︿粛鐒跺彲浠ラ氳繃鏁版嵁杞鍙戞潵缂撹В杩欑嶆暟鎹椋庨櫓锛熷姞杞芥暟鎹浠呭湪 i1鐨勫唴瀛樿块棶闃舵靛彲鐢锛屽苟涓斿繀椤诲皢鍏惰浆鍙戝埌i2鐨勮В鐮侀樁娈垫墠鑳介槻姝㈣繖绉嶉庨櫓銆傝ヨ佹眰濡備笅鎵绀猴細鍋囪惧姞杞芥暟鎹鍦ㄧ 4 涓鍛ㄦ湡鐨勫唴瀛樿块棶闃舵靛彲鐢锛屾偍闇瑕佸皢姝ゆ暟鎹鈥滆浆鍙戔濆埌绗 3 涓鍛ㄦ湡锛屽彂閫佸埌i2鐨勮В鐮侀樁娈佃緭鍑猴紙涓轰粈涔堟槸绗 3 涓鍛ㄦ湡锛熷洜涓哄湪绗 4 涓鍛ㄦ湡锛宨 灏卞凡缁忓湪鎵ц岄樁娈靛畬鎴愪簡鎵ц岋紒锛夈傛湰璐ㄤ笂锛屾偍鏄鍦ㄥ皾璇曞皢褰撳墠鏁版嵁杞鍙戝埌杩囧幓锛岄櫎闈炴偍鐨 CPU 杩涜屾椂闂存梾琛岋紝鍚﹀垯杩欐槸涓嶅彲鑳界殑锛佽繖涓嶆槸鏁版嵁杞鍙戯紝鑰屾槸鈥滄暟鎹鍥炴函鈥濄傛暟鎹杞鍙戝彧鑳芥部鏃堕棿鏂瑰悜鍚戝墠杩涜屻傝繖绉嶆暟鎹椋庨櫓绉颁负娴佹按绾夸簰閿侊紙Pipeline Interlock锛夈傝В鍐宠繖涓闂棰樼殑鍞涓鏂规硶鏄锛屽湪妫娴嬪埌鏁版嵁渚濊禆鎬ф椂鎻掑叆涓涓姘旀场锛屼娇娴佹按绾挎殏鍋滀竴涓鏃堕挓鍛ㄦ湡銆傚湪 i1鍜宨2涔嬮棿鎻掑叆浜 NOP 鎸囦护锛堝張绉 Bubble锛夈傝繖浼氬皢i2寤惰繜涓涓鍛ㄦ湡锛屽洜姝ゆ暟鎹杞鍙戠幇鍦ㄥ彲浠ュ皢鍔犺浇鏁版嵁浠庡唴瀛樿块棶闃舵佃浆鍙戝埌瑙g爜闃舵电殑杈撳嚭銆傚埌鐩鍓嶄负姝锛屾垜浠鍙璁ㄨ轰簡濡備綍缂撹В RAW 鏁版嵁椋庨櫓銆傞偅涔堬紝WAW 鍜 WAR 椋庨櫓鍙堝備綍鍛锛烺ISC-V 鏋舵瀯鏈韬灏卞叿澶囨姷鎶楁湁搴忔祦姘寸嚎瀹炵幇鐨 WAW 鍜 WAR 椋庨櫓鐨勮兘鍔涳紒鎵鏈夊瘎瀛樺櫒鐨勫啓鍥為兘鎸夌収鎸囦护鍙戝嚭鐨勯『搴忚繘琛屻傚啓鍥炵殑鏁版嵁鎬绘槸浼氳鍚庣画鍐欏叆鍚屼竴瀵勫瓨鍣ㄧ殑鎸囦护瑕嗙洊銆傚洜姝わ紝WAW 椋庨櫓姘歌繙涓嶄細鍙戠敓锛佸啓鍥炴槸娴佹按绾跨殑鏈鍚庝竴涓闃舵点傚綋鍐欏洖鍙戠敓鏃讹紝璇诲彇鎸囦护宸茬粡鎴愬姛瀹屾垚浜嗗硅緝鏃ф暟鎹鐨勬墽琛屻傚洜姝わ紝WAR 椋庨櫓姘歌繙涓嶄細鍙戠敓锛佷负浜嗙紦瑙 Pequeno 涓鐨 RAW 鏁版嵁椋庨櫓锛屾垜浠灏嗕娇鐢ㄦ祦姘寸嚎浜掗攣淇濇姢鍔熻兘纭浠跺疄鐜版暟鎹杞鍙戙傛洿澶氱粏鑺傚皢鍦ㄥ悗鏂囨彮鏅擄紝灞婃椂鎴戜滑灏嗗湪鍏朵腑璁捐℃暟鎹杞鍙戦昏緫銆傛垜浠鐞嗚В骞跺垎鏋愪簡鐜版湁 CPU 鏋舵瀯涓鍙鑳藉艰嚧鎸囦护鎵ц屽け璐ョ殑鍚勭嶆綔鍦ㄦ祦姘寸嚎椋庨櫓銆傛垜浠杩樿捐′簡瑙e喅鏂规堝拰鏈哄埗鏉ョ紦瑙h繖浜涢庨櫓銆傝╂垜浠鏁村悎蹇呰佺殑寰鏋舵瀯锛屽苟鏈缁堣捐″嚭 Pequeno RISC-V CPU 鐨勬灦鏋勶紝浣垮叾瀹屽叏鏉滅粷鎵鏈夌被鍨嬬殑娴佹按绾块庨櫓锛佸湪鎺ヤ笅鏉ョ殑鏂囩珷涓锛屾垜浠灏嗘繁鍏ユ帰璁ㄦ瘡涓娴佹按绾块樁娈-鍔熻兘鍗曞厓鐨 RTL 璁捐°傛垜浠灏嗚ㄨ鸿捐¢樁娈典腑涓嶅悓鐨勫井鏋舵瀯鍐崇瓥鍜屾寫鎴樸傝幏鍙栧崟鍏冧粠杩欓噷寮濮嬶紝鎴戜滑寮濮嬫繁鍏ユ帰璁ㄥ井鏋舵瀯鍜 RTL 璁捐′簡锛佸湪鏈绔犱腑锛屾垜浠灏嗘瀯寤哄拰璁捐Pequeno 鐨凢etch Unit (FU) 銆傚彇鎸囧崟鍏 (FU) 鏄 CPU 娴佹按绾跨殑绗涓闃舵碉紝鐢ㄤ簬涓庢寚浠ゅ瓨鍌ㄥ櫒浜や簰銆傚彇鎸囧崟鍏 (FU) 浠庢寚浠ゅ瓨鍌ㄥ櫒涓鍙栨寚锛屽苟灏嗗彇鎸囩殑鎸囦护鍙戦佸埌璇戠爜鍗曞厓 (DU) 銆傛e傚墠鏂囦腑 Pequeno 鐨勬敼杩涙灦鏋勬墍璁ㄨ虹殑閭f牱锛孎U 鍖呭惈鍒嗘敮棰勬祴閫昏緫鍜屽埛鏂版敮鎸併1鎺ュ彛璁╂垜浠瀹氫箟 Fetch Unit 鐨勬帴鍙o細2鎸囦护璁块棶鎺ュ彛CPU 涓 FU 鐨勬牳蹇冨姛鑳芥槸鎸囦护璁块棶銆傛寚浠よ块棶鎺ュ彛 (Instruction Access锛欼-F)鍗崇敤浜庢ょ洰鐨勩傛寚浠ゅ湪鎵ц屾湡闂村瓨鍌ㄥ湪鎸囦护瀛樺偍鍣 (RAM) 涓銆傜幇浠 CPU 浠庨珮閫熺紦瀛 (Cache) 涓鑾峰彇鎸囦护锛岃屼笉鏄鐩存帴浠庢寚浠ゅ瓨鍌ㄥ櫒涓鑾峰彇銆傛寚浠ょ紦瀛橈紙鍦ㄨ$畻鏈烘灦鏋勬湳璇涓绉颁负涓荤紦瀛樻垨L1 缂撳瓨锛夋洿闈犺繎 CPU锛岄氳繃缂撳瓨-瀛樺偍棰戠箒璁块棶鐨勬寚浠ゅ苟鍦ㄩ檮杩戦勫彇杈冨ぇ鍧楃殑鎸囦护锛屽疄鐜版洿蹇鐨勬寚浠よ块棶銆傚洜姝わ紝鏃犻渶鎸佺画璁块棶閫熷害杈冩參鐨勪富瀛樺偍鍣 (RAM)銆傚洜姝わ紝澶у氭暟鎸囦护閮藉彲浠ョ洿鎺ヤ粠缂撳瓨涓蹇閫熻块棶銆侰PU 涓嶄細鐩存帴璁块棶甯︽湁鎸囦护缂撳瓨-鍐呭瓨鐨勬帴鍙c傚畠浠涔嬮棿浼氭湁涓涓缂撳瓨-鍐呭瓨鎺у埗鍣ㄦ潵鎺у埗瀹冧滑涔嬮棿鐨勫唴瀛樿块棶銆傚畾涔変竴涓鏍囧噯鎺ュ彛鏄涓涓濂戒富鎰忥紝杩欐牱浠讳綍鏍囧噯鎸囦护瀛樺偍鍣-缂撳瓨 (IMEM) 閮藉彲浠ヨ交鏉惧湴鎻掑叆鍒版垜浠鐨 CPU 涓锛屽苟涓斿彧闇鏋佸皯鐨勮兌鍚堥昏緫鐢氳嚦鏃犻渶鑳跺悎閫昏緫銆傝╂垜浠瀹氫箟涓や釜鐢ㄤ簬鎸囦护璁块棶鐨勬帴鍙c傝锋眰鎺ュ彛 (I-F )澶勭悊浠庢寚浠ゅ瓨鍌ㄥ櫒 (FU) 鍒版寚浠ゅ瓨鍌ㄥ櫒鐨勮锋眰銆傚搷搴旀帴鍙 (I-F)澶勭悊浠庢寚浠ゅ瓨鍌ㄥ櫒鍒版寚浠ゅ瓨鍌ㄥ櫒 (FU) 鐨勫搷搴斻傛垜浠灏嗕负鎸囦护瀛樺偍鍣 (FU) 瀹氫箟涓涓绠鍗曠殑鍩轰簬鏈夋晥灏辩华鐨勮锋眰鍜屽搷搴旀帴鍙 (I-F)锛屽洜涓哄傛灉闇瑕侊紝杩欏緢瀹规槗杞鎹涓 APB銆丄XI 绛夋荤嚎鍗忚銆傛寚浠よ块棶闇瑕佺煡閬撴寚浠ゅ湪鍐呭瓨涓鐨勫湴鍧銆傞氳繃璇锋眰鎺ュ彛 (Request I-F) 璇锋眰鐨勫湴鍧瀹為檯涓婂氨鏄 FU 鐢熸垚鐨 PC銆傚湪 FU 鎺ュ彛涓锛屾垜浠灏嗕娇鐢ㄦ殏鍋滀俊鍙 (stall signal) 鏉ヤ唬鏇垮氨缁淇″彿锛屽叾琛屼负涓庡氨缁淇″彿鐩稿弽銆傜紦瀛樻帶鍒跺櫒閫氬父鏈変竴涓鏆傚仠淇″彿鏉ユ殏鍋滄潵鑷澶勭悊鍣ㄧ殑璇锋眰銆傝ヤ俊鍙风敱cpu_stall琛ㄧず銆傛潵鑷鍐呭瓨鐨勫搷搴旀槸閫氳繃鍝嶅簲鎺ュ彛 (Response I-F) 鎺ユ敹鍒扮殑宸插彇鎸囦护銆傞櫎浜嗗凡鍙栨寚浠や箣澶栵紝鍝嶅簲杩樺簲鍖呭惈鐩稿簲鐨 PC銆侾C 鐢ㄤ綔 ID锛岀敤浜庤瘑鍒宸叉敹鍒板搷搴旂殑璇锋眰銆傛崲鍙ヨ瘽璇达紝瀹冩寚绀哄凡鍙栨寚浠ょ殑鍦板潃銆傝繖鏄 CPU 娴佹按绾夸笅涓闃舵垫墍闇鐨勯噸瑕佷俊鎭锛堝備綍瀹炵幇锛熸垜浠寰堝揩灏变細鐪嬪埌锛 锛夈傚洜姝わ紝宸插彇鎸囦护鍙婂叾 PC 鏋勬垚浜嗗 FU 鐨勫搷搴旀暟鎹鍖呫傚綋鍐呴儴娴佹按绾挎殏鍋滄椂锛孋PU 鍙鑳借繕闇瑕佹殏鍋滄潵鑷鎸囦护鍐呭瓨鐨勫搷搴斻傝ヤ俊鍙风敱mem_stall琛ㄧず銆傛ゆ椂锛岃╂垜浠瀹氫箟CPU 绠¢亾涓鐨 instruction packet= {instruction, PC}銆3PC 鐢熸垚閫昏緫FU 鐨勬牳蹇冩槸鎺у埗璇锋眰鎺ュ彛 (I-F) 鐨 PC 鐢熸垚閫昏緫銆傜敱浜庢垜浠璁捐$殑鏄 32 浣 CPU锛屽洜姝 PC 鐨勭敓鎴愬簲璇ヤ互 4 涓哄為噺銆傝ラ昏緫澶嶄綅鍚庯紝姣忎釜鏃堕挓鍛ㄦ湡閮戒細鐢熸垚 PC銆侾C 鐨勫嶄綅鍊煎彲浠ョ‖缂栫爜銆傝繖鏄 CPU 澶嶄綅鍚庝粠涓鑾峰彇骞舵墽琛屾寚浠ょ殑鍦板潃锛屽嵆鍐呭瓨涓绗涓鏉℃寚浠ょ殑鍦板潃銆侾C 鐢熸垚鏄鑷鐢辫繍琛岀殑閫昏緫锛屼粎鐢 c pu_stall鏆傚仠銆傝嚜鐢辫繍琛岀殑PC鍙浠ラ氳繃鍒锋柊I-F鍜屽唴閮ㄥ垎鏀棰勬祴閫昏緫鏉ョ粫杩囥侾C鐢熸垚绠楁硶瀹炵幇濡備笅锛4鎸囦护缂撳啿鍣‵U 鍐呴儴鏈変袱涓鑳岄潬鑳岀殑鎸囦护缂撳啿鍖恒傜紦鍐插尯 1缂撳啿浠庢寚浠ゅ瓨鍌ㄥ櫒涓鑾峰彇鐨勬寚浠ゃ傜紦鍐插尯 1 鍙浠ョ洿鎺ヨ块棶鍝嶅簲鎺ュ彛 (Response I-F)銆傜紦鍐插尯 2缂撳啿鏉ヨ嚜缂撳啿鍖 1 鐨勬寚浠わ紝鐒跺悗閫氳繃 DU I-F 灏嗗叾鍙戦佸埌 DU銆傝繖涓や釜缂撳啿鍖烘瀯鎴愪簡 FU 鍐呴儴鐨勬寚浠ゆ祦姘寸嚎銆5鍒嗘敮棰勬祴閫昏緫姝e備笂鏂囨墍璁ㄨ虹殑锛屾垜浠蹇呴』鍦 FU 涓娣诲姞鍒嗘敮棰勬祴閫昏緫鏉ョ紦瑙f帶鍒堕庨櫓銆傛垜浠灏嗗疄鐜颁竴涓绠鍗曚笖闈欐佺殑鍒嗘敮棰勬祴绠楁硶銆傝ョ畻娉曠殑涓昏佸唴瀹瑰備笅锛氭绘槸浼氳繘琛屾棤鏉′欢璺宠浆銆傚傛灉鍒嗘敮鎸囦护鏄鍚戝悗璺宠浆锛屽垯鎵ц屽垎鏀銆傚洜涓哄彲鑳芥у備笅锛1銆佽繖鏉℃寚浠ゅ彲鑳芥槸鏌愪簺do-while 寰鐜鐨勫惊鐜閫鍑烘鏌ョ殑涓閮ㄥ垎銆傚湪杩欑嶆儏鍐典笅锛屽傛灉鎴戜滑鎵ц屽垎鏀鎸囦护锛屽垯姝g‘鐨勬傜巼鏇撮珮銆傚傛灉鍒嗘敮鎸囦护鏄鍚戝墠璺宠浆锛屽垯涓嶈佹墽琛屽畠銆傚洜涓哄彲鑳芥у備笅锛2銆佽繖鏉℃寚浠ゅ彲鑳芥槸鏌愪簺for 寰鐜鎴杦hile 寰鐜鐨勫惊鐜鍏ュ彛妫鏌ョ殑涓閮ㄥ垎銆傚傛灉鎴戜滑涓嶆墽琛屽垎鏀骞剁户缁鎵ц屼笅涓鏉℃寚浠わ紝鍒欐g‘鐨勬傜巼鏇撮珮銆3銆佽繖鏉℃寚浠ゅ彲鑳芥槸鏌愪釜if-else璇鍙ョ殑涓閮ㄥ垎銆傚湪杩欑嶆儏鍐典笅锛屾垜浠鎬绘槸鍋囪緄f鏉′欢涓虹湡锛屽苟缁х画鎵ц屼笅涓鏉℃寚浠ゃ傜悊璁轰笂锛岃繖绗斾氦鏄擄紙bargain锛夋湁50%鏄姝g‘鐨勩傜紦鍐插尯 1 鐨勬寚浠ゅ寘鐢卞垎鏀棰勬祴閫昏緫鐩戞帶鍜屽垎鏋愶紝骞剁敓鎴愬垎鏀棰勬祴淇″彿锛歜ranch_taken銆傝ュ垎鏀棰勬祴淇″彿闅忓悗琚娉ㄥ唽锛屽苟涓庡彂閫佺粰 DU 鐨勬寚浠ゅ寘鍚屾ヤ紶杈撱傚垎鏀棰勬祴淇″彿閫氳繃 DU 鎺ュ彛鍙戦佺粰 DU銆6DU杩欐槸鑾峰彇鍗曞厓鍜岃В鐮佸崟鍏冧箣闂寸敤浜庡彂閫佹湁鏁堣浇鑽风殑涓昏佹帴鍙c傛湁鏁堣浇鑽峰寘鍚鑾峰彇鐨勬寚浠ゅ拰鍒嗘敮棰勬祴淇℃伅銆傜敱浜庤繖鏄疌PU涓や釜娴佹按绾块樁娈典箣闂寸殑鎺ュ彛锛屽洜姝ゅ疄鐜颁簡鏈夋晥灏辩华I-F銆備互涓嬩俊鍙锋瀯鎴愪簡DU I-F锛氬湪涔嬪墠鐨勫崥鏂囦腑锛屾垜浠璁ㄨ轰簡 CPU 娴佹按绾夸腑鍋滈】鍜屽埛鏂扮殑姒傚康鍙婂叾閲嶈佹с傛垜浠杩樿ㄨ轰簡 Pequeno 鏋舵瀯涓闇瑕佸仠椤挎垨鍒锋柊鐨勫悇绉嶅満鏅銆傚洜姝わ紝蹇呴』鍦 CPU 鐨勬瘡涓娴佹按绾块樁娈典腑闆嗘垚閫傚綋鐨勫仠椤垮拰鍒锋柊閫昏緫銆傜‘瀹氬湪鍝涓闃舵甸渶瑕佸仠椤挎垨鍒锋柊鑷冲叧閲嶈侊紝浠ュ強璇ラ樁娈典腑鍝浜涢昏緫閮ㄥ垎闇瑕佸仠椤垮拰鍒锋柊銆傚湪瀹炴柦鍋滈】鍜屽埛鏂伴昏緫涔嬪墠鐨勪竴浜涘垵姝ユ兂娉曪細娴佹按绾块樁娈靛彲鑳戒細鍥犲栭儴鎴栧唴閮ㄤ骇鐢熺殑鏉′欢鑰屽仠姝銆傜¢亾闃舵靛彲浠ラ氳繃澶栭儴鎴栧唴閮ㄧ敓鎴愮殑鏉′欢杩涜屽埛鏂般侾equeno 涓娌℃湁闆嗕腑寮忕殑鍋滈】鎴栧埛鏂扮敓鎴愰昏緫銆傛瘡涓闃舵靛彲鑳介兘鏈夎嚜宸辩殑鍋滈】鍜屽埛鏂扮敓鎴愰昏緫銆傛祦姘寸嚎涓涓涓闃舵靛彧鑳借涓嬩竴涓闃舵垫墍闃诲炪備换浣曢樁娈电殑闃诲炴渶缁堥兘浼氬奖鍝嶆祦姘寸嚎鐨勪笂娓革紝骞跺艰嚧鏁翠釜娴佹按绾块樆濉炪備笅娓告祦姘寸嚎涓鐨勪换浣曚竴涓闃舵甸兘鍙浠ュ埛鏂版煇涓闃舵点傝繖琚绉颁负娴佹按绾垮埛鏂帮紝鍥犱负涓婃父鐨勬暣涓娴佹按绾块兘闇瑕佸悓鏃跺埛鏂般傚湪 Pequeno 涓锛屽彧鏈夋墽琛屽崟鍏 (EXU)涓鐨勫垎鏀鏈鍛戒腑鎵嶉渶瑕佽繘琛屾祦姘寸嚎鍒锋柊銆傚仠椤块昏緫鍖呭惈浜х敓鏈鍦板拰澶栭儴鍋滈】鐨勯昏緫銆傚埛鏂伴昏緫鍖呭惈浜х敓鏈鍦板拰娴佹按绾垮埛鏂扮殑閫昏緫銆傛湰鍦板仠椤垮湪鍐呴儴浜х敓锛屽苟鍦ㄦ湰鍦扮敤浜庡仠姝㈠綋鍓嶉樁娈电殑杩愯屻傚栭儴鍋滈】鍦ㄥ唴閮ㄤ骇鐢燂紝骞堕氳繃澶栭儴鍙戦佸埌涓婃父娴佹按绾跨殑涓嬩竴绾с傛湰鍦板拰澶栭儴鍋滈】鍧囧熀浜庡唴閮ㄦ潯浠朵互鍙婁笅娓告祦姘寸嚎涓嬩竴绾х殑澶栭儴鍋滈】鑰屼骇鐢熴傛湰鍦板埛鏂 (Local flush)鏄鎸囧湪鍐呴儴鐢熸垚骞剁敤浜庢湰鍦板埛鏂伴樁娈电殑鍒锋柊銆傚栭儴鍒锋柊鎴栫¢亾鍒锋柊 (Pipeline flush)鏄鎸囧湪鍐呴儴鐢熸垚骞跺彂閫佸埌澶栭儴涓婃父绠¢亾鐨勫埛鏂般傝繖浼氬悓鏃跺埛鏂颁笂娓哥殑鎵鏈夐樁娈点傛湰鍦板埛鏂板拰澶栭儴鍒锋柊鍧囧熀浜庡唴閮ㄦ潯浠剁敓鎴愩傚彧鏈 DU 鍙浠ヤ粠澶栭儴鍋滄 FU 鐨勮繍琛屻傚綋 DU 缃浣嶅仠椤挎椂锛孎U 鐨勫唴閮ㄦ寚浠ゆ祦姘寸嚎锛堢紦鍐插尯 1 鈥> 缂撳啿鍖 2锛夊簲绔嬪嵆鍋滄锛屽苟涓旂敱浜 FU 鏃犳硶鍐嶆帴鏀舵潵鑷 IMEM 鐨勬暟鎹鍖咃紝瀹冭繕搴斿悜 IMEM 缃浣峬em_stall 銆傛牴鎹 IMEM 涓鐨勬祦姘寸嚎-缂撳啿娣卞害锛孭C 鐢熸垚閫昏緫鏈缁堜篃鍙鑳借鏉ヨ嚜 IMEM 鐨刢pu_stall鍋滄锛屽洜涓 IMEM 鏃犳硶鍐嶆帴鏀朵换浣曡锋眰銆侳U 涓涓嶅瓨鍦ㄥ艰嚧鏈鍦板仠椤跨殑鍐呴儴鏉′欢銆傚彧鏈 EXU 鍙浠ュ栭儴鍒锋柊 FU銆侲XU 浼氬湪 CPU 鎸囦护娴佹按绾夸腑鍚鍔╞ranch_flush 鍑芥暟锛屽苟浼犲叆鍒锋柊娴佹按绾垮悗瑕佽幏鍙栫殑涓嬩竴鏉℃寚浠ょ殑鍦板潃 ( branch_pc )銆侳U 鎻愪緵浜嗗埛鏂版帴鍙 (Flush I-F)锛屼互渚挎帴鍙楀栭儴鍒锋柊銆侳U 涓鐨勭紦鍐插尯 1銆佺紦鍐插尯 2 鍜 PC 鐢熸垚閫昏緫閫氳繃branch_flush鍒锋柊銆傛潵鑷鍒嗘敮棰勬祴閫昏緫鐨勪俊鍙穊ranch_taken涔熷厖褰撲簡瀵圭紦鍐插尯 1 鍜 PC 鐢熸垚閫昏緫鐨勬湰鍦板埛鏂般傚傛灉鍒嗘敮琚閲囩敤锛氫笅涓鏉℃寚浠ゅ簲浠庡垎鏀棰勬祴鐨 PC 涓鑾峰彇銆傚洜姝わ紝PC 鐢熸垚閫昏緫搴旇鍒锋柊锛屽苟涓斾笅涓鏉 PC 搴 = branch_pc銆傜紦鍐插尯 1 涓鐨勪笅涓鏉℃寚浠ゅ簲琚鍒锋柊骞朵娇鍏舵棤鏁堬紝鍗虫彃鍏 NOP-bubble銆傚囨涓轰粈涔 Buffer-2 娌℃湁琚玝ranch_taken鍒锋柊锛熷洜涓烘潵鑷 Buffer-1 鐨勫垎鏀鎸囦护锛堣礋璐e埛鏂扮敓鎴愶級搴旇ュ湪涓嬩竴涓鏃堕挓鍛ㄦ湡缂撳啿鍒 Buffer-2锛屽苟鍏佽稿叾鍦ㄦ祦姘寸嚎涓缁х画鎵ц屻傝繖鏉℃寚浠や笉搴旇ヨ鍒锋柊锛佹寚浠ゅ唴瀛樻祦姘寸嚎涔熷簲璇ヨ繘琛岄傚綋鐨勫埛鏂般侷MEM 鍒锋柊mem_flush鐢眀ranch_flush鍜宐ranch_taken鐢熸垚銆傝╂垜浠鏁村悎鐩鍓嶄负姝㈣捐$殑鎵鏈夊井鏋舵瀯锛屼互瀹屾垚 Fetch Unit 鐨勬灦鏋勩傚ソ浜嗭紝鍚勪綅锛佹垜浠宸茬粡鎴愬姛璁捐″嚭Pequeno鐨凢etch Unit浜嗐傚湪鎺ヤ笅鏉ョ殑閮ㄥ垎涓锛屾垜浠灏嗚捐Pequeno 鐨勮В鐮佸崟鍏冿紙DU锛欴ecode Unit锛夈傝В鐮佸崟鍏冭В鐮佸崟鍏冿紙DU锛夋槸 CPU 娴佹按绾跨殑绗浜岄樁娈碉紝璐熻矗灏嗘潵鑷鍙栨寚鍗曞厓锛團U锛夌殑鎸囦护璇戠爜锛屽苟閫佽嚦鎵ц屽崟鍏冿紙EXU锛夈傛ゅ栵紝瀹冭繕璐熻矗灏嗗瘎瀛樺櫒鍦板潃璇戠爜锛屽苟閫佽嚦瀵勫瓨鍣ㄦ枃浠惰繘琛屽瘎瀛樺櫒璇绘搷浣溿傝╂垜浠瀹氫箟瑙g爜鍗曞厓鐨勬帴鍙c傚叾涓锛孎U鎺ュ彛鏄鑾峰彇鍗曞厓鍜岃В鐮佸崟鍏冧箣闂存帴鏀舵湁鏁堣浇鑽风殑涓昏佹帴鍙c傛湁鏁堣浇鑽峰寘鍚鑾峰彇鐨勬寚浠ゅ拰鍒嗘敮棰勬祴淇℃伅銆傛ゆ帴鍙e凡鍦ㄤ笂涓閮ㄥ垎璁ㄨ鸿繃銆侲XU鎺ュ彛鏄瑙g爜鍗曞厓鍜屾墽琛屽崟鍏冧箣闂村彂閫佹湁鏁堣浇鑽风殑涓昏佹帴鍙c傛湁鏁堣浇鑽峰寘鎷瑙g爜鍚庣殑鎸囦护銆佸垎鏀棰勬祴淇℃伅鍜岃В鐮佹暟鎹銆備互涓嬫槸鏋勬垚 EXU I-F 鐨勬寚浠ゅ拰鍒嗘敮棰勬祴淇″彿锛氳В鐮佹暟鎹鏄 DU 浠庤幏鍙栫殑鎸囦护涓瑙g爜骞跺彂閫佸埌 EXU 鐨勯噸瑕佷俊鎭銆傝╂垜浠鏉ヤ簡瑙d竴涓 EXU 鎵ц屼竴鏉℃寚浠ら渶瑕佸摢浜涗俊鎭銆侽pcode銆乫unct3銆乫unct7锛氭爣璇 EXU 瀵规搷浣滄暟瑕佹墽琛岀殑鎿嶄綔銆傛搷浣滄暟锛氭牴鎹鎿嶄綔鐮侊紝鎿嶄綔鏁板彲浠ユ槸瀵勫瓨鍣ㄦ暟鎹锛坮s0锛宺s1锛夛紝鐢ㄤ簬鍐欏洖鐨勫瘎瀛樺櫒鍦板潃锛坮dt锛夛紝鎴 12 浣-20 浣嶇珛鍗虫暟銆傛寚浠ょ被鍨嬶細鏍囪瘑蹇呴』澶勭悊鍝浜涙搷浣滄暟-绔嬪嵆鍊笺傝В鐮佽繃绋嬪彲鑳芥瘮杈冩樻墜銆傚傛灉鎮ㄦg‘鐞嗚В浜 ISA 鍜屾寚浠ょ粨鏋勶紝灏卞彲浠ヨ瘑鍒鍑轰笉鍚岀被鍨嬬殑鎸囦护妯″紡銆傝瘑鍒妯″紡鏈夊姪浜庤捐 DU 涓鐨勮В鐮侀昏緫銆備互涓嬩俊鎭琚瑙g爜骞堕氳繃 EXU I-F 鍙戦佸埌 EXU銆侲XU 灏嗕娇鐢ㄦや俊鎭灏嗘暟鎹瑙e嶇敤鍒伴傚綋鐨勬墽琛屽瓙鍗曞厓骞舵墽琛屾寚浠ゃ傚逛簬 R 鍨嬫寚浠わ紝蹇呴』瑙g爜骞惰诲彇婧愬瘎瀛樺櫒rs1鍜宺s2 銆備粠瀵勫瓨鍣ㄨ诲彇鐨勬暟鎹鍗充负鎿嶄綔鏁般傛墍鏈夐氱敤鐢ㄦ埛瀵勫瓨鍣ㄩ兘浣嶄簬 DU 澶栭儴鐨勫瘎瀛樺櫒鍫嗕腑銆侱U 浣跨敤瀵勫瓨鍣ㄥ爢鎺ュ彛灏唕s0鍜宺s1 鐨勫湴鍧鍙戦佸埌瀵勫瓨鍣ㄥ爢杩涜屽瘎瀛樺櫒璁块棶銆備粠瀵勫瓨鍣ㄥ爢璇诲彇鐨勬暟鎹涔熷簲涓庢湁鏁堣浇鑽蜂竴璧峰湪鍚屼竴鏃堕挓鍛ㄦ湡鍐呭彂閫佸埌 EXU銆傚瘎瀛樺櫒鏂囦欢璇诲彇瀵勫瓨鍣ㄩ渶瑕佷竴涓鍛ㄦ湡銆侱U 涔熼渶瑕佷竴涓鍛ㄦ湡鏉ュ瘎瀛樿佸彂閫佸埌 EXU 鐨勬湁鏁堣浇鑽枫傚洜姝わ紝婧愬瘎瀛樺櫒鍦板潃鐢辩粍鍚堥昏緫鐩存帴浠 FU 鎸囦护鍖呰В鐮併傝繖纭淇濅簡 1) 浠 DU 鍒 EXU 鐨勬湁鏁堣浇鑽峰拰 2) 浠庡瘎瀛樺櫒鏂囦欢鍒 EXU 鐨勬暟鎹鐨勬椂搴忓悓姝ャ傚彧鏈 EXU 鍙浠ヤ粠澶栭儴鍋滄 DU 鐨勮繍琛屻傚綋 EXU 缃浣嶅仠姝㈡椂锛孌U 鐨勫唴閮ㄦ寚浠ゆ祦姘寸嚎搴旂珛鍗冲仠姝锛屽苟涓旂敱浜庢棤娉曞啀鎺ユ敹鏉ヨ嚜 FU 鐨勬暟鎹鍖咃紝瀹冭繕搴斿悜 FU 缃浣嶅仠姝銆備负浜嗗疄鐜板悓姝ユ搷浣滐紝瀵勫瓨鍣ㄦ枃浠跺簲涓 DU 涓璧峰仠姝锛屽洜涓哄畠浠閮戒綅浜 CPU 浜旂骇娴佹按绾跨殑鍚屼竴绾с傚洜姝わ紝DU 灏嗗栭儴鍋滄浠 EXU 鍙嶉堝埌瀵勫瓨鍣ㄦ枃浠躲侱U 鍐呴儴涓嶅瓨鍦ㄥ艰嚧鏈鍦板仠姝㈢殑鎯呭喌銆傚彧鏈 EXU 鍙浠ュ栭儴鍒锋柊 FU銆侲XU 浼氬湪 CPU 鎸囦护娴佹按绾夸腑鍚鍔╞ranch_flush 鍑芥暟锛屽苟浼犲叆鍒锋柊娴佹按绾垮悗瑕佽幏鍙栫殑涓嬩竴鏉℃寚浠ょ殑鍦板潃 ( branch_pc )銆侱U 鎻愪緵浜嗗埛鏂版帴鍙 (Flush I-F)锛屼互渚挎帴鍙楀栭儴鍒锋柊銆傚唴閮ㄦ祦姘寸嚎鐢眀ranch_flush鍒锋柊銆傛潵鑷 EXU 鐨刡ranch_flush搴旇ョ珛鍗充娇鎸囧悜 EXU 鐨 DU 鎸囦护鏃犳晥锛屼笖寤惰繜鏃堕棿涓 0 涓鏃堕挓鍛ㄦ湡銆傝繖鏄涓轰簡閬垮厤鍦ㄤ笅涓涓鏃堕挓鍛ㄦ湡 EXU 涓鍑虹幇娼滃湪鐨勬帶鍒堕庨櫓銆傚湪鍙栨寚鍗曞厓 (Fetch Unit) 鐨勮捐′腑锛屾垜浠娌℃湁鍦ㄦ敹鍒癰ranch_flush 鎸囦护鍚庯紝浠 0 鍛ㄦ湡寤惰繜浣 FU 鎸囦护澶辨晥銆傝繖鏄鍥犱负 DU 鍦ㄤ笅涓涓鏃堕挓鍛ㄦ湡涔熶細琚鍒锋柊锛屽洜姝 DU 涓涓嶄細鍙戠敓鎺у埗鍐掗櫓 (control hazard)銆傛墍浠ワ紝娌℃湁蹇呰佷娇 FU 鎸囦护澶辨晥銆傚悓鏍风殑鎬濊矾涔熼傜敤浜庝粠 IMEM 鍒 FU 鐨勬寚浠ゃ備笂杩版祦绋嬪浘灞曠ず浜嗘潵鑷 FU 鐨勬寚浠ゅ寘鍜屽垎鏀棰勬祴鏁版嵁濡備綍鍦ㄦ寚浠ゆ祦姘寸嚎鐨 DU 涓杩涜岀紦鍐层侱U 涓浠呬娇鐢ㄥ崟绾х紦鍐层傝╂垜浠鏁村悎杩勪粖涓烘㈣捐$殑鎵鏈夊井鏋舵瀯锛屼互瀹屾垚瑙g爜鍗曞厓鐨勬灦鏋勩傜洰鍓嶆垜浠宸茬粡瀹屾垚浜嗭細鍙栨寚鍗曞厓锛團U锛夈佽瘧鐮佸崟鍏冿紙DU锛夈傚湪鎺ヤ笅鏉ョ殑閮ㄥ垎涓锛屾垜浠灏嗚捐Pequeno鐨勫瘎瀛樺櫒鏂囦欢銆傚瘎瀛樺櫒鏂囦欢鍦 RISC-V CPU 涓锛屽瘎瀛樺櫒鏂囦欢鏄涓涓鍏抽敭缁勪欢锛屽畠鐢变竴缁勯氱敤瀵勫瓨鍣ㄧ粍鎴愶紝鐢ㄤ簬鍦ㄦ墽琛屾湡闂村瓨鍌ㄦ暟鎹銆侾equeno CPU 鏈 32 涓 32 浣嶉氱敤瀵勫瓨鍣 ( x0 鈥 x31 )銆傚瘎瀛樺櫒x0绉颁负闆跺瘎瀛樺櫒 (zero register)銆傚畠琚纭杩炴帴鍒颁竴涓甯搁噺鍊 0锛屾彁渚涗竴涓鏈夌敤鐨勯粯璁ゅ硷紝鍙涓庡叾浠栨寚浠や竴璧蜂娇鐢ㄣ傚亣璁炬偍鎯冲皢鍙︿竴涓瀵勫瓨鍣ㄥ垵濮嬪寲涓 0锛屽彧闇鎵ц宮v x1, x0鍗冲彲銆倄1-x31鏄閫氱敤瀵勫瓨鍣锛岀敤浜庝繚瀛樹腑闂存暟鎹銆佸湴鍧鍜岀畻鏈鎴栭昏緫杩愮畻鐨勭粨鏋溿傚湪鍓嶆枃璁捐$殑 CPU 鏋舵瀯涓锛屽瘎瀛樺櫒鏂囦欢闇瑕佷袱涓璁块棶鎺ュ彛銆傚綋涓锛岃昏块棶鎺ュ彛鐢ㄤ簬璇诲彇 DU 鍙戦佸湴鍧澶勭殑瀵勫瓨鍣ㄣ傛煇浜涙寚浠わ紙渚嬪侫DD锛夐渶瑕佷袱涓婧愬瘎瀛樺櫒鎿嶄綔鏁皉s1鍜宺s2銆傚洜姝わ紝璇诲彇璁块棶鎺ュ彛 (I-F) 闇瑕佷袱涓璇诲彇绔鍙o紝浠ヤ究鍚屾椂璇诲彇涓や釜瀵勫瓨鍣ㄣ傝诲彇璁块棶搴斾负鍗曞懆鏈熻块棶锛屼互渚胯诲彇鏁版嵁涓 DU 鐨勬湁鏁堣浇鑽峰湪鍚屼竴鏃堕挓鍛ㄦ湡鍐呭彂閫佸埌 EXU銆傝繖鏍凤紝璇诲彇鏁版嵁鍜 DU 鐨勬湁鏁堣浇鑽峰湪娴佹按绾夸腑淇濇寔鍚屾ャ傚啓璁块棶鎺ュ彛鐢ㄤ簬灏嗘墽琛岀粨鏋滃啓鍥炲埌 WBU 鍙戦佸湴鍧澶勭殑瀵勫瓨鍣ㄣ傛墽琛岀粨鏉熸椂浠呭啓鍏ヤ竴涓鐩鏍囧瘎瀛樺櫒rdt 銆傚洜姝わ紝涓涓鍐欏叆绔鍙e氨瓒冲熶簡銆傚啓鍏ヨ块棶搴斾负鍗曞懆鏈熻块棶銆傜敱浜 DU 鍜屽瘎瀛樺櫒鏂囦欢闇瑕佸湪娴佹按绾跨殑鍚屼竴闃舵典繚鎸佸悓姝ワ紝鍥犳ゅ畠浠搴旇ュ嬬粓涓璧峰仠姝锛堜负浠涔堬紵璇锋煡鐪嬩笂涓閮ㄥ垎鐨勬嗗浘锛侊級銆備緥濡傦紝濡傛灉 DU 鍋滄锛屽瘎瀛樺櫒鏂囦欢涓嶅簲灏嗚诲彇鏁版嵁杈撳嚭鍒 EXU锛屽洜涓鸿繖浼氭崯鍧忔祦姘寸嚎銆傚湪杩欑嶆儏鍐典笅锛屽瘎瀛樺櫒鏂囦欢涔熷簲璇ュ仠姝銆傝繖鍙浠ラ氳繃灏 DU 鐨勫仠姝淇″彿鍙嶈浆鐢熸垚瀵勫瓨鍣ㄦ枃浠剁殑read_enable鏉ョ‘淇濄傚綋鍋滄㈡湁鏁堟椂锛宺ead_enable琚椹卞姩涓轰綆鐢靛钩锛屽厛鍓嶇殑鏁版嵁灏嗕繚鐣欏湪璇诲彇鏁版嵁杈撳嚭绔锛屼粠鑰屾湁鏁堝湴鍋滄㈠瘎瀛樺櫒鏂囦欢鎿嶄綔銆傜敱浜庡瘎瀛樺櫒鏂囦欢涓嶅悜EXU鍙戦佷换浣曟寚浠ゅ寘锛屽洜姝ゅ畠涓嶉渶瑕佷换浣曞埛鏂伴昏緫銆傚埛鏂伴昏緫鍙闇鍦―U鍐呴儴澶勭悊銆傛昏岃█涔嬶紝瀵勫瓨鍣ㄦ枃浠惰捐℃湁涓や釜鐙绔嬬殑璇诲彇绔鍙e拰涓涓鍐欏叆绔鍙c傝诲啓璁块棶鍧囦负鍗曞懆鏈熴傝诲彇鐨勬暟鎹浼氳瀵勫瓨銆傛渶缁堟灦鏋勫備笅锛氱洰鍓嶆垜浠宸茬粡瀹屾垚浜嗭細鍙栨寚鍗曞厓锛團U锛夈佽瘧鐮佸崟鍏冿紙DU锛夈佸瘎瀛樺櫒鏂囦欢銆傚悗缁閮ㄥ垎锛屾暚璇锋湡寰呫傚弬鑰冮摼鎺
https:--chipmunklogic.com-digital-logic-design-designing-pequeno-risc-v-cpu-from-scratch-part-1-getting-hold-of-the-isa-END馃憞鍗婂间綋绮惧搧鍏浼楀彿鎺ㄨ崘馃憞鈻茬偣鍑讳笂鏂瑰悕鐗囧嵆鍙鍏虫敞涓撴敞鍗婂间綋棰嗗煙鏇村氬師鍒涘唴瀹光柌鐐瑰嚮涓婃柟鍚嶇墖鍗冲彲鍏虫敞鍏虫敞鍏ㄧ悆鍗婂间綋浜т笟鍔ㄥ悜涓庤秼鍔*鍏嶈矗澹版槑锛氭湰鏂囩敱浣滆呭師鍒涖傛枃绔犲唴瀹圭郴浣滆呬釜浜鸿傜偣锛屽崐瀵间綋琛屼笟瑙傚療杞杞戒粎涓轰簡浼犺揪涓绉嶄笉鍚岀殑瑙傜偣锛屼笉浠h〃鍗婂间綋琛屼笟瑙傚療瀵硅ヨ傜偣璧炲悓鎴栨敮鎸侊紝濡傛灉鏈変换浣曞紓璁锛屾㈣繋鑱旂郴鍗婂间綋琛屼笟瑙傚療銆備粖澶╂槸銆婂崐瀵间綋琛屼笟瑙傚療銆嬩负鎮ㄥ垎浜鐨勭4030鏈熷唴瀹癸紝娆㈣繋鍏虫敞銆傘庡崐瀵间綋绗涓鍨傜洿濯掍綋銆忓疄鏃 涓撲笟 鍘熷垱 娣卞害鍏浼楀彿ID锛歩cbank
猜你喜欢
- 2025-05-16 中科院开源 RISC-V 处理器“香山”流片,已成功运行 Linux
- 2025-05-16 从零开始,耗时两年,19岁小伙自制32位Risc-V处理器,可玩贪吃蛇
- 2025-05-16 乐鑫ESP32-C5全面量产:行业首款双频Wi-Fi 6的RISC-V SoC
- 2025-05-16 DC-ROMA RISC-V AI PC登场:AI算力50 TOPS,运行Ubuntu发行版
- 2025-05-16 RISC-V并不完美?
- 2025-05-16 全球首款RISC-V机械臂来了,软硬件全面开源
- 2024-08-27 对标Arm N2,SiFive推出RISC-V数据中心CPU设计P870-D
- 2024-08-27 推进RISC-V智慧交通场景应用,“RISC
- 2024-08-27 赛昉推出64位极低功耗乱序RISC-V CPU内核IP昉?天枢-70
- 2024-08-27 多名前英特尔CPU架构师成立RISC-V初创公司AheadComputing
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)