计算机底层原理与系统架构解析
1. CPU 指令指针与执行控制
CPU 的指令指针与其他寄存器本质上并无不同。就像机器指令能对寄存器 AX 进行加 1 操作一样,也能对指令指针中存储的地址进行加或减操作。给指令指针加 100,CPU 会立即跳过 100 字节的机器指令;从指令指针的地址中减去 100,CPU 则会立即回跳 100 字节。
CPU 还能根据自身工作改变执行流程。它可以依据内存中存储的值,或者几个特殊的单比特 CPU 寄存器(标志位)的状态,决定是否执行给定的指令或指令组。CPU 能计数执行某操作的次数,也能反复执行某操作,并在每次执行时检查是否完成任务。
计算机程序是步骤和测试的序列,CPU 理解的大部分机器指令是步骤,部分是测试。测试总是双向的,选择只有跳转或不跳转。
2. CPU 架构与微架构
市面上有众多不同的 Intel 及兼容的 x86 CPU 芯片,如 8086、8088、Pentium 系列等,还有其他公司(主要是 AMD)设计的兼容芯片,且同一类型 CPU 还有多种变体。
从程序员的角度看,CPU 的灵魂可分为两部分:CPU 做什么和怎么做。我们关注的是 CPU 做什么,而电气工程师和系统设计师需要了解更多关于怎么做的细节。
2.1 架构的演变
CPU 架构会随时间演变,厂商会为产品线添加新指令、寄存器和其他特性,且通常会考虑向后兼容性。Intel 的 x86 产品线从 1978 年的 8086 CPU 开始,一直保持较好的向后兼容性。例如,在一定限制下,为古老的 8086 编写的程序也能在现代的 Pentium Core 2 Quad CPU
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



