1. 程式人生 > >cpu怎麼知道(判斷)一條指令有多少個位元組?

cpu怎麼知道(判斷)一條指令有多少個位元組?

指令譯碼一般有幾個過程(部件):指令預取、指令預分析(預解碼)、解碼。預取是從cache或者記憶體取一系列的位元組(大小可以保證至少包含一條指令),並設定一個待分析的位置,預分析從此位置逐位元組分析,如果是字首就設定分析狀態(因為字首可能改變預設地址尺寸和運算元的大小,影響後續指令長度),直到不是字首,就認為是操作碼,x86的op code長度一般為1位元組,某些2位元組,查表就可以直接找出指令長度了。