-
冯 · 诺依曼结构构成
- 运算器:数值运算
- 存储器
- I/O
- 控制器:根据程序形成控制(指令、命令)序列,完成对数据的运算
-
存储程序计算机的主要特点:
- 机器以运算器为中心
- 存储器、I\O设备的操作由控制器集中控制;
- 采用存储程序原理
- 程序(指令)和数据存放在同一个存储器中
- 存储器是按照地址访问的、线性编址的空间;
- 控制流由指令流产生
- 接替算法是顺序型的
- 指令由操作码和地址码组成
- 数据以二进制进行编码以及运算
- 机器以运算器为中心
-
程序执行的过程
- 分解程序指令,形成控制四个部分工作的控制流
- 对数据进行加工(运算),形成数据流
- 循环产生指令流和数据流
- 得到最终结果
-
计算机体系结构是什么?
- 汇编语言、机器语言程序员所看到的计算机的属性,即概念性结构和功能性结构。(1964)
- 主要包括计算机指令系统、计算机组成、计算机硬件实现三个方面
- 涵盖处理器、多处理器、存储器、I\O系统、互联和通信等
- 性能评价、编译、操作系统技术
-
计算机体系结构的变化(按时间)
- 1940s:关注存储程序计算机,如ENIAC、EDVAC
- 1960s:关注指令系统,增加指令会降低可靠性,如IBM 360系列机
- 1960s:关注性能,阵列机、并行处理,如ILLIAC IV等
- 1970s:关注流水线,向量处理、处理器等,如Cray-1(突破每秒亿次),以及第一个CPU(Intel 4004)诞生!
- 1980s:RISC、Cache、流水线,如MIPS R1000, POWER等
- 1990s:关注并行:SMP,CMP
- 2000s:关注多线程、低功耗,如Intel i7,POWER 6等
-
软硬件功能等效性问题(同一个功能能被软硬件实现,但是效率、成本不同)、分配问题等
-
计算机的不同结构:
- 1、微程序机器级:语言是微指令集
- 2、传统机器级:一般指指令集,由微程序进行解释
- 3、操作系统虚拟机:提供了传统机器所没有的某些的基本操作和数据结构:文件系统等
- 4、汇编语言虚拟机,使用汇编程序(汇编器)把用汇编语言编写的程序解释为第2或者3级的语言
- 5、高级程序语言虚拟机:帮助程序更高小的写出应用语言的程序
- 6、应用语言虚拟机:
-
翻译和解释的区别:
- 翻译:将高级程序转换为低级程序,执行过程中高级程序不再被访问(多对多)
- 解释:来一条高级指令,执行一系列等效的低级指令,再来一条高级指令,再执行…(一对多)
一般来说翻译速度快,占用空间大,解释速度慢,占用空间小!
-
程序员所看到的计算机属性:
- 数据表示:硬件能直接辨认和处理的数据类型
- 寻址规则:寻址方式、表示
- 寄存器定义:例如某些特殊的寄存器被恒置为1等
- 指令系统:指令的操作类型、格式、指令间排序等
- 中断系统:
- 机器工作状态的定义和切换:
- 存储系统:
- 信息保护:
- I/O结构:
-
什么是计算机组成?
- 指令集结构的逻辑实现
- 数据通路宽度
- 各种操作对功能部件的共享程度
- 专用功能部件的设置
- 功能部件的并行性
- 缓冲和排队技术:缓解不同程序执行过程中的带来的等待
- 预测技术:加快程序执行速度的技术
- 可靠性技术:多部件冗余技术,例如太空等极端环境中
- 控制机构的组成等
- 指令集结构的逻辑实现
-
计算机的实现:
计算机的物理实现由哪些?
- 处理、贮存的物理结构
- 器件集成度和速度
- 信号传输
- 器件、模块、插件、底板的划分和连接
- 涉及的专用器件
- 电源、冷却技术(水冷、叶冷等)
- 微组装技术
- 整机装配技术等
-
一条指令的组成:
- 取指令:从存储器中取出一条指令
- 指令译码
- 分解并确定具体操作
- 确定操作对象的所在位置(某个寄存器单元、存储器单元、输入设备)
- 取操作数:取出操作数送入运算器
- 运算:运算器按照译码器的操作进行运算
- 结果写回:结果返回指定位置,准备执行下一条指令
参考资料
《计算机体系结构》.国防科技大学公开课.