深入理解计算机系统-第三章阅读笔记
程序的机器级表示
汇编代码是机器代码的文本表示,
32位机器只能使用大概4GB的随机访问存储器。64位机器能够使用多达256TB的内存空间,而且能够很容易的扩展到16EB。
intel处理器系列俗称为x86。 从一开始的单芯片,16位微处理器开始。 8086 29K晶体管, 在其扩展的8088上,微软开发了MS-DOC操作系统。是最早的IBM个人计算机的心脏。
机器级编程,抽象出两种,
1,指令集体系结构或指令集架构(Instruction set architecture,ISA):定义机器级程序的格式和行为,它定义了处理器的状态,指令的格式,以及每一条指令对状态的影响。
ISA 将指令的执行描述为顺序执行:一条执行完成之后,下一条才开始执行。 但实际上处理器是并发的执行指令,通过一些措施来保证整体的执行顺序和ISA指定的顺序执行顺序完全一致。
- 机器级程序使用的内存地址是虚拟地址。
结构: 程序计数器(PC)给出将要执行的下一条执行指令的在内存中的位置。
整数寄存器文件 :有16个命名的位置,分别存储64位的值。
- 存储地址,和整数数据。
- 记录某些重要的程序状态,
- 存临时数据,例如过程的参数和局部变量,以及函数的返回值。
条件码寄存器: 保存最近执行的算术或逻辑指令的状态信息。用于实现或控制数据流中的条件变化。
一组向量寄存器:存储一个或多个整数或浮点数值。