(书稿底稿)(C/C++)第一章:CPU基础知识 1.1.2 CPU如何获取内容

来源:互联网 发布:socket server 阿里云 编辑:程序博客网 时间:2024/05/18 11:36


1.1.2   CPU如何获取内容

就算是孙悟空也不能凭空变出东西,也需要猴毛的辅助的,CPU更是如此,执行需要的指令和数据不能凭空而来,那么这些是从哪里来的呢?

冯诺依曼体系结构的关键所在是将程序和操作数据一同存储在储存器中,而哈佛体系结构Harvard Architecture将数据和程序分离存放在不同的存储器中。

哈佛结构处理器介绍:

这个结构执行效率比较高,很多处理器采用了这种架构,如ARM10ARM11处理器。

CPU通过控制单元(controlunit)读取指令和数据,以及在内存之间、内存和寄存器之间交换数据,如图3

4

        控制单元通过时序(timing)和控制信号(controlsignal)直接管理其他单元,控制单元知道如何提取、识别、解析、执行指令,也知道如何提取数据。控制单元将需要的指令地址发送给内存单元提取出对应的指令,然后对指令进行解码,解析成CPU可以识别、执行的形式,开始执行。

        

        冯诺依曼计算机的指令和数据都以二进制形式存放在同一存储器中,但CPU的控制器可以识别出指令和数据;所有的编译器编译出的目标文件也是将程序的指令(代码段)和数据分段存放,以方便指令被反复调用,程序加载到内存后也是分离存放。具体见后续章节。

可以把内存看成最小单位为字节的串行内存块。计算机将这个串行内存块分为多段,一些用来存储代码,一些用来存储数据,这些段的起始地址称为基址(base address),段中的数据相对段首的距离成为偏移量(offset)。通过基址+偏移量便可以读取出数据。专门存储基址的寄存器一般称为基址寄存器,基址寄存器的值和偏移量相加就可以很方便定位到特定的数据。

0 0
原创粉丝点击