计算机系统简介
计算机系统
- 硬件 计算机实体,如主机、外设
- 软件 具有各类特殊功能的信息(程序)组成
软件
- 系统软件 用来管理整个计算机系统 (语言处理程序、操作系统、服务性程序、数据库管理系统、网络软件)
- 应用软件 按任务需要编制成的各种程序
硬件给软件提供指令集(接口),利用指令集编写程序控制硬件。
从上到下都需要进行转化,比如汇编语言需要转化为机器语言,中间存在转化过程。
计算机的组成
一、冯诺依曼计算机特点
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为中心
运算器:算术运算和逻辑运算 (以运算器为中心,比较繁忙,成为计算机的瓶颈)
存储器:存放数据和程序
控制器:指挥程序运行
输入设备:将信息转换成机器能识别的形式
输出设备:将结果转化为人们熟悉的形式
二、计算机硬件框图
1.以存储器为中心的计算机硬件框图
2.现代计算机硬件框图
系统复杂性管理的方法(3y)
- 层次化(hierachy):将被设计的系统划分成多个模块和子模块
- 模块化(modularity):有明确的功能和接口
- 规则性(regularity):模块更容易被重用
三、计算机的工作步骤
(执行命令过程需要哪些功能,解决哪些问题???)
问题是否可以通过计算机解决?问题如何通过计算机解决?
1、上机前的准备
- 建立数学模型 u=UmSinwt
- 确定数学方法 sin x = x- x^3/(3!) +x^5/(5!) - x^7/(7!)+... yn+1=0.5(yn+x/yn)
- 编制解题程序 程序:运算的全部步骤 指令:每一个步骤
计算ax^2+bx+c
- 取 x到运算器中(实际是将其保存到累加器中)
- 乘以x在运算器中 (内存中的数据和累加器中数据做乘法,得出x的平方,保存在acc中)
- 乘以a在运算器中
- 存ax^2在存储器中 (计算bx依然要使用累加器,故需要将ax^2转存)
- 取b至运算器中
- 乘以x在运算器中 (内存单元的数和acc的数做乘法)
- 加ax^2
- 加c在运算器中
指令格式举例
取数:将内存单元保存的数保存到acc中。acc默认,不需要指令指出
指令16位(6位操作码,10位表示内存单元地址)
加法操作:默认一个数保存在acc中,加法结果也默认保存在acc中。
存储器的结构?如何进行访问?每次访问的数据的位数是多少?
2、计算机的解题过程
1.存储器的基本组成
存储体(大楼) -- 存储单元(房间) -- 存储元件(床位)
- 存储单元 存放一串二进制代码
- 存储字 存储单元中二进制代码的组合
- 存储字长 存储单元中二进制代码的位置,每个存储单元赋予一个地址
- 按地址寻访
MAR:存储地址寄存器 反映存储单元的个数
MDR:存储器数据寄存器,反映存储字长 (保存要送入cpu的数据,或者要保存到存储体的数据)
2.运算器的基本组成和操作过程
(如上面乘法器结果位宽会增加一倍,增加寄存器MQ)MQ寄存器只用于乘除中,且保存的是乘(M)和商(Q)
加法操作过程
先有输入指令,输入到acc中,保存被加数。
指令中的M是加数。要作加法得先从内存指令m处取出加数到x,然后和acc中的被加数相加。加法结果放到acc中。
减法操作过程
乘法操作过程
除法操作过程
控制器的基本结构如何?
控制器功能?
- 解释指令 (指从取指、分析、取操作数、执行、保存)
- 保证指令的按序执行
3、控制器的基本组成
完成一条指令
- 取指令 需要知道地址 PC(寄存器,程序计数器缩写,保存当前要执行指令的地址)
- 分析指令 把指令从内存单元取出,到控制单元分析,需要锁存起来 IR
- 执行指令 操作控制(比如执行先后?)CU
PC存放当前欲执行指令的地址,具有计数功能(PC)+1 -----> PC (这里加1还是加几和机器结构有关)
IR存放当前欲执行的指令
一条指令在主机上如何完成过程?
程序在主机上是如何执行的?
4、逐渐完成一条指令的过程
以取数指令为例
取指令:
- PC中的地址给MAR
- MAR送给存储体
- 在控制器控制下,存储体把指定存储单元的指令取出到MDR
- 取出的指令送到IR
分析指令:
在控制单元内部进行,把IR中的指令操作码送给CU,CU的各个信号控制各个部件,执行指令要求
取数操作:把指令当前的地址部分送给存储器,以便把数据取出。
以存数指令为例
5、ax^2+bx+c程序的运行过程
- 将程序通过输入设备送至计算机
- 程序首地址----> PC
- 启动程序运行
- 取指令 PC --> MAR --> M --> MDR --> IR , (PC)+1 --> PC
- 分析指令 OP(IR) --> CU
- 执行指令 AD(IP) --> MAR --> M --> MDR --> ACC
- ......
- 打印结果
- 停机
执行完指令后,pc需要调整,由于后面没有对PC寄存器操作,所以可以在取指令后调整PC值
计算机硬件的主要技术指标
1.、机器字长 cpu一次能处理数据的位数,与cpu中的寄存器位数有关。
2、运算速度 (通过指令运行速度来判断)
- 主频
- 核数,每个核支持的线程数
- 吉普森法
- CPI 执行一条指令所需时钟周期数
- MIPS 每秒执行百万条指令
- FLOPS 每秒浮点运算次数
3、存储容量 存放二进制信息的总位数
主存容量
- 存储单元个数 x 存储字长(如MAR 10 MDR 8 容量 1k*8位)
- 字节数 如2^13b=1 KB
辅存容量
字节数 80GB