计算机组成原理与系统结构

引言———计算机的最底层是一些硬件设施(计组),在硬件之上我们会加一些操作系统,在操作系统上会安装一些软件。计算机组成原理与系统结构这一门课就是了解计算机硬件在底层是怎么相互协作的。

 一.计算机系统的概述

计算机系统:由硬件(计算机实体,主机外设)加软件(具有特殊功能的程序)构成。

软件:

系统软件(如操作系统,服务程序,语言处理程序等):用来管理整个计算机系统。

应用软件():按任务需要编制成的各种程序。

 硬件的发展

第一台电子数字计算机:ENIAC(1946)

第一代:电子管时代 1946~1957

逻辑元件:电子管

特点:体积超大,耗电量超大,使用机器编程语言(纸袋机)

第二代:晶体管时代 1958~1964

逻辑元件:晶体管

特点:体积,功耗降低,出现面向过程的程序设计语言(FORTRAN),有了操作系统雏形

第三代:中小规模集成电路时代 1964~1971

逻辑元件:中小规模集成电路

特点:计算机主要运用与科学计算等专业用途,高级语言迅速发展,有了分时操作系统

第四代:大规模,超大规模集成电路时代

逻辑元件:大规模,超大规模集成电路

特点:开始出现“微处理器”,“微型计算机”个人计算机PC萌芽,操作系统:Windows,Linux,Mac OS...

软件的发展

机器语言,汇编语言

编程语言直接决定了软件世界是否丰富

计算机硬件的基本组成结构 

早期冯诺依曼结构

存储程序 将指令以二进制代码的形式事先输入计算机的主存储器(内存)按程序规定顺序执行其他指令。

 结构特点

  1. 计算机由五大部件组成
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序
  6. 以运算器为中心(输入/输出设备之间是数据传送通过运算器完成)

现代计算机:以存储器为中心(提高效率)

 CPU  包含了运算器和控制器

主机   CPU和主存储器

简化图

主机 

主存储器

存储体:数据在存储体内按地址存储

MAR和MDR可以进行读写操作

运算器

运算器:用于实现算术运算(加减乘除),逻辑运算(与或非)

ACC: 累加器,用于存放操作数位,或者运算结果

MQ: 乘商寄存器,在乘除运算时,用于存放操作数位或运算结果

X:通用的操作数寄存器,用于存放操作数

ALU:算术逻辑单元,通过内部复杂的电路实现算术运算,逻辑运算。

控制器

 CU:控制单元,分析指令,给出控制信号

IR:指令寄存器,存放当前执行的指令

PC:程序计数器,存放下一条指令地址,有自动加1的功能 

 计算机系统的层次结构

  

下层是上层的基础,上层是下层的扩展

计算机的性能指标

存储器的性能指标

MAR的位数反应存储单元数量

MDR的

总容量=存储单元个数*存储字长

CPU的性能指标

CPU主频:CPU内数字脉冲信号振荡的频率

CPU主频(时钟频率)=1/CPU时钟周期

CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期数

执行一条指令的耗时=CPI*CPU时钟周期

CPU执行时间(整个程序耗时)=CPU时钟周期数/主频=(指令条数*CPI)/主频

IPS(Instructions Per Second):每秒执行多少条指令

IPS=主频/平均CPI

FLOPS(Floating-point Operations Per Scend):每秒执行多少次浮点运算

 系统整体的性能指标

数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过总线传输数据)

吞吐量:指系统在单位时间内处理请求的数量(主要取决于主存的存取周期)

响应时间:指从用户像计算机发送一个请求,到系统对该请求做出响应并获取结果的等待时间。

基准程序(动态测试):用来测量计算机处理速度的一种实用程序,以便进行比较

二.数据的表示和运算

进位计数制

r进制

基数:每个数码所用到的不同符号的个数。

转十进制:

二进制与八进制相互转化:

二进制与十六进制相互转化:

十进制转化为任意进制

整数部分:除基取余法

小数部分:乘基取整法(有的十进制小数无法用二进制精确表示)

或者拼凑法

BCD码

BCD(Binary-Coded Decimal):用二进制编码的十进制

8421码(有权)

 如果两个数相加在非法区间内(不是0~10)那就加6(0110)向前进一位

余3码:8421+(0011)二进制

2421码:改变权值定义

字符与字符串

ASCLL码

英文:

中文:

GB2312-80

字符串

按字节编址,“\0“作为字符串结尾标志

 奇偶校验码

特点:有检错能力(码距等于1没有纠错能力,检错能力)

局限性:如果有有数个位发生跳动则无法检测出来

海明校验码

特点:有纠错能力

设计思路:将信息分组进行偶校验

需要的校验位:

3.求校验位的值:将D1234的值所对应的H用二进制表示,然后从后到前为1的D进行异或运算。

检查并纠错:

 缺点:无法区分一个比特位的错误还是两个比特位错误。(此时使用全校验位)

循环冗余校验码(CRC码)

(模2减和模2加一样是异或运算)

 一般不用这个纠错

定点数表示

定点数:小数点的位置固定(常规计数)

浮点数:小数点的位置固定不动(科学计数法)  

 符号位:0表示整数,1表示负数

反码:源码符号位为0则相同,否则取反

补码:源码符号位为0则相同,否则反码末尾加1;

 移码:补码的基础上将符号位取反

算数移位

补码的移位

移位表格

逻辑移位:

左移,右移都补0,移出的位舍弃。

循环移位:

1,不带进位位:用移出的位补上空缺

2,带进位位:移出的位放到进位位,原进位位不上空缺。

加减运算&溢出判断

原码的加法运算(分四种情况)

原码的减法运算:将减数的符号取反,转变为加法运算。

 补码的加减运算(普遍使用)

用补码相加减然后再转换为原码

(有溢出情况)

溢出判断

溢出的逻辑表达:异或(若异或为1则有溢出,异或为0则无溢出)

法三:双符号位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShasHashALU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值