1.4 计算机系统概述思维导图小结-常见问题和易混淆知识点(组成原理)
文章目录
1.计算机系统概述思维导图
2.常见问题及易混淆知识点
(1)主频高的CPU一定比主频低的CPU快吗?为什么?
- 不一定快,因为CPU运算速度不仅与主频有关还与CPU的流水线的各方面性能指标(架构、缓存、指令集、CPU位数、Cache大小等)。
(2)不同级别的语言编写程序有什么区别?哪种语言编写的程序能被硬件直接执行?
- 机器语言和汇编语言与机器指令对应
- 高级语言不与指令直接对应。具有较好的移植性
- 机器语言可以被硬件直接执行
(3)同一个功能可以由软件实现又可以由硬件实现吗?
- 可以,在逻辑功能上,软件和硬件是等效的,但不是等价的
(4)翻译程序、汇编程序、编译程序、解释程序的区别和联系是什么?
- 翻译程序:高级语言源程序翻译成机器语言程序(目标代码)的软件
- 翻译程序:编译程序+解释程序
- 编译程序:
它将高级语言程序一次全部转换成目标语言程序,目标语言可以是汇编语言或机器语言之类的“低级语言”
,每次执行程序时,只需执行目标程序,因此只要源程序不变,就无须重新翻译。同一高级语言在不同体系结构下,翻译成目标程序是不一样的,目标程序与体系结构有关,但仍不是计算机硬件能够直接执行的程序 - 汇编程序:也是一种语言翻译程序,它将
汇编语言源程序翻译为机器语言程序
,是一种面向机器的低级语言,是机器语言的符号表示,与机器语言一一对应
(5)什么是透明性?
- 在计算机领域中,对于某类用户来说,看不见,感觉不到的事务和属性,我们就说是透明的,否则就是不透明的。
- 比如高级语言程序员:浮点数格式、乘法指令等这些指令格式、数据如何在运算器中运算是
透明
的 - 对于机器语言和汇编语言程序员:指令格式、机器结构、数据格式等则
不透明
的 - 在CPU中,IR,MAR,MDR对各类程序员都是
透明
的
(6)机器字长、指令字长、存储字长的区别和联系是什么?
- 机器字长:计算机能直接处理的二进制数据位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运输算精度
- 指令字长:一个指令字中包含的二进制位数
- 存储字长:一个存储单元存储的二进制位数,即一个存储单元中存储元件的个数,一个存储元件存储一个二进制数0/1
它们必须是字节的整数倍,一般1(字节,B,byte )= 8 bit
- 指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,那么需要访存2次取出一条指令,因此取指周期为机器周期的2倍;若指令字长等于存储字长,则取指周期等于机器周期;
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。
(7)计算机体系结构和计算机组成的区别和联系是什么?
- 计算机体系结构:指机器语言或汇编语言程序员所看得到的传统机器属性,包括指令集、数据类型、存储器寻址技术等,大都属于抽象的属性。
- 计算机组成:指如何实现计算机体系结构所体现的属性,它包含对许多程序员来说透明的硬件细节。
例如:指令系统如何实现取指令、分析指令、取操作数、如何运算等都属于组成问题 - 两台机器指令系统相同时,只能认为他们具有相同的结构,至于这两台机器如何实现其指令系统,可以完全不同,即可以认为他们的组成方式是不同的。
例如:一台机器是否具备乘法指令是一个结构问题,但实现乘法指令采用什么方式则是一个组成问题。
(8)基准程序执行得越快说明机器的性能越好吗?
- 一般情况下,基准测试程序能够反映机器性能的好坏。但是,由于基准程序中的语句存在频度的差异,因此运行结果并不能完全说明问题。
基准测试程序(Benchmark)用来测量机器的硬件最高实际运行性能,以及软件优化的性能提升效果,可分为微基准测试程序(Microbenchmark)和宏基准测试程序(Macrobenchmark)。