计算机组成原理-袁春风版
第一章:计算机系统概述
计算机硬件组成
- 采用存储程序的工作方式
- 计算机由运算器、控制器、存储器、输入设备、输出设备5个基本部分组成。
- 存储器存放数据和程序。
- 形式上数据和指令没有区别,但计算机能区分它们
- 控制器能控制指令的主动执行
- 运算器能进行4种基本算术运算,并能进行逻辑运算
- 操作人员可通过i/o设备使用计算机
- 计算机内部以二进制形式表示指令和数据。
- 每条指令由操作码和地址码组成
- 操作码指出操作类型
- 地址码指出操作数的地址
- CPU:是计算机核心部件,主要用于指令执行
- 数据通路:包含算术逻辑部件、通用寄存器等,其功能是执行算术和逻辑运算等操作
- 控制器:用来对指令进行译码,生成相应的控制信号,以控制数据通路进行正确操作
- 存储器:内存主要包括主存储器和高速缓存器
- 主存:早期计算机没有高速缓存,一般不区分内存和主存,2都都特指主存储器
- 外存:辅助存储器+海量后备存储器。通常把系统运行时直接和主存交换信息的存储器叫辅存。目前辅存主要是磁盘和固态硬盘
- I/O设备:
- 机械部分:外设本身
- 电子部分:控制外设的io控制器或适配器。又叫设备控制器。通过它将外设连接到主机上。
- 总线:是传输信息的介质,用于部件之间传输信息。CPU、主存和io模块通过总线相连,在CPU和io模块中都含有相应的存储部件,即缓存器
计算机系统的层次结构
- 计算机系统是一个层次结构系统,通过向上层用户提供一个抽象的简洁接口而将较低的层次实现细节隐藏起来。计算机解决应用问题的过程就是不同抽象过程进行转换的过程
- 编程语言:与自然语言不同,有严格执行顺序,不存在二义性,能唯一确定执行指令的顺序。
- 高级语言:和底层计算机结构关联不大,是机器无关语言
- 低级语言::和运算程序的计算机结构密切相关,通常称为机器级语言,汇编和机器语言都是机器级语言
- 符号表示语言:通过用简短的英语符号与二进制代码建立对应关系,以方便程序员编写和阅读机器语言程序,这种语言叫汇编语言。
- 程序设计语言处理系统:将高级语言程序转换成计算机能够处理的机器语言程序。任何一个语言处理系统,都包含一个翻译程序,能把一种编程语言表示的程序转换为等价的另一种编程语言程序。被翻译的语言和程序称为源语言和源程序,翻译生成的叫目标语言和目标程序。分为3类翻译程序:
- 汇编程序:也称汇编器,用来将汇编语言源程序翻译成机器语言目标程序
- 解释程序:也称解释器,用来将源程序中的语句按照执行顺序逐条翻译成机器指令并立即执行
- 编译程序:也称编译器,用来将高级语言源程序翻译成汇编语言或机器语言目标程序
- 操作系统:是对计算机底层结构和计算机硬件的一种抽象,这种抽象构成了一台可以让程序员使用的虚拟机。
- ISA指令集体系结构:它是软件和硬件之间接口听一个完整定义。
- 定义了一台计算机可以执行的所有指令的集合,每条指令规定了计算机执行的操作,所处理的操作数存放的地址空间及操作数类型。
- ISA规定的内容包括:
- 数据类型及格式
- 指令格式
- 寻址方式、可访问地址空间的大小
- 程序可以访问的寄存器个数、位数和编号
- 控制寄存器的定义
- I/O空间的编址方式
- 中断结构
- 机器工作状态的定义和切换
- 输入输出结构的数据传送方式
- 存储保护方式等等
- 机器语言:就是一个ISA规定的指令的序列,计算机执行机器语言程序的过程就是让其执行一条一条指令的过程
- 微架构:ISA是对指令系统的一种规定或结构规范,具体实现的组织称为微体系结构。ISA和微结构是两个不同层面上概念。微结构是软件不可感知的部分,如加法器的实体是采用串行进位方式还是并行进位方式,这种属于微体系结构。相同的ISA可能有不同的微体系结构。微体系结构由逻辑电路实现的。
- 透明:在计算机技术中,一个存在的事物或概念从某个角度看似不存在,即,对实际存在的事物或概念感觉不到,则称为透明。比如,系统程序员看到的底层机器级概念性结构和功能特性对高级语言程序说是透明的。
- 指令:就是用0,1表示的一串01序列,用来指示CPU完成一个特定的原子操作。