第一章 基础知识
1、用机器的思想操作机器
2、用汇编去思考,用c去编程
寄存器BX的内容送到AX中
3、汇编语言组成:1.汇编指令(机器码的助记符)2.伪指令(由编译器执行)3.其他符号(由编译器识别)汇编语言的核心是汇编指令,它决定了汇编语言的特性。
4、要想让CPU工作,就必须向他提供指令和数据,指令和数据在存储器中存放,也就是平时说的内存,内存的作用仅次于CPU。
5、指令和数据是应用上的概念,在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。
6、显存:显卡里面的内存,把数据存储到显存里面,GPU从显存里面读取显示
7、CPU对存储器的读写:CPU要想对数据的读写,必须和外部器件(标准的说法是芯片)进行三类信息的交互:存储单元的地址(地址信息)、器件的选择,读写命令(控制信息)、读或写的数据(数据信息)。——总线:地址总线、数据总线、控制总线。实现了指令和数据的分别识别。
8、CPU是通过地址总线来指定存储单元的。地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。(32位、64位)要达到64位:1.CPU,2.系统,3.软件。一个CPU有N根地址总线,则可以说这个CPU的地址总线的宽带为N,这样的CPU最多可以寻找2的N次方个内存单元。
9、CPU与内存或其他器件之间的数据传送是通过数据总线来进行的,数据总线的宽度决定了CPU和外界的数据传送速度。
10、8088是8位,8086是16位,80386是32位。
11、CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合,有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制,所以控制总线的宽度决定了CPU对外部器件的控制能力。
小结:
1、汇编指令是机器指令的助记符,同机器指令一一对应。
2、每一种CPU都有自己的汇编指令集(经常用到的)。
3、CPU可以直接使用的信息在存储器中存放。
4、在存储器中指令和数据没有任何区别,都是二进制信息。
5、存储单元从零开始顺序编号。
6、一个存储单元可以存储8个bit,即8个二进制数
7、每个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:地址总线的宽度决定了CPU的寻址能力;数据总线的宽度决定了CPU与其他器件进行数据传输时的一次数据传输量;控制总线宽度决定了CPU对系统中其他器件的控制能力。
还是第一章
8、主板:主板上核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。接口卡:计算机系统中,所有可用程序控制其互作的设备,必须受到CPU的控制,CPU对外部设备不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行互作的是插在扩展插槽上的接口卡。例如网卡,显卡。
9、各类存储芯片:
10、最终运行程序的是CPU,我们用汇编的时候,必须要从CPU角度考虑问题。(学习汇编的核心思维)。
11、内存地址空间:对CPU来说,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器即是内存地址空间。
12、例j=5;q=(++j)+(++j)+(++j);q=22。从反汇编可以看出c++编译器做了一些优化。。
作业错误:
1、1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。
小甲鱼详细解答:我们规定每个存储单元为1Byte,8KB也就是8×1024Byte = 8192Byte。这里求地址总线的宽度,也就是令2的n次方=8193,求出n就可以了。
补充:突然发现需要学习汇编,就有了下文。。。
刚开始我看的是东南大学的朱敏老师讲的,看着可郁闷,主要是她好像是一直在读,只传授知识,听不下去。。。(此处省去n多字)看的小甲鱼的视频后立马就有学下去的想法,灰常幽默,而且一个视频不会很长,总之就是一看就想学的那种。。。
小甲鱼官网:http://www.fishc.com/