教材:
- 《计算机组成原理(第2版)》 唐朔飞
- 《计算机组织与设计:硬软件接口技术》 A.Patterson John.L.Hennessy (以MIPS为实例)
- 《数字设计和计算机体系结构》 Morgan Kaufmann
1.1 计算机系统简介
现代计算机的多态性:sensor, Info. appliance, laptop, PC, server, mainframe, HPC(高性能计算机), 物联网(感应器嵌入各种物体,并普遍连接)。
一、 计算机的软硬件概念
硬件:计算机的实体;
软件:具有各类功能的信息(程序)组成。
- 系统软件:管理整个计算机系统(语言处理程序、操作系统、服务性程序、数据库管理系统、网络软件);
- 应用软件:按任务需要编制的各种软件。
二、 计算机的层次结构
1. 底层架构
系统复杂性管理的方法1:抽象 (隐藏系统中不重要的细节)。
本课主要研究逻辑层和微体系结构层。
2. 程序员视角
虚拟机器用软件实现,实际机器和微程序机器用硬件实现,之间是软硬件的接口。
三、 计算机体系结构和计算机组成的区别
计算机体系结构:程序员所见到的计算机系统的属性(指令系统、数据类型、寻址技术,I/O机理) “有无乘法指令”;
计算机组成:实现具体的指令 “如何实现乘法指令”。
1.2 计算机的基本组成
一、 冯·诺依曼计算机的特点
- 计算机由五大部件组成;
- 指令和数据以同等地位存于存储器,可按地址寻访;
- 指令和数据用二进制表示;
- 指令由操作码和地址码组成;
- 存储程序;
- 以运算器为中心。
二、冯·诺依曼计算机硬件框图
实线表示数据通路,虚线表示控制线路。
- 运算器:数学运算,逻辑运算;
- 存储器:存储数据和程序;
- 控制器:指挥程序运行;
- 输入设备:将信息转化为机器能识别的形式;
- 输出设备:将结果转化为人们熟悉的形式。
问题:
- 运算器过于繁忙,成为系统的瓶颈;
- 框图不具有层次化的特征。
如何改进?
1. 以存储器为核心
2. 现代计算机硬件框图
系统复杂性管理的方法2:3'Y
- 层次化 Hierachy :划分为多个模块或子模块;
- 模块化 Modularity :有明确定义的功能和接口;
- 规则性 regularity :模块更加容易被重用。
三、 计算机的工作步骤
1. 上机前的准备
- 建立数学模型;
- 确定计算方法;
- 编制解题程序(程序——完整步骤/指令——单个步骤)。
ACC 为累加器。
2. 计算机的解题过程
- 存储器的基本组成
存储体: 存储体(大楼)——存储单元(房间)——存储元件(床位,0/1表示无人/有人)
存储器地址寄存器 MAR: 保存存储单元的地址或编号,反映存储单元的个数。
存储器数据寄存器 MDR: 保存要送入送出存储体的数据(比如送入CPU的),反映存储字长。
存储单元: 存放一串二进制代码;存储字: 存储单元中的二进制代码;存储字长: 存储字的长度。
每个存储单元赋予一个地址,存储单元按照地址寻址。
- 运算器的基本组成及操作过程
ALU算逻运算单元是一个组合电路。组合电路如果撤销输入,也会撤销输出,所以必须在ALU的输入端加上寄存器,保存输入数据(ACC和X);ACC也用于保存结果,因为运算结果长度可能增加,增加乘商寄存器MQ保存多出来的部分。不同机型对应的运算器结构可能不同。
操作有顺序,由控制器控制先后或同时进行。
- 控制器的功能及基本组成
控制器解释指令、保障指令的有序执行。
取指令:从程序计数器PC中取出当前欲执行指令的地址;
分析指令:IR存放当前欲执行的指令,控制单元取出操作数进行分析。
运算器、控制器和存储器构成了计算机的主机。
- 主机完成一条指令的过程
1.3 计算机硬件的主要技术指标
1. 机器字长:CPU一次能处理数据的位数
与CPU中的寄存器位数有关。
2. 运算速度
主频、核数、每个核支持的线程数……
吉普森法:指令执行速度的加权平均(静态使用频率、动态使用频率) \(T_M=\sum\limits_{i=1}^n f_i t_i\)
CPI:执行一条指令所需时钟周期数
MIPS:每秒执行百万条指令
FLOPS:每秒浮点运算次数(更科学)
3. 存储容量:存放二进制信息的总位数
主存容量表示方式:存储单元个数*存储字长(如MAR=10,MDR=8,容量1K*8位),字节数;辅存容量表示方式:字节数
2.1 计算机的发展史
一、 计算机的产生和发展
现代计算机产生的驱动力:需求+技术发展(电子技术、体系结构技术);以硬件技术为计算机划代的标准:电子管——晶体管——中小规模集电——大规模集电——超大规模集电
1946年美国ENIAC:能十进制运算;由大量电子管构成,功耗大,占地面积大;用手工搬动开关进行编程。
IAS:以运算器为中心的冯诺依曼结构计算机
IBM System/360大中小型一系列产品:提出了计算机系统结构,给出了软硬件系统的交界面(软硬件设计可以同时进行);相同体系结构允许软件移植,形成了系列机和兼容机(同一公司,相同体系结构:系列机 / 不同公司,相同体系结构:兼容机)。
二、 微型计算机的出现和发展
微型计算机是使用微处理器的,集成度相对高的,面向个人的计算机。微处理器芯片和存储器芯片为微型计算机发展奠定基础。目前,芯片可集成超过30万个晶体管。
Moore(Intel公司创始人)定律:微芯片上集成的晶体管数目每三年翻两番。
三、 软件技术的兴起和发展
1. 各种语言
机器语言——面向机器(每设计一台新机器,都有不同的指令集,程序难以移植;01代码难以编写),汇编语言——面向机器,高级语言——面向问题(FORTRAN 科学与工程计算 PASCAL 结构化编程 C++ JAVA)
2. 系统软件
语言处理程序(汇编程序、编译程序、解释程序),操作系统,服务性程序(装配、调试、诊断、报错),数据库管理系统,网络软件
3. 软件发展的特点
软件是程序+ 文档(开发、使用、维护)
开发周期长,制作成本昂贵,检测软件产品质量的特殊性(很难把作用域完全测试,代码运行成功也不一定正确,程序分支复杂)
2.2 计算机的应用
科学计算和数据处理,工业控制和实时控制,网络技术,虚拟现实,办公自动化和管理信息系统,CAD/CAM/CIMS, 多媒体技术,人工智能
2.3 计算机的展望
替代传统的硅芯片?——光计算机(利用光子取代电子进行运算和存储),DNA生物计算机,量子计算机
标签:计算机,存储器,笔记,指令,存储单元,原理,运算器,体系结构 From: https://www.cnblogs.com/th19/p/17723094.html