Note that in the 64-bit CPU pictured above, the width of the code stream has not changed; the same-sized opcode could theoretically represent an instruction that operates on 32-bit numbers or an instruction that operates on 64-bit numbers, depending on what the opcode's default knowledge size is. (Fore more on opcodes, seethis page. We'll speak about the specifics of x86-64 opcodes in the next section.) On the other hand, the width of the knowledge stream has doubled. In order to accommodate the wider knowledge stream, the sizes of the processor's registers & the sizes of the internal knowledge paths that feed those registers must be doubled.
The registers in the 64-bit CPU pictured above are one times as wide as those in the 32-bit CPU, but the size of the instruction register (IR) that holds the currently executing instruction is the same in both processors. Again, the knowledge stream has doubled in size, but the instruction stream has not. Finally, you might also also note that the program counter (PC) is doubled in size. We'll speak about the reason for this, soon.
The types of knowledge that can be processed are integer knowledge & address knowledge. Ultimately, addresses are integers that designate a memory address, so address knowledge is a special type of integer knowledge. Hence, both knowledge types are stored in the GPRs, & both integer & address calculations are done by the ALU.
No comments:
Post a Comment