王道计算机组成原理(笔记自用)

王道计算机组成原理(一)

一、概述

0.计算机系统 = 硬件 + 软件

​ 硬件决定性能,软件发挥实力

​ 比如苹果系统的软件生态很好,能充分发挥出硬件的实力。

软件分为:

​ 系统软件:操作系统、数据库管理系统、标准程序库、网络软件、语言处理程序、服务程序;

​ 应用软件:Steam

硬件的发展历程:

1946——电子管时代——第一台电子数字计算机 冯诺依曼

​ 逻辑元件——用来处理电信号的最基本单元

​ 内存——泵延迟线、磁鼓、磁带磁盘

1947——贝尔实验室发明了晶体管

1955——威廉肖克利 创建了实验室

1957——仙童创立

1959——仙童半导体发明集成电路

1968——摩尔建立Intel

摩尔定律:集成电路上可容纳的晶体管数目,约每隔18个月增加一倍,整体性能提升一倍

半导体存储器也几乎符合摩尔定律

1969——桑德斯创立AMD

1958——晶体管时代——贝尔

​ 体积能耗降低,出现了面向过程的程序设计语言:FORTRAN,出现了操作系统雏形

1964——中小规模集成电路时代

​ 将元件集成在基片上,出现了各种高级语言,操作系统

1972——大规模集成电路、超大规模集成电路时代——个人计算机 personal computer (PC)

​ 出现了微处理器

​ 机器字长——计算机一次整数运算所能处理的二进制数 (64位)

软件的发展历程:

机器语言

汇编语言

FORTRAN PASCAL C++

Java Python

DOS Windows ANDROID

两级分化的发展趋势:

一:微型计算机更像微型化、网络化、高性能、多用途方向发展

二:巨型机

1.计算机硬件:

​ CPU,内存,主板,显卡,硬盘

2.硬件识别的数据:

​ 二进制数 0/1,每一位称为:bit(比特)

​ 表示方法:高低电平 接受路径:金属针脚,印刷电路

3.几个问题

cpu如何对二进制数进行运算?

如何取出想要的数据?

cpu如何识别和执行我们写的程序?

数字文字图像如何用二进制表示?

二、计算机硬件的基本组成

两种结构:
1.冯诺依曼结构:

提出了存储程序概念,将指令以二进制代码的形式事先输入计算机的主存储器中,然后按照其在主存储器中的首地址执行程序的第一条指令

输入设备:将信息转换为机器识别的二进制数

存储器:存放数据和程序

运算器:算术运算和逻辑运算

输出设备:将结果转换为人们熟悉的结果

控制器: 指挥程序的运行

在计算机系统中,软件和硬件在逻辑上是等效的。

特点:

1.计算机由五大部件构成

2.指令和数据以同等地位存于存储器,可按地址寻访

3.指令和数据用二进制表示

4.指令由操作码和地址码组成

5.存储程序

6.以运算器为中心

2.现代计算机结构
特点:以存储器为中心

cpu = 运算器 + 控制器

主机:cpu+主存

主存和cpu进行数据交换

主存和辅存,辅存是一种 I / O 设备

三、各个硬件的组成

1.主存的基本组成

存储体、MAR(存储地址寄存器)、MDR(存储数据寄存器)

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

存储单元

存储字

存储字长

存储元:存储二进制的电子元件,每个存储元可存1bit

MAR:反映存储单元的个数

MDR:反映存储字长

这两个元器件也通常被集成在CPU中

一个字 不等

1字节 = 8bit

1b=1个bit

2.运算器的基本组成

ACC: 累加器,存放操作数、运算结果

MQ: 乘商寄存器

X:通用寄存器、存放操作数

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

3.控制器的基本组成

CU:控制单元

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

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

取指令(PC)-> IR -> CU

计算机工作过程:

int a=2 ,b=3 c=1,y=0;

void main(){

}

(取指令)

1.PC取到地址,给 MAR 发地址,MAR访问存储体,指令数据存储在MDR中,MDR 将指令 给 指令寄存器 IR

2.IR 将指令操作码给CU,CU分析,得知取数指令

(执行指令)

3.分析完指令操作码让IR给MAR地址码,MAR收到地址,MDR得到数据

4.ACC存储MDR的运算数据,ACC存加数和乘数 以及结果

主存存数据的方法:接收MAR和MDR的数据,MAR地址来自IR,MDR来自ACC

停机:利用中断机制通知操作系统中止该进程

5.运行完该指令,PC++

四、计算机系统的层次结构

层次结构:

虚拟机器 M4 用编译程序翻译成汇编语言程序

(高级语言机器)

虚拟机器 M3 用汇编程序翻译成机器语言程序 汇编语言指令和机器语言指令一一对应

(汇编语言机器)

虚拟机器M2 向上提供“广义指令”(系统调用)

(操作系统机器)

传统机器 M1 执行二进制机器指令

(用机器语言的机器)

微程序机器 M0 由硬件直接执行微指令 微指令1、3、7

(微指令系统)

三种级别语言:

汇编语言:助记符

高级语言:C/C++、Java

(编译程序:只需要翻译一次、解释程序,解释器:边解释边执行)

如:脚本语言:JavaScript、Python、Shell

机器语言:二进制代码

五、计算机的性能指标

存储器

MAR位数反映了存储单元的个数(最多支持多少个)

MDR位数=存储字长=每个存储单元大小

CPU(主频、CPI、指令系统)

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

GHz : 越高越好

每个脉冲信号时间称为CPU时钟周期:单位:纳秒、微秒

CPI :执行一条指令所需要的时钟周期

越低越好,但是影响因素过多,平均值最多

执行不同的指令CPU需要的时钟周期可能不同

eg:某CPU主频为 1000Hz,100条指令 CPI为3,多久?

0.3s

IPS:每秒执行多少指令

= 主频/CPI均值

FLOPS:每秒执行多少次浮点运算

PS:衡量性能所用的数量单位K、M、G、T是 10^3这种

系统整体性能指标

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

吞吐量:指系统在单位时间内处理请求的数量。

取决于信息能多快的输入内存,CPU能多快地取指令,数据能多快地从内存中取出还有输出

响应时间:用户向计算机发送一个请求,到系统对该请求做出响应并获得他所需要的结果的等待时间,通常包括IO操作

基准程序(跑分软件):基准程序中的语句存在频度差异,运行结果也不能完全说明问题

六、进位计数值

进制转换:

二进制 B

八进制 O

十进制 D

十六进制 H

BCD码
无符号整数表示和运算
带符号整数的表示和运算
原反补码的特性对比
移码
定位小数
奇偶校验码
加法器
并行进位加法器
补码加减运算器
加减运算和溢出判断
标志位生成
定点数的移位运算
原码的乘法运算
补码的乘法运算
原码的除法运算
补码的除法运算

七、C语言类型转换

C语言中定点整数是用“补码”存储的

无符号数和有符号数:不改变数据内容,改变解释方式。

y=(unsigned short)x ;

short x = -4321

y=61215

长整数变短整数:高位截断,保留低位。

int a=165537

short c= (short) a

短整数变长整数:符号扩展。

八、数据的存储和排列

大小端模式

地址:从左往右,从小到大

大端存储:数据高位字节存在左边,便于阅读

小端存储:反之,地址低,存低字节数据,便于机器处理

边界对齐

现在计算机通常是按 字节编址,1个字节对应一个地址

支持 按 字、半字、按字节寻址。

字节地址的转换:逻辑左移

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

~Yogi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值