第一章:计算机系统的基本知识

来源:互联网 发布:mysql 查询最近的数据 编辑:程序博客网 时间:2024/05/24 01:49

计算机系统的基本组成

1. 计算机系统的硬件组成部分:

      运算器、控制器、存储器、输入设备和输出设备。其中运算器和控制器   等部件已被集成在一起,统称为中央处理器单元(Central Processing Unit,CPU)。CPU是硬件核心,用于数据的处理和加工,完成各种算术、逻辑和控制功能。

存储器分为内存和外存。内存速度快,容量小,用来临时存放计算机运行时的所需程序、数据和中间结果。外存容量大,速度慢,用于长期保存信息。

2. 计算机软件部分:系统软件和应用软件。

3. 计算机中数据的表示及运算

        3.1 进位计数制及其转换

       十进制小数转二进制数:“乘以2取整,顺序输出”

         (0.625)10 = (0.101)2

         八进制与二进制的转换

37.416  011 111 . 100 001 110 (37.416)8 = (11111.10000111)2

(10110.0011)2 = (26.14)8

十六进制与八进制类似。

3.2 机器数和码制

(1) 原码表示法:数值X的原码标记为[X]原,如果机器字长为n,则最高位为符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。数值零的原码表示有两种形式:[+0]=00000000,[-0]=10000000。[+127]=01111111,[-127]=11111111。

(2)反码表示法:如果机器字长为n,则最高位是符号位,0表示正号,1表示负号,正数的反码与原码相同,负数的反码则是其绝对值按位求反。数值零点反码表示有两种形式:[+0]=00000000,[-0]=11111111。[+127]=01111111,[-127]=10000000。

(3)补码表示法:如果机器字长为n,则最高位是符号位,0表示正号,1表示负号,正数的补码与其原码和反码相同,负数的补码则等于反码末尾加1。在补码表示中,0有唯一的补码:[+0]=00000000,[-0]=00000000。[+127]=01111111,[-127]=10000001。

3.3 机器数的运算

1)原码加、减法

当两个相同符号的原码数相加时,只需将数值部分直接相加,运算结果的符号与两个加数的符号相同。若两个加数的符号相异,则应进行减法运算。其方法是:先比较两个数绝对值的大小,然后利用绝对值大的绝对值减去绝对值小的绝对值,结果的符号取绝对值大的符号。

2)补码的加、减法

加法运算原则:和的补码等于补码的和。补码减法的方法是:差的补码等于被减数的补码加上减数取负后的补码。由[X]的补码求-[X]的补码:[X]的补码各位取反(包括符号位),末尾加1。

3)溢出及判定

只有当两个同符号的数相加(或者是相异符号数相减)时,运算结果才有可能溢出。判定方法:a)双符号位判决法:若采用两位表示符号,即00表示正号、11表示负号,则溢出时两个符号位就不一致了,从而可以判定发生了溢出。b)进位判决法:令c(n-1)表示最高数值位向最高位的进位,c(n)表示符号位的进位,则c(n-1)与或c(n)=1表示溢出。

4)机器数的乘除运算

a)纯软件方案,硬件结构简单,但作乘除运算时速度很慢。b)通过增加少量的实现左、右移位的逻辑电路,来实现乘除运算。这种方案增加硬件不多,而 乘除运算的速度有了较大的提高。c)设置专用的硬件阵列乘除法器,完成乘除法运算。该方案需要付出较高的硬件代价,可获得最高的执行速度。

4 计算机的基本组成及工作原理

计算机硬件的基本组成包括运算器、控制器、存储器、输入设备和输出设备。其中集成在一起的运算器和控制器称为CPU。

4.1 总线的定义与分类

总线是连接多个设备的信息传送通道,实际上是一组信号线。有内总线与外总线之分。内总线,又称系统总线,用于计算机各组成部分(CPU、内存和接口等)的连接。有ISA总线、EISA总线和PCI总线。外总线,又称通信总线。用于计算机与外设或计算机之间的连接或通信。有SCSI总线、USB和IEEE-1394等。

4.2 中央处理单元

基本功能:指令控制、操作控制、时序控制和数据处理。

CPU主要由运算器、控制器、寄存器组和内部总线组成。

1)运算器(ALU)主要完成算数运算和逻辑运算,实现对数据的加工与处理。累加器是运算器中的主要寄存器之一,用于暂存运算结果以及向ALU提供运算对象。

2)控制器的主要功能是从内存中读取指令,并指出下一条指令在内存中的位置,将取出的指令送入指令寄存器,启动指令译码器对指令进行分析,最后发出相应的控制信号与定时信息,控制和协调计算机的各个部件有条不紊的工作,以完成指令所规定的操作。控制器是由程序计数器(PC)、指令寄存器(IR)、指令译码器、状态寄存器(PSW)时序产生器和位操作信号发生器组成。

3)寄存器组:累加器、通用寄存器、标志寄存器、指令寄存器、数据缓存寄存器、地址寄存器等。

4)内部总线:CPU内部总线将运算器、控制器和寄存器组等连接在一起。

4.3 存储系统

1)按所处的位置:内存和外存。2)按材料:磁存储器、半导体存储器和光存储器。3)按工作方式:读写存储器(RAM)、只读存储器(ROM、PROM、EPROM和EEPROM等)、固定只读存储器(ROM,一般用于存放系统程序BIOS和用于微程序控制。)、可编程的只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电擦除的可编程只读存储器(EEPROM)、闪速存储器(FLASH MEMORY)。4)按访问方式:按地址访问的存储器和按内容访问的存储器。5)按寻址方式:随机存储器、顺序存储器和直接存储器。

4.3.1 存储系统的层次结构

一般为三级结构,其中高速缓存的速度最快,其次是主存储器,处于底层的辅助存储器速度最慢。若将CPU内部的寄存器也看作是存储器的一个层次,则可将存储系统分为4层结构。

1)主存的种类:一般由RAM和ROM这两种工作方式的存储器组成,绝大部分存储空间由RAM组成,常见的SDRAM(同步动态随机存取存储器)发展了四代SDR SDRAM、DDR SDRAM、DDR2 SDRAM和DDR3 SDRAM。

2)主存的组成:主要由存储体、控制线路、地址存储器、数据存储器和地址译码电路等组成。

对主存的操作分别为读操作和写操作。读出时,CPU把要读取的存储单元的地址送入地址寄存器,经地址译码线路分析后选择主存的对应存储单元,在控制线路的作用下,将被选存储单元的内容读取到数据寄存器中,读操作完成;写入时,CPU将要写入的存储单元地址送入到地址寄存器,经地址译码线路分析后选择主存的对应存储单元,在控制线路的作用下,将数据寄存器的内容写入到MAR指定的存储单元中,写操作完成。

3)主存性能指标:内存容量、存储时间、带宽和可靠性。

高速缓存与外存暂不写了。

4.4 输入输出技术

1)接口的功能:地址译码功能,在主机与I/O设备间交换数据、控制命令及状态信息等。支持主机采用程序查询、终端和DMA访问方式。提供主机与I/O设备所需的缓冲、暂存、驱动能力。进行数据的类型、格式等方面的转换。

2)接口的分类:按数据的传送格式分为并行接口和串行接口。按主机访问IO设备的控制方式分为程序查询接口、中断接口、DMA接口等。按时序控制方式可分为同步接口和异步接口。

3)I/O接口的编址方式:与内存单元统一编址;I/O接口单独编址。

4)CPU与外设之间交换数据的方式

(1)直接程序控制:CPU直接通过I/O指令对I/O接口进行访问操作。a)立即程序传送方式。b)程序查询方式

(2)中断方式:在CPU执行过程中,由于某一个外部的或CPU内部事件的发生,使CPU暂时中止正在执行的程序,转去处理这一事件,当事件处理完毕后又回到原先被中止的程序,接着中止前的状态向下执行。中断方式可以提高CPU的利用率,能处理随机事件和实时任务,但一次中断处理过程需要经历保存现场、中断处理和恢复现场等阶段,需要执行若干条指令才能处理一次中断事件。因此,无法满足高速的批量数据传送要求,所以引入DMA方式。

(3)直接存储器存取方式(DMA):通过硬件控制实现主存与I/O设备间的直接数据传送,数据的传送过程由DMA控制器(DMAC)进行控制,不需要CPU的干预。在DMA方式下,由CPU启动传送过程,即向设备发出“传送一块数据”的命令,在传送过程结束时,DMAC通过中断方式通知CPU进行一些后续处理工作。

(4)通道控制方式:通道是一种专用控制器,它通过执行通道程序进行I/O操作的管理,为主机与I/O设备提供一种数据传输通道。

5 指令系统简介

5.1 指令格式:操作码字段OP + 操作数地址码字段 Addr。操作码说明指令功能及操作性质。地址码用来指出指令的操作对象,它指出操作数或操作数地址及指令执行结果的地址。

(1)三地址指令格式:OP A1 A2 A3。OP为操作码,A1、A2、A3分别是源操作数1,源操作数2和目的操作数的地址。该类指令实现的操作是:(A1)OP(A2) -- A3。

(2)二地址指令格式:OP A1 A2。(A1)OP(A2) -- A1。

(3)一地址指令格式:OP A 。 OP(A) -- (A)。

(4)零地址格式:只有操作码,不含操作数地址。

5.2 寻址方式

(1)立即寻址。操作数就包含在指令中。在形成指令的机器代码形式时,立即数就跟在指令操作码的后面,取出指令时即可得到操作数。如:ADD AX,100的功能是将寄存器AX中的内容和数值100相加,结果送入到AX寄存器。100是一个操作数,采用立即寻址方式取得该操作数。

(2)直接寻址。操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。如:ADD AX, (100)的功能是将寄存器AX中的内容和地址为100的存储单元中的内容相加,结果送入寄存器AX。存储单元100的内容是操作数。

(3)寄存器寻址。操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。例如:ADD AX, 100,其中第一个操作数放在寄存器AX中,取得第一个操作数的寻址方式为寄存器寻址。

(4)寄存器间接寻址。操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。例如:ADD AX,(BX),其中第二个操作数的地址存储在寄存器BX中,该指令的功能是从寄存器BX中取得第二个操作数的地址,然后访问内存读取操作数,再与寄存器AX中的数据相加,结果存入AX寄存器。

(5)间接寻址。这种寻址方式下,指令中给出操作数地址的地址,例如指令ADD AX,((100)),其中第二个操作数采用间接寻址方式,((100))表示100是操作数地址的地址。

(6)相对寻址。指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量。如:ADD AX, *100,其中第二个操作数采用相对寻址方式,若本条指令所在存储单元的地址是200,则第二个操作数的存储地址是300,存储单元300的内容是操作数。

(7) 变址寻址。操作数地址等于变址寄存器的内容加偏移量。如:ADD AX,(DI+100),其中第二个操作数采用变址寻址方式,DI是变址寄存器,设DI的内容是300,则第二个操作数的地址是400(300+100),存储单元400的内容是操作数。

 

 

 

 

                                                                                                          

      

 

原创粉丝点击