目录
一、计算机概述
1、计算机发展历程
目前公认的第一台电子数字计算机是ENIAC,于1946年在美国宾夕法尼亚大学研制成功。
2、计算机体系结构
冯·诺依曼(现代计算机之父)研制EDVAC:
①在计算机内部,程序和数据采用二进制数表示。
②程序和数据存放在存储器中。
③计算机硬件由运算器、控制器、存储器、输入设备即输出设备五大基本部件组成。
3、计算机系统基本组成
软件系统是为运行、管理和维护计算机而编制的各种程序、数据和文档的总称。
二、计算机硬件系统
1、中央处理器(CPU)
主要包含中央处理器(CPU)、主存储器及其他外部设备,通过总线连接在一起。
CPU主要解释计算机指令和处理软件中的数据。包括运算器和控制器,他们都包含寄存器,通过总线连接起来。
①运算器:对数据进行加工处理(对数据进行算数运算和逻辑运算)
②控制器:负责对程序所规定的指令进行分析,控制并协调输入、输出操作或对主存储器的访问。
③寄存器:高速存储区域,暂时存储参与运算的数据和结果。包括指令、地址、存储、累加等寄存器
④CPU主要技术性能指标:字长(一次处理二进制数据的位数)、主频、运算速度。
2、存储器
存储程序和数据的部件,可以自动完成程序或数据的存取。
(1)分类
①存储介质:半导体、磁表面、磁芯、光盘存储器等等
②存取方式:随机存储器(RAM)、只读存储器(ROM)、串行访问、直接存取存储器
③在计算机中作用:主存储器(内存)、高速缓冲存储器(acahe)、辅助存储器(外存)
(2)主存储器
一般采用半导体存储器,包括RAM和ROM。
①RAM:可读写性(可读可写,写入擦除原来数据)、易失性(掉电丢失)
静态RAM(SRAM):集成度低、价格高、存储速度快、不需要刷新
动态RAM(DRAM):集成度高、价格低、存储速度慢、需要刷新。(内存条)
②ROM:只能读不能写、内容永久性。
可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、带电可擦可编程只读存储器(EEPROM)、掩模型只读存储器(MROM)
(3)高速缓冲存储器
介于CPU和内存之间的一种小容量、可高速存取信息的芯片,解决之间速度不匹配的问题。
(4)辅助存储器
容量一般比较大、大部分可以移动。便于不同计算机之间进行信息交流。
辅助存储器中数据被读入内存后才能被CPU读取、CPU不能直接访问辅助存储器。
3、外部设备
(1)分类
①输入/输出设备:键盘鼠标等/显示器打印机等
②辅助存储器:U盘、SM卡、SD卡、硬盘等等
③终端设备
(2)硬盘
①分类:固定磁头硬盘和活动磁头硬盘、
②信息分布:记录面(记录面号是磁头号)、磁道(最外圈为0号)、圆柱面(圆柱面号对应磁道号)、扇区(从1开始编号)
③磁盘存储器主要性能指标:存储密度、存储容量、平均存储时间及数据传输率等。
(3)I/O接口
I/O接口(I/O控制器)用于主机和外设之间的通信。
①功能:实现主机和外设的通信联络;进行地址译码和设备选择;实现数据缓冲以匹配速度;信号格式的转换(电平、串/并、模/数等);传输控制命令和状态信息
②I/O方式:
Ⅰ 程序查询方式:一旦某外设被选中并启动,主机将查询这个外设的某些状态位,判断其是否准备就绪,若未准备就绪,主机将再次查询;若已准备就绪,则执行一次I/O操作。控制简单但效率低。
Ⅱ 程序中断方式:在主机启动外设后,无需等待查询,继续执行原来的程序,外设在做好输入/输出的准备时,向主机发送中断请求,主机接收到请求后就暂时中止原来执行的程序,转去执行中断服务程序,并对外部请求进行处理,在中断处理完毕后返回原来的程序继续执行。
Ⅲ 直接存储器存储方式(DMA):在内存和外设之间开辟直接的数据通道,可以进行基本上不需要CPU介入的内存和外设之间的信息传递。保证了CPU的高效率和满足高速外设的需要。
Ⅳ I/O通道控制方式:是DMA的进一步发展,设有通道控制部件,每个通道有若干外设。通道是一种独立于CPU的专门管理I/O的处理机制,控制设备与内存直接进行数据交换。通道有自己的通道指令,通道指令由CPU启动,并在操作结束时向CPU发出中断信号。
4、总线
分时共享原则
(1)分类
①片内总线(如CPU内部寄存器之间)
②系统总线(如CPU、内存、I/O之间):数据(双向)、地址(单向)、控制(部分)总线
③通信总线(外部总线):计算机之间或计算机与其他设备之间:串行、并行通信总线
(2)基本结构
①单总线结构:只有一条系统总线。
②双总线结构:将低速的I/O设备从单总线上分离出来,实现内存总线与I/O总线分离。
③三总线结构:各部件之间采用3条各自独立的总线来构成信息通道。
内存总线:用于在CPU和内存之间传输地址、数据和控制信息;
I/O总线:用于在CPU和外设之间通信;
直接内存访问总线:用于在内存和高速外设之间传输数据;
(3)性能指标
①总线周期:一次总线操作(申请阶段、寻址阶段、传输阶段、结束阶段)所需要而的时间。总线周期通常由若干总线时钟周期构成。
②总线时钟周期:计算机的时钟周期。
③总线的工作频率:总线上各种操作的频率,总线周期的倒数。若总线周期=N×时钟周期,则总线的工作频率=时钟频率/N。
④总线宽度:通常指数据总线的根数,用位表示。如数据总线有32根则该总线为32位总线。
⑤总线带宽:可理解为总线的数据传输率(单位时间总线上传输数据的位数)。如总线工作频率为33MHz,总线宽度为32位(4B),则总线带宽为33×(32÷8)=132MB/s。
⑥时钟同步/异步:数据与时钟同步工作的总线称为同步总线,数据与时钟不同步工作的总线称为异步总线。
⑦总线复用:一种总线在不同的时间传输不同的信息。
⑧信号线数:地址总线、数据总线及控制总线3种总线数的总和。
(4)总线仲裁
为保证同一时刻只有一个申请者使用总线。按照一定的优先次序决定顺序。
①集中控制式:总线控制逻辑基本上集中于一个设备(如CPU)中。将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决。
②分布式控制:不需要中央仲裁器,即总线控制逻辑分散在连接于总线上的各个部件或设备中。
(5)总线操作
读、写、块传递、写后读或读后写、广播和广集等
(6)总线标准
①常见的系统总线标准:工业标准结构(ISA)、扩展的ISA(EISA)、视频电子标准协会(VESA)、外设部件互连(PCI)和加速图形接口(AGP)等等。
②常见的外部总线标准:集成设备电路(IDE)、小型计算机系统接口(SCSI)、美国电子工业协会推行的串行通信总线标准(RS-232C)和通用串行总线(USB)等等。
5、计算机工作原理
计算机在执行程序前须将要执行的相关程序和数据先放人内存中,在执行时CPU根据当前程序指针寄存器的内容取出指令并执行,然后取出下一条指令并执行,如此循环直到程序结束时才停止执行,其工作过程就是不断地取指令和执行指令,最后将计算的结果入指令指定的存储器地址中。
(1)计算机指令格式
指令是指计算机完成某个基本操作的命令。指令能被计算机硬件理解并执行。一条计算机指令是用一串二进制代码表示的,它通常包括两方面的信息:操作码和操作数(地址码)。
操作码 | 操作数(地址码) |
操作码指明指令所要完成操作的性质和功能,即指出进行什么操作。操作码也是二进制代码。 对同种类型的计算机来说,各种指令的操作码互不相同,分别表示不同的操作。因此,指令中操作码的二进制位数决定了该类型计算机最多能具有的指令条数。
操作数指明操作码执行的操作对象,操作数可以是数据本身, 也可以是存放数据的内存单元地址或寄存器名称。根据指令中的操作数的性质,操作数又可以分为源操作数和目的操作数两类。例如,减法指令中减数和被减数为源操作数,它们的差为目的操作数。
如果指令中的操作码和操作数共占n字节,则称该指令为n字节指令。
(2)计算机指令的寻址方式
寻址方式是指找到当前正在执行指令的数据地址和下一条将要执行指令的地址的方法。
寻址方式被分为两大类:找到下条将要执行指令的地址称为指令手址;找到当前正在执行指令的数据地址称为数据寻址。
指令寻址分为顺序寻址和跳跃寻址两种。
常见的数据寻址有:
①立即寻址:所需操作数由指令集的地址码部分直接给出。特点是操作数就在指令内,因此,也叫做立即数,采用补码的形式存放,在执行阶段不访问内存。但是指令的位数是有限的,这也就限制了立即数的范围。
②直接寻址:指令的地址码部分给出操作数在存储器中的地址。优点是,从指令中可以直接的得到操作数的有效地址,且只访问内存一次。缺点是,A的位数限制了操作数的寻址范围,而且,必须修改A的值才能修改A的地址。
③隐含寻址:指令字中不明显地给出操作数的地址,其操作数的地址隐含在操作码或某个寄存器中。例如,一地址格式的加法指令只给出一个操作数的地址,另外一个操作数的就隐含在ACC累加器中,这样,累加器的地址就是操作数的地址。这种隐含寻址的方式在指令字中就少了一个地址,有利于缩短指令字长。
④间接寻址:间接寻址是相对于直接寻址而言的,指令地址字段的形式地址D不是操作数的真正地址,而是操作数地址的指示器,或者说是D单元的内容才是操作数的有效地址。间接寻址的优点是,扩大了操作数的寻址范围,便于编制程序。缺点是,在执行阶段要访问内存两次或多次执行时间过长。
⑤寄存器(直接)寻址:寄存器直接寻址指令字中的内容是寄存器的编号,操作数在指定编号的寄存器里。由于寄存器直接寻址不访问内存,执行的速度加快,而且,只需指定寄存器的编号就可以了(计算机内寄存器数量有限),所需指令字较短,节省了储存空间。因此寄存器寻址在计算机中得到广泛应用。
⑥寄存器间接寻址:寄存器间接寻址也是指定寄存器编号,但是寄存器内存放的并不是操作数,而是操作数的有效地址。有效地址在寄存器中,操作数在存储器中,执行阶段访存,但访存比间接寻址少一次,便于编制循环程序。
⑦基址寻址:基址寻址需要有基址寄存器BR,操作数的有效地址等于形式地址加上基址寄存器中的内容(基地址)。基址寄存器分为隐式和显式。隐式是指计算机内设有一个专门的,用户不必明显指出该基址寄存器,只需由寻址特征位反应基址寻址就可以。而显式是在一组通用寄存器内由用户指定一个基址寄存器存放基地址。基址寻址中的BR由系统或者管理程序根据主存的使用情况分配初始值,便可将用户程序的逻辑地址转化为主存的物理地址(实际地址)。
⑧变址寻址:变址寻址与基址寻址极为相似,有效地址等于指令字中的形式地址与变址寄存器IX的内容相加。基址寻址主要用于为程序或数据分配内存空间,故基址寄存器的内容通常由操作系统或管理程序确定,在程序的执行过程中其值是不可变的,而指令字中的形式地址A是可变的,在变址寻址中,变址寄存器的内容是用户设定的,在程序执行过程中其值可变,而指令字中的A是不可变的。变址寻址主要用于处理数组问题,在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器的IX内的内容,便可以得到数组中任一数据中的地址,特别适合编制循环程序。
⑨相对寻址:相对寻址的有效地址是将程序计数器PC内容与指令字中形式地址A相加而成。如图可见,操作数的位置与当前指令的位置有一段距离A。相对寻址最大的特点就是转移地址不固定,他随PC值的变化而变化,因此,无论主程序在哪段区域,都可正常运行,对编写浮动程序特别有利。
⑩堆栈寻址:堆栈要求计算机中设有堆栈,可以用寄存器组,也可以主存的一部分空间来做堆栈。栈只能从栈顶进行操作,堆栈也只能从一个口进行读写,操作数只能从栈顶地址指示的主存单元进行存或取。SP始终指示着栈顶,所以不论是出栈还是进栈SP都需要发生变化。若栈底元素大于栈顶元素,则每次进栈SP=(SP)-△;每次出栈 SP=(SP)+△;△的值与主存编址方式有关。若以字编址,△区1;以字节编址,则根据存储字长是几个字节才能确定△。
(3)计算机指令系统
一台计算机所能执行的全部指令的集合,称为该计算机的指令系统。 不同类型的计算机的指令系统的指令数目与格式也不同。但无论哪种类型的计算机,指令系统都应该具有以下功能指令。
①数据传输类指令:用来实现数据在内存和CPU之间的传输。
②运算类指令:用来进行数据的运算
③程序控制类指令:用来控制程序中指令的执行顺序
④输入/输出指令:用来实现外设与主机之间的数据传输。
⑤处理器控制和调试指令:用来实现计算机的硬件管理等
(4)指令的执行过程
取指令,分析指令、执行指令
①取指令:按照程序规定的次序,从内存取出当前执行的指令,并送到控制器的指令寄存器中。
②分析指令:对所取的指令进行分析,即根据指令中的操作码确定计算机应进行什么操作,由指令中的地址码确定操作码存放的地址。
③执行指令:根据指令分析结果,由控制器发出完成操作所需的一系列控制电位,以便指挥计算机有关部件完成这一操作。 同时,为取下条指令做好准备。
一般计算机完成一条指令所花费的时间成为一个指令周期,指令周期越短,指令执行就越快。
三、数据的内部表示
(。。。。。。更新中。。。。。。)