计算机组成原理
计算机通常分为三类:个人计算机、服务器和嵌入式计算机。
个人计算机:给单个用户提供服务。
服务器:给多个大型用户提供服务。
嵌入式计算机:嵌入到其他设备的计算机,执行已经预定的程序。
pc时代:智能手机、平板、折叠手机等。
一个程序的性能:1.算法 2.编译程序 3.计算机执行的机器指令的有效性
系统软件最重要的是:操作系统和编译程序。
操作系统:用户和硬件之间的接口,为用户提供各种服务和功能。
操作系统的主要作用:处理简单的输入和输出,分配内存和外存为多个应用程序提供共享计算机资源的服务。
编译程序:将高级语言编译成计算机可以识别的并理解和服从的机器语言的程序。
5大经典部件:输入 输出 存储器 运算器 控制器
运算器和控制器并称 处理器(CPU)
处理器从存储器获取指令和数据
输入将数据传入存储器 输出从存储器中取数据
控制器向数据通路 存储器 输入 输出部件发送指令信号
任何一台计算机的基础硬件都要完成:输入数据 输出数据 处理数据 存储数据
集成电路:也叫芯片 一种将几十个乃至几百万个晶体管连接起来的设备
中央处理单元(Central process unit): CPU 也叫作处理器 包括了数据通路(运算器)和控制器
数据通路:处理器中负责逻辑运算的部分
控制器:处理器中根据程序指令指挥数据通路 存储器 和I/O设备的部分
DRAM:dynamic random access memory 动态随机访问存储器
内存:由多个DRAM拼合而成 用于储存运行中的程序 和 运行中的程序所需要的数据
处理器(cpu)的内部采用另外一种存储设备:缓存(cache)
缓存:SRAM技术 比DRAM更快但是集成度更低 静态随机访问存储器
缓存小而快作为内存的缓冲
指令集体系结构:也叫作体系结构 是低层次软件和硬件建的抽象接口 包含了需要编写正确运行的机器语言所需要的全部信息 包含指令 寄存器 存储访问 和 I/O
应用二进制接口:用户部分的指令加上应用程序员调用的操作系统接口,定义了二进制层次可移植的计算机标准
易失性存储:DRAM 仅在加电时候存储数据
非易失性存储:在啊掉电视仍可以保存数据的存储器
易失性存储也叫作主存 非易失性存储器叫做二级存储器
二级存储器形成了存储器层次下面更低的层次
磁盘:也叫硬盘(hard disk) 用来保存数据的非易失性存储器
闪存:非易失性半导体内存 价格 性能均介于DRAM与硬盘之间
计算机系统结构的八个伟大思想
1 面向摩尔定律的设计
摩尔定律 每隔18-24个月 集成电路上的芯片数目将翻一番
2 使用抽象化设计
上层只能看到下层的抽象模型 而看不到细节
3 并行
计算机并行操作
4 流水线
并行的一种特例
5 预测
在预测错误的情况下代价不大且预测准确率较高的情况下采用预测
6 存储器层次
小而快的再上 大而慢的在下
7 使用冗余
添加冗余部件 提高系统的可靠性
8 加速大概率事件
加速大概率事件远比优化小概率事件效果大
性能
响应时间:也叫执行时间, 是计算机完成某任务所需的总时间,包括硬盘访问、内存访问、IO活动、操作系统的开销和cpu的执行时间。
吞吐率:也叫作带宽 表示了 单位时间内完成的任务数量。
凡是影响响应时间的都会影响吞吐率 而在任务量过大,处理速率慢而导致排队的情况下 吞吐率会影响响应时间
性能最大化:响应时间最小化 性能 = 1/ 响应时间
性能的度量
CPU执行时间:简称CPU时间 执行某一任务而在CPU上花费的时间
CPU执行时间又包括了:用户CPU时间 系统CPU时间
用户CPU时间:在程序本身所花费的CPU时间
系统CPU时间:为执行程序而花费在操作系统上的CPU时间
系统性能:空载系统的响应时间
CPU性能:表示用户的CPU事件
计算机都采用时钟来驱动硬件中发生各种事情
时钟的间隔时间被称为时钟周期,时钟周期的倒数就是时钟频率,时钟周期通常为常数
时钟长度:每个时钟周期持续的时间长度
CPU性能及其影响因素
一个程序的CPU执行时间 = 一个程序的CPU时钟周期数 * 时钟周期时间
指令的性能
每条指令需要的时钟周期数的平均值 被称为 CPI
CPU时钟周期数 = 指令数 * CPI
一个程序的CPU执行时间 = 一个程序的指令数 * CPI * 时钟周期时间