计算机的系统框图,嵌入式设备也一样。
控制单元和算术运算单元组成CUP,图中的主记忆体也就是我们常讲的内存,这个内存就是内存条。
CPU 為一個具有特定功能的晶片, 裡頭含有微指令集,如果你想要讓主機進行什麼特異的功能,就得要參考這顆 CPU 是否有相關內建的微指令集才可以。
上面所述的微指令集: 精简指令集 复杂指令集组成
一个典型的CPU由运算器、控制器、寄存器(寄存器就相当于一段内存)等器件组成,这些器件靠内部总线相连
内部总线实现CPU内部各个器件之间的联系。
外部总线实现CPU和主板上其它器件的联系
CPU内部有数据总线,地址总线,控制总线。CPU外部也有数据总线,地址总线,控制总线,
例如内存条和CPU就是通过外部总线所连接的。CPU在进行数据读取的时候都必须先经过内存,内存相当于一个缓冲地带。所以内存的容量应该大一点。但也不是越大越好的,由于总线有位数限制(不能无限多),所以读取速度会被钳制 ,当读取速度最大时,再继续增加内存也没有什么用来了
电脑开机:上电复位之后,CPU会去读寄存器或者内存里的某一个指定地址( 到底是从哪里读或者是读到的是什么么不重要。重要的是在上电之后,会有指令自动的去告诉下一步去哪里,干什么),根据地址上的指令,CPU就会发去到那里启动系统(系统装到在硬盘上面),内存里的指令就是告诉去硬盘上的哪里去开机。
CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间。我们将这个唯一的地址称为物理地址。
概括的讲,16位结构描述了一个CPU具有以下几个方面特征:
1、运算器一次最多可以处理16位的数据。
2、寄存器的最大宽度为16位。
3、寄存器和运算器之间的通路是16位的
8086有20位地址总线,可传送20位地址,寻址能力为1M。
8086内部为16位结构,它只能传送16位的地址,表现出的寻址能力却只有64K。
自问自答:8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址~
CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;
段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
地址加法器将两个16位地址合并成一个20位的地址;
地址加法器合成物理地址的方法:物理地址=段地址×16+偏移地址
根据上述过程,我们可以了解到,内存其实是一整块的,并不是分成一段一段的,但是由于CPU在访问过程的方法,导致看起来内存像是被分成一段一段的。被分成一段一段是因为段地址的从在,所以内存的每一段都是由16的倍数开始的。每一段的大小都是由偏移地址决定的。8086中偏移地址为16位,即64KB(2^16=65536,65536/1024=64KB)。