Computer Architecture I
本博客所有知识均总结归纳于《Computer Orgnazition & Design The hardware/software Interface》,David A. Patterson and John L. Hennessy。 1.Performance CPI=Average clock circles per Instruction (lower is better) IPC=Average Instruction per clock circle (higher is better) 但是日常使用中,无法单纯的提高IPC而不影响时钟周期。 2.Register basic knowledge 2.1 load 从memory提取数据到register的操作被叫做load。通常load命令的组成为:load指令的名字+被load的register的名字+constant+去访问memory的register的名字。在MIPS中用lw表示load,load word的缩写。 2.1.1 Example 例如c语言: g=h+A[8] 编译器会先编译指令去寻找A[8]的值,假设A的起始地址存储在寄存器$s3上并且地址间隔为1,计算机用以下指令去寻找A[8]: lw $t0, 8($s3) //$t0为临时寄存器 然后在用$t0去与存储h的寄存器相加。 2.2 MIPS Memory Address MIPS中用alignment restriction来限制每个字的长度为4byte,所以Memory Address必为4的倍数。 寻址方式有两种: leftmost(Big end) or rightend(little end) 2.3 store store指令与load正好相反,它从register取值存储到memory。组成与load类似:store指令的名字+被store的寄存器(待被取出数值的寄存器)+memory地址偏移量(如A[8]就需要便宜4*8个偏移量)+基址寄存器(存储memory初始地址的寄存器) store指令在MIPS中简写为sw, store word。 2.3.1 E