计算机系统简介
- 计算机系统由硬件和软件两部分组成,其中软件也可分为系统软件和应用软件两大类
- 计算机硬件是指计算机的实体部分,看得见,摸得着的垫子元器件,如主机、外设等
- 计算机软件是指有人们事先编制的具有各类特殊功能的程序组成,通常存放于计算的主存活辅存中
- 计算机系统软件又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行,主要包括:标准程序库、语言处理程序(如将高级语言翻译成机器语言的编译程序)、操作系统、服务程序(如诊断程序、调试程序、连接程序等)、数据库管理系统、网络软件等
- 计算机应用软件又称为应用程序,是指用户根据任务需要所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、事务管理程序等
计算机系统层次结构
计算机组成和计算机体系结构
- 计算机体系结构是指概念性的结构与功能特性也就是指哪些能被程序员所见到的计算机系统的属性,比如指令集、数据类型、存储器寻址技术等一系列抽象属性
- 计算机组成是指如何实现计算机体系结构所体现的属性,如指定的实现(取指令、分析指令、取操作数、运算、送结果等)
- 简单点用编程的概念来理解就是,计算机系统结构抽象封装了一些计算机系统属性,计算机组成则是来实现这些系统属性的。上层程序员就不用关注这些系统属性是如何实现的,只要去使用这些属性就行了
计算机的基本组成
冯 · 诺依曼计算机是数学家冯·诺依曼在1945年研究EDVAC机时提出了存储程序的概念,以此概念为基础的计算机。
- 特点:
- 有五大部件组成:运算器、存储器、控制器、输入设备和输出设备
- 指定和数据都存放于存储器,可按地址寻访
- 指定和数据均用二进制数表示
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置
- 指令在存储器中按顺序存放。通常指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序
- 机器已运算器为中心,输入输出设备与存储器见得数据传送通过运算器完成
- 机构框图:
- 典型的冯·诺依曼计算机是以运算器为中心的
- 现代计算机已转化为已存储器为中心的
- 各个部件的功能:
- 运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内
- 存储器用来存放数据和程序
- 控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果
- 输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等
- 输出设备可将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等
- 总结: 由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往集成在同一芯片上,因此,通常将它们合称为中央处理器(Central Processing Unit,cpu)。把输入输出设备简称为I/O设备(Input/Output Equip-ment)。因此,现代计算机可认为由三大部分组成即CPU、I/O设备和主存储器(Main Memory, MM),CPU与主存储器合起来又称为主机,I/O设备又可称为外部设备。
计算机部件功能简介
存储器的功能简介
主存储器简称主存或内存包括存储体M、各种逻辑部件机控制电路等。
- 存储体由许多存储单元组成,每个存储单元由包含若干个存储元件(或称存储济源、存储元),每个存储元件能寄存以为二进制代码‘0’或‘1. 可见,一个存储单元可以存储遗传二进制代码,称这串二进制代码为一个存储字,这串二进制代码的位数称为存储字长。存储字长可以是8位、16位或32位等。一个存储字代表一个二进制数,也可代表一串字符。一个存储字还可以代表一条指令(操作码+操作数地址码)
- 主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读取)。这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)。主存中实现这种按地址访问的方式还配置了两个寄存器MAR和MDR。
-
- MAR(Memory Address Register)是存储地址寄存器,用来存放与访问的存储单元地址,其位数对应存储单元的个数(如MAR为10位,则有
个存储单元,记为1K)
- MDR(Memory Data Register)是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相同
- 一个完整的取或存操作,需要CPU给主存记忆各种控制信号,如读命令、写命令和地址译码驱动信号等。随着硬件技术的发展,主存都制成了大规模集成电路的芯片,而将MAR和MDR集成在CPU芯片中
- MAR(Memory Address Register)是存储地址寄存器,用来存放与访问的存储单元地址,其位数对应存储单元的个数(如MAR为10位,则有
- 早期计算机的存储字长一般和机器的指令字长与数据字长相等,故访问一次主存便可取一条指令或一个数据。随着计算机应用范围的不断扩大,往往要求指令字长是可变的,数据字长也要求可变的。为了适应这种可变性,其长度将不由存储字长来确定,而由字节的个数来表示。1个字节(Byte)被定义为由8位二进制代码组成,因此存储字长、指令字长、数据字长三者可不相同,但他们必须是字节的整数倍
运算器的功能简介
运算器最少包含3个寄存器(现代计算机内部往往设有通用寄存器组)和一个算术逻辑单元(ALU)。其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商寄存器,X为操作数寄存器,这三个寄存器在完成不同运算时,所存放的操作数类别也各不相同
四则运算个寄存器所存放的各类操作数:
假设ACC中已存有前一时刻的运算结果,并作为下次运算的操作数,则四则运算的操作过程如下所述:
- 加法:从内存中取出加数放到操作数寄存器X中,ALU执行加法运算并将运算结果存到ACC累加器中。
- 减法:从内存中取出减数放到操作数寄存器X中,ALU执行减法运算并将运算结果存到ACC累加器中。
- 乘法:从内存中取出乘数放到乘商寄存器MQ中,将ACC中的被乘数存入X寄存器中,然后将ACC清0,ALU执行运算,将结果的高位保存至ACC累加器中,将结果的低位保存至MQ乘商寄存器中。
- 除法:从内存中取出除数放入X寄存器中,ALU执行运算,最后将商存于MQ中,将余数存于ACC累加器中
控制器的功能简介
控制器是计算机的神经中枢,它将控制各部件自动、协调的工作。它分为三个阶段,取指阶段(取指过程)、分析阶段(分析过程)、执行阶段(执行过程)每个阶段有不同的寄存器组成和实现。控制器由程序计数器(Program Counter, PC)、指令寄存器(Instruction Register, IR)以及控制单元(CU)组成。
- 程序计数器PC用来存放当前欲执行指令的地址,他与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。
- 指令寄存器IR用来存放当前的指令,在PC向MAR发送信息后,MAR将PC传来的地址传到主存中,找到存在该地址的指令,主存将该指令送入到MDR寄存器中,MDR将该指令送入到IR中
- 控制单元CU用来分析指令,取出IR中的指令分析,指令的组成是有操作码和地址码组成,CU将地址码送至存储器的MAR,MAR将该地址送入存储器,存储器找到该地址的数据并将数据放入MDR中,MDR在将数据送至运算器中。CU就是用来分析当前指令所需要完成的操作,并发出各种微操作命令,用以控制所有被控对象
I/O系统的功能简介
I/O 子系统包括各种I/O设备及其相应的接口。每一种I/O设备都由I/O接口与主机联系,它接收 CU发出的各种控制命令,并完成相应的操作。例如,键盘(输入设备)由键盘接口电路与主机联系;打印机(输出设备)由打印机接口电路与主机联系。
计算机硬件的主要技术指标
- 机器字长:机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关,字长越长,数的表示范围越大,精度也越高,同时,也会影响机器的运算速度。如果CPU字长较短,又要运算位数较多的数据,那就需要经过更多次的运算。机器字长对硬件的造价也有较大的影响。它将直接影响加法器(或ALU)、数据总线以及存储字长的位数。所以机器字长的确定不能单从精度和数的表示范围来考虑
- 存储容量:存储器的容量应该包括主存容量和辅存容量。主存容量是指主存中存放二进制代码的总位数。现代计算机中常以字节数来描述容量的大小,因一个字节已被定义为8位二进制代码,故用字节数便能反映主存容量。辅存容量通常用字节数来表示,例如,某机辅存(如硬盘)容量为80GB(1G=1024M=2'°x2=2”)。
- 机器的运算速度:计算机的运算速度与许多因素有关,如主频、指令的操作、主存的存取速度等。早期是使用普通法采用完成一次加法或乘法所需的时间来衡量。后来采用吉普森法。现在的机器运算速度普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS(Million Instruction Per Second,百万条指令每秒) 作为计量单位。也可以用CPI(Cycle Per Instruction) 即执行一条指令所需的时钟周期(机器主频的倒数)数。或用FLOPS(Floating Point Operation Per Second, 浮点运算次数每秒) 来衡量运算速度。