标签:
Hello Vinci :)
寄存器:
简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。AX、BX是其中的寄存器的代号。
组成:
1)汇编指令(机器码的助记符)
2)伪指令(由编译器执行)
3)其他符号(由编译器执行)
存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号。
例如一个存储器有128个存储单元,编号就还0~127
CPU要想进行数据的读写,必须和外部器件(标准说法是芯片),进行三类信息的交互:
存储单元的地址(地址信息)
器件的选择,读或写命令(控制信息)
读或写的数据(数据信息)
Q:CPU是通过什么将地址、数据和控制信息传到存储芯片中的呢?
电信号
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
物理上:一根根导线的集合
逻辑上划分为:
地址总线
控制总线
数据总线
指令和数据:
指令和数据是应用上的概念
在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。那是如何辨别是指令还是数据呢?
(逻辑上可是划分了三条总线的...)
小结:
汇编指令是机器指令的助记符,同机器指令一一对应。
每一种CPU都有自己的汇编指令集。
CPU可以直接使用的信息在存储器中存放
在存储器中指令和数据没有任何区别,都是二进制信息
存储单元从零开始顺序编号
一个存储单元可以存储8个bit,即8位二进制数
内存地址空间:
一个CPU的地址线宽度为10,那么可以寻址2**10个内存单元,即1024个内存单元(1024bit = 1KB),这1024个可寻到的内存单元就构成这个CPU的内存地址空间。(现在我们使用的32位CPU,就是地址线宽度为32,所以最大支持的内存在2**32bit = 4GB)
主板:每一台PC机中,都有一个主板,主板上有核心器件(CPU、内存之类)和一些主要器件,这些器件通过总线(地址、控制、数据)相连。
计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制
CPU对外部设备不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展插槽上的接口卡
存储器芯片:
从读写属性上看分为两类:
随机存储器(RAM)和只读存储器(ROM)
RAM断电后数据会丢失
ROM断电后数据会安全
装有BIOS的ROM
BIOS:Basic Input/Output System,基本输入输出系统。BIOS是由主板和各类接口卡(如显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口卡上插有存储相应BIOS的ROM。
从功能和连接上分类:
随机存储器RAM
装有BIOS的ROM
接口卡上的RAM
看图:
--------------------------------------------
CPU工作原理:
一个典型的CPU由计算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。
区别:
内部总线实现CPU内部各个器件之间的联系,
外部总线实现CPU和主板上其他器件的联系。
寄存器:
AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW
8086CPU所有的寄存器都是16位的,可以存放 两个字节
通用寄存器:
AX、BX、CX、DX通常用来存放一般性数据,被称为通用寄存器(简易记ABCD)
8086的上一代8088CPU的寄存器都是8位的;为保证兼容性,这四个寄存器都可以分为两个独立的8位寄存器使用。
例如AX可以分为AH(high)和AL(low)... AL和AH寄存器是可以独立使用的8位寄存器
几条汇编指令:
mov ax,18 ===> ax = 18
add ax,8 ===> ax += 8
mov ax,bx ===> ax = bx
add ax,bx ===> ax += bx
物理地址:
CPU访问内存单元时要给出内存单元的地址,所有的内存单元构成的存储空间是一个一维的线性空间。被称为物理地址。
概括的讲:16位结构描述了一个CPU具有以下特征:
1)运算器一次最多可以处理16位的数据
2)寄存器的最大宽度为16位
3)寄存器和运算器之间的通路是16位的
段的概念:
错误认识:内存被划分成了一个一个的段,每一个段有一个段地址
其实:内存并没有分段,段的划分来自于CPU,由于8086CPU用“(段地址)*16 + 偏移地址 = 物理地址” 的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存
段寄存器:
段寄存器就是提供段地址的
8086CPU有四个段寄存器:
CS、DS、SS、ES
CS(代码段寄存器)和IP(偏移地址寄存器)是8086CPU中最关键的寄存器,它们知识了CPU当前要读取指令的地址。
标签:
原文地址:http://www.cnblogs.com/AirStark/p/5729194.html