前情提要:目前忙于手中的某个项目和省内的考试,很少能够拿出时间来进行博客的维护,目前也尽量继续维护自己的博客和网站,希望能够保持针对自己的学习过程的记录。
今天主要是进行计算机组成原理的知识点复习和联想,之前由于一些事情,某个课程没有参加考试,本次将会进行一次回顾。
- 计算机的四代的变化。
- 计算机元器件的更新换代
- 计算机软件的发展
- 计算机的分类和发展方向
- 计算机系统的组成和体系结构
- 计算机的工作工程和软件分类
- 计算机的多级层次结构
- 计算机的主要性能指标
将会使用联想的方式来和C代码进行一定程度上的关联。也算是对自己的C语言以及高级语言程序开发进行一个统一的回顾和印象的加深。
当然其中部分内容会与计算机基础相关知识点重合,不想看的可以直接略过。
计算机的四代变化(计算机基础重合知识点)
世界上第一台计算机时1946年发明的电子数字计算机,冯诺依曼为当时该台计算机的设计提供了一部分的思路,但是他并不是第一台基于冯诺依曼体系结构的计算机。
第一代计算机:电子管时代
第二代计算机:晶体管时代
第三代计算机:中小规模集成电路时代
第四代计算机:超大规模集成电路时代
关于计算机元件的更新换代,需要了解的是摩尔定律。摩尔定律表明,当价格不变时,集成电路上可以容纳的晶体管数量,大约每隔18个月就会增加一倍,性能也会增加一倍。但是需要注意的是,性能是值得计算机某个特定元器件的性能增加一倍,计算机系统整体的性能会存在一部分的瓶颈。可以参考Amdahl定律,该定律就说明了某特定部件对于计算机系统的性能提升比。
而从计算机的发展来看,计算机的半导体存储器发展了11代,从单芯片1KB、4KB、16KB、64KB、256KB、1MB、4MB、16MB、64MB、256MB一直到现在的1GB。
计算机软件的发展
软件的发展在组成原理中,不考虑软件工程中的软件开发方法,当然考研912的伙伴们可能还是需要了解一下软件工程的相关发展过程。计算机软件主要由面向机器的机器语言和汇编语言发展到了面向问题的高级语言。其中高级语言的发展真正的促进了计算机软件的发展,也扩展了计算机系统在日常生活中的应用程度和应用范围。高级语言具有可移植、可扩展、易读、易学、易修改等优点。
高级语言分为编译语言和脚本语言。编译语言需要将高级语言经过编译、链接、才能进行执行。而脚本语言没有编译过程,可能会通过内置虚拟机进行实时的高级语言和机器代码的转换,这个过程可能会比编译过程慢,再不受机器体系结构的影响下,编译能够实现一次编译多次运行的效果。(脚本语言是解释形程序)
例:
科学计算和工程计算 FORTRAN语言
结构化设计 PASCAL语言
面向对象 C++语言
适应网络环境 JAVA语言
计算机的分类和发展方向
电子计算机的分类为电子模拟计算机和电子数据计算机。
数字计算机可以按照用途分为专用计算机和通用计算机,这是根据计算机的效率、速度、价格以及运行的经济性和适应性来划分的。
通用计算机又分为巨型机、大型机、中型机、小型机、微型机、单片机6类,他们的体积、功耗、性能、数据存储量、指令系统的复杂程度以及价格依次递减。
此外,计算机按照指令和数据流还可以分为:
1、单指令流单数据流计算机(传统冯诺依曼计算机)
2、单指令流多数据流计算机(阵列处理机和向量处理机)
3、多指令流单数据流计算机(不存在,仅作为理论研究)
4、多指令流多数据流计算机(多处理器多计算机系统)
在并行操作上,多指令流多数据流计算机将会有明显的数据处理优势。但是指令架构可能会较为复杂。
到目前为止计算机使用二进制的原因是物理器件的性能所决定的。
目前有研究表明,三进制的情况下, 计算机的运行效率将会是最高的。
计算机的组成和体系结构
计算机系统由硬件系统和软件系统共同组成。硬件是指有形的物理设备,是指计算机系统中实际物理装置的总称。而软件就是指在硬件上运行的程序和相关的数据以及文档。
计算机系统的性能好坏,主要是由软件的运行效率和作用来表现的,而软件的运行离不开硬件的支持,对于某一个功能来说,既可以用硬件实现,也可以用软件实现,这个时候需要进行取舍,进行软硬件的功能的分配。通常来说,一个功能若使用比较频繁而且用硬件实现的成本比较理想的时候,那么可以用硬件来解决这个问题。而软件实现的情况下可以提高系统的整体的灵活性,同时节约硬件的成本。
基本组成
冯诺依曼在研究EDVAC机器的时候提出了“程序控制”的思想,这个就是著名的冯诺依曼体系结构,它奠定了现代计算机的基本结构。特点如下:
1、计算机硬件系统由运算器、存储器、控制器、输出设备和输出设备组成。
2、指令和数据以同等地位存储在存储器中,可以按照地址访问
3、指令和数据都按照二进制来表示和存放
4、指令由操作码和地址码构成,操作码表示操作的性质,地址码用于表示操作数载存储器中的位置
5、指令在存储器中按照顺序存放,通常指令是顺序执行的,(PC寄存器),在特定条件下可以根据运算结果或者根据设定的条件改变执行顺序。
6、早起的冯诺依曼机器以运算器为中心,输入输出设备通过运算器和存储器传送数据。
现代计算机的组织结构
在微处理器问世之前 ,运算器和控制器是分离的,而且存储器的容量特别小,所以设计成以运算器为中心的结构,其他部件都通过运算器来完成信息的传递。而随着微电子技术的进步,同时计算机需要处理加工的信息量也慢慢变大,大量的IO设备的处理速度和CPU的运算速度差异太大,所以以运算器为中心的结构不能满足计算机发展的要求。现代计算器以存储器为中心,使得IO操作尽可能的绕过CPU。直接在IO设备和存储器之间完成,以提高系统的整体运行效率。
目前绝大多数计算机仍然遵守冯诺依曼的存储程序控制的设计思想。