我是现代信息技术学院的李燕飞。第一章主要讲述了CPU对程序员来说到底是什么。
CPU本质上是由名为集成电路的电子部件与大量的晶体管构成,而从功能上来区分,可以分成:寄存器,控制器,运算器,时钟。如同它们的名字,寄存器负责存储数据,控制器负责将数据写入与读出数据到寄存器,运算器负责对寄存器中的数据进行运算,时钟负责CPU工作频率。
而以上四个部件,我们仅需要重点关注寄存器,因为在机器语言层面上,程序的操作都是由寄存器来完成的,所以在我们的视角来看,CPU是寄存器的集合体。
而寄存器又分为不同类型,分别是累加器、标志寄存器、程序计数器、基址寄存器、变址寄存器等等。一般来说其中基址寄存器,变址寄存器,通用寄存器有多个,其它寄存器仅有一个。
程序计数器负责决定程序流程,所以顺序执行就是按照地址顺序进行执行,条件执行则是按照条件对应的地址的值进行执行,循环则是重复的执行同一地址的指令。函数调用也用到了程序计数器,但只靠程序计数器是不够的还需要用到内存中的栈。原理是调用指令会在函数入口设置到程序计数器之前将下一条指令的地址保存到内存的栈中,函数体执行完毕之后返回指令会将保存在栈中的地址设置到程序计数器,通过这两条指令就能够正确无误的进行函数的调用。
通过基址寄存器与变址寄存器可以对内存空间进行划分,以数组的形式使用从,存储的实际地址=基址寄存器+变址寄存器。其中基址寄存器是不变的,而变址寄存器就如同数组的下标。
第一张还简单的介绍了内存,内存的本质与CPU一致,内存又叫主存储器简称主存,通过控制电路与CPU相连用于存储指令与数据。
标签:变址,程序,第一章,计数器,内存,寄存器,CPU,怎样
From: https://www.cnblogs.com/lyf666/p/17977795