1.计算机系统的组成
计算机系统的组成 | |
硬件系统 | 软件系统 |
2.计算机的硬件部分
2.1冯诺依曼机的结构特点:
图示:
1.五大部分 | 由运算器(ALU),控制器(CU),存储器(主存+辅存),输入设备,输出设备五大部分组成 |
2.指令和数据以同等的地位存于存储器 | 指令和数据以同等的地位存于存储器,可以按地址寻访 |
3.混合存储 | 指令和数据都以二进制表示(混合存储) |
4.指令构成 | 指令由操作码(做什么操作?)和地址码(操作数在哪?)组成 |
5.存储程序(在存储器中)【是否为冯诺依曼计算机的判断条件】 | 存储程序的基本思想:将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被启动执行,就无需操作人员干预,计算机会自动逐条执行指令,直至程序执行结束。 |
2.2运算器
图示:
组成:
ACC | 累加器,用于存放操作数,或运算结果。 |
MQ | 乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。 |
X | 通用的操作数寄存器,用于存放操作数 |
ALU | 算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算 |
2.3控制器(CU+PC+IR)
计算机的指挥中心,由其“指挥”各部件自动协调地进行工作。
图示:
组成:
控制单元CU | 分析指令 |
程序计数器PC | PC用来存放当前欲执行指令的地址,具体自动加1的功能(这里的“1”指一条指令的长度), 即可自动形成下一条指令的地址,它与主存的MAR之间有一条直接通路。 |
指令寄存器IR | IR用来存放当前的指令,其内容来自主存的MDR。 指令中的操作码OP(IR)送至CU,用以分析指令并发出各种微操作命令序列; 而地址码Ad(IR)送往MAR,用以取操作数。 |
2.4存储器(主存+辅存)
图示:
存储器的相关概念:
存储单元 | 存储体中可以存放一串二进制代码最基本单元 |
存储字 | 存储单元中二进制代码 |
存储字长 | 存储单元中二进制代码的位数 |
MAR | 地址寄存器,用于暂时存储要从存储器中读取或写的信息的地址,反应存储单元的个数 |
MDR | 数据寄存器,用于暂时存储要从存储器中读取或写的数据,反应存储字长 |
现代的计算机一般将MAR和MDR集成在CPU中了。
2.5输入设备
如键盘,麦克风,摄像头等。
2.6输出设备
如显示屏,喇叭,打印机等。
3.计算机的软件部分
3.1系统软件和应用软件
组成 | 作用 | 实例 |
---|---|---|
系统软件 | 一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用。 | 操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序等 |
应用软件 | 应用软件是指用户为解决某个应用领域中的各类问题而编制的程序 | 各种科学计算类程序、工程设计类程序、数据统计与处理程序等 |
3.2软件和硬件的逻辑功能等价性
硬件实现的往往是最基本的算术和逻辑运算功能,而其他功能大多通过软件的扩充得以实现。对某一功能来说,既可以由硬件实现,又可以由软件实现,从用户的角度来看,它们在功能上是等价的。这一等价性被称为软、硬件逻辑功能的等价性。例如,浮点数运算既可以用专门的浮点运算器硬件实现,又可以通过一段子程序实现,这两种方法在功能上完全等效,不同的只是执行时间的长短而已,显然硬件实现的性能要优于软件实现的性能。
软件和硬件逻辑功能的等价性是计算机系统设计的重要依据,软件和硬件的功能分配及其界面的确定是计算机系统结构研究的重要内容。当研制一台计算机时,设计者必须明确分配每一级的任务,确定哪些功能使用硬件实现,哪些功能使用软件实现。软件和硬件功能界面的划分是由设计目标、性能价格比、技术水平等综合因素决定的。
3.3三个级别的语言
高级语言 | C,JAVA等都是高级语言 |
汇编语言 | 二进制指令代码的英文符号代替 |
机器语言 | 二进制指令,计算机唯一可以识别并执行的语言 |
由于计算机无法直接理解和执行高级语言程序,需要将高级语言程序转换为机器语言程序通常把进行这种转换的软件系统称为翻译程序。翻译程序有以下三类:
1)汇编程序(汇编器)。将汇编语言程序翻译成机器语言程序。
2)解释程序(解释器)。将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行。
3)编译程序(编译器)。将高级语言程序翻译成汇编语言或机器语言程序。
从源程序到可执行文件:
3.4计算机系统的层次结构
上层是下层的功能拓展,下层是上层的实现基础。
4.计算机执行指令过程的描述
(1).取指令
PC→MAR→M→MDR→IR
根据PC取指令到IR。将PC的内容送MAR,MAR 中的内容直接送地址线,同时控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上,MDR从数据线接收指令信息,并传送到IR中。
(2).分析指令
OP(IR)→CU
指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件。在本例中,IR中是取数指令,因此读控制信号被送到总线的控制线上。
(3).执行指令
Ad(IR)→MAR→M→MDR→ACC
取数操作。将IR中指令的地址码送MAR,MAR中的内容送地址线,同时控制器将读信号送读/写信号线,从主存中读出操作数,并通过数据线送至MDR,再传送到ACC中。
每取完一条指令,还须为取下条指令做准备,计算下条指令的地址,即PC)+1→PC。