姬梦馨
原创微博
《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
学习笔记
一:什么是冯诺依曼体系结构?
就是指存储程序计算机。
两个层面:1.从硬件的角度上来说:
2. 从程序员的角度来看:
二:.CPU识别什么样的指令?
API:程序员与计算机的接口。
应用程序编程接口
ABI :二进制接口,指令编码。
程序与CPU的接口。
三.32位的X86是由EIP指向内存的某条指令。
EIP 自加一,是假一条指令。不是一个字节等。
还可以被其他指令修改。
X86 Regsiters
1.CPU 在实际取指令时根据 cs:eip 来准确定位一个指令。
cs:代码段寄存器,其值为代码段的段值。
ss: 堆栈段寄存器,其值为堆栈段的段值。
2.标志寄存器
通用寄存器
3.X86_64 位寄存器
和32 位差别也不大。指核心机制上差别不大。
4.R指64位。
计算机的汇编指令
1.mov 指令。
b :8位. w :16位 I:32位 q :64位
其他一些重要的指令
实验
函数调用堆栈是理解C语言代码在CPU上执行的关键
汇编一个简单的C程序
汇编一个简单的C程序
C程序及对应的汇编程序
所有以点开头的都是用于链接时候的一些辅助信息,不会在实际中被执行。
自己对“计算机是如何工作的”理解:
对计算机是如何工作的有了更深刻的理解。了解到各种 各样的计算机寄存器,通过实验,反汇编。感觉计算机的工作很有意思。
计算机是依据冯诺依曼体存储结构,依据其核心思想——存储程序计算机工作模型,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作。
计算机中每个部件都有自己的分配,配合着进行工作。