计算机发展史: 第一代:电子管计算机 第二代:晶体管计算机 第三代:集成电路 第四代:超大集成电路

冯诺依曼:“存储程序"思想

计算机构成: CPU: CU:控制单元 ALU:算术逻辑单元 寄存器组 cache:高速缓存(一般集成到CPU上)

存储器

输入设备:键盘,鼠标

输出设备:显示器,打印机

总线

计算机分类: 1.个人计算机(PC) 2.服务器 3.嵌入式计算机 4.个人移动设备(PMD) 5.云计算

计算机设计思想: 1.面向摩尔定律的设计 2.使用抽象简化设计 (1)计算机系统的设计中的抽象 1.应用层 2.操作系统层 3.硬件驱动层 4.硬件层 (2)软件设计中的抽象 1.产品/架构:概念层次 2.架构师:逻辑层次 3.软件工程师:编程 物理层
3.加速大概率事件(缓存,数据压缩,预处理) 优化瓶颈:若干个关键操作(占用较多资源的操作)构成系统的瓶颈 高速缓存(cache):加速数据的访问速度 数据压缩:通过压缩数据,使数据所占空间减小 预处理:脏数据—>预处理—>干净数据 预测/推测执行:即下述6 4.通过并行提高性能 并行:同一时刻,可以处理多个任务—–>多核CPU 并发:同一时间内采用交替执行的方式,宏观上并行,微观上串行—–>单核CPU 5.通过流水线(一种经典的并行处理技术)来提高性能 指令流水线:指令执行 取指 译码 执行 访存 写回 6.通过预测来提高性能 (1)指令预测 (2)分支预测 (3)缓存预取 7.存储器层次结构 存储器分层: (1)顶层,最接近CPU:速度快 成本高 容量小—->寄存器 高速缓存—->常用数据/指令 (2)下一层:主存储器(主存/内存) 速度慢一些 成本低一些 容量大一些—->易失性存储介质 (3)第三层:虚拟内存/磁盘缓存 (4)底层 硬盘(外存) 最慢 成本最低 容量最大—->永久性存储介质 8.通过冗余提高可靠性 (1)处理器(CPU)冗余:多核CPU(一个CPU中含有多个CU和ALU)/集群系统 (2)存储器冗余:磁盘阵列/数据备份 (3)网络冗余:备份网络路径和网络设备 (4)电源冗余:多套供电设备 (5)冷却冗余:多套冷却系统

软件 高级语言–(编译)–>汇编语言–(汇编)–>机器语言 (1)机器语言 注:指令和数据均为二进制串 (2)汇编语言 以助记符形式表示的机器指令 (3)高级语言 由一些单词和代数符号组成,由编译器转换为汇编语言

注:应用程序到硬件执行需要系统软件的介入
系统软件:提供常用服务的软件,包括操作系统,编译程序,加载程序和汇编程序等

软件分类:
    1.系统软件:保证计算机高效,正确运行的基础软件
        (1)操作系统(OS)
        (2)数据库管理系统
        (3)语言处理软件
        (4)分布式软件
        (5)网络软件
        ......
    2.应用软件:用户使用的软件

硬件 5大基本部件 (1)输入设备:如键盘,鼠标 (2)输出设备:显示器,打印机 (3)数据通路(运算器):主要包含算术逻辑部件(ALU)和通用寄存器 (4)控制器:对指令进行译码,生成相应的控制信号,以控制数据通路进行正确的操作。 由程序计数器(PC,一种寄存器),寄存器(IR)和控制单元(CU)组成 (5)存储器:存储数据。包含内存(主存储器)和外存(外部存储器)。

注:
1.控制器和数据通路统称(中央)处理器,即CPU。
2.输入输出设备也叫外设(外部设备),即I/O设备。
外设通常由机械部分和电子部分组成,而且两部分通常是可以分开的,机械部分是外部设备本身,而电子部分则是控制外部设备的I/O控制器或I/O适配器。
3.各个部件通过总线连接。
4.处理器从存储器中得到指 和数据,输入部件将数据写入存储器,输出部件从内存中读出数据,控制器向数据通路 存储器、输入和输出部件发出命令信号
5.对数据通路的解释:数据在功能部件之间传送的路径称为数据通路,路径上的部件称为数据通路部件,如ALU、通用寄存器等。

内存芯片:内存其实就是一块DRAM芯片(动态随机访问存储器),用来存储程序的指令和数据---->易失性存储介质
cache:高速缓存,采用的是另一种技术,叫做SARM(静态随机访问存储器)---->易失性存储介质

硬件和软件之间的接口—指令集(固化在CPU中,并不在存储器中) 指令集体系结构(ISA):指令集,指令的格式…… 指令集+操作系统提供的接口:二进制接口

注:RAM(随机存储器) ROM(只读存储器)

网络概述: 计算机网络的作用: 1.通信 2.资源共享 3.远程访问

速度/距离: 
以太网(常用) 100Gbps 1000km
    局域网(LAN--local area Network)
    广域网(WAN--Wide area Network)
无线网络:IEEE802.11标准

计算机性能:论其在执行特定任务时的效率和能力。

1.响应时间(执行时间):从用户发起一个请求或指令到系统完成该请求并给出反馈所需的时间。
包括硬盘访问、 内存访问、I/O 活动、操作系统开销和 CPU 执行时间等。

2.吞吐率(带宽):这是衡量系统在一定时间内能处理多少工作量的能力,通常以每秒处理的任务数量或者数据传输量来表示。

硬件的时间度量概念:——>晶振(石英晶体振荡器)—–>发出主脉冲信号

1.时钟周期:几乎所有计算机都用时钟来驱动硬件中发生的各种事件,时钟间隔的时间称为时钟周期。
单位通常是纳秒(ns)、微秒(μs)或者毫秒(ms)。

2.时钟周期长度:每个时钟周期持续的时间长度。

3.时钟频率(主频):即时钟周期的倒数,表示单位时间内时钟周期的数量,通常以赫兹(Hz)为单位。10Hz表示每秒10次。

主频=1/时钟周期		时钟周期=1/主频

硬件性能 CPU性能 CPU执行时间: 用户CPU时间(执行用户程序时间) + 系统CPU时间(操作系统提供服务时间) CPU执行时间 = CPU时钟周期数 * 时钟周期时间 CPU执行时间 = CPU时钟周期数 / 时钟频率 指令性能: CPI(clock cycle per instruction) 表示执行每条指令所需的时钟周期数的平均值。 CPU时钟周期数=程序的指令数 * CPI CPU时间 = 指令数 * CPI * 时钟周期时间 CPU时间 = (指令数 * CPI) / 主频

![](/img/computer.png)

IPS(instructions per second, 每秒秒百万条指令)
有一种用 MIPS(million instructions per second, 每秒秒百万条指令)取代时间以度量性能的方法。
对于一个个给定的程序, MIPS 表示为:

MIPS=指令条数/(执行时间x10^6)=主频/(CPI * 10^6)。

但是 MIPS 规定了指令执行的速率,但没有考虑指令的能力,没有办法用 MIPS 比较不同指令集的计算机,因为指令数肯定是不同的。

功耗:功耗代表了我们需要用多大的代价来进行冷却。