nfssuzukaze / Blog

0 stars 0 forks source link

计算机的抽象及技术 #5

Open nfssuzukaze opened 3 years ago

nfssuzukaze commented 3 years ago

计算机的抽象及技术

1. 计算机体系结构中的 8 个伟大思想

  1. 面向摩尔定律的设计 摩尔定律指出,集成电路上可容纳晶体管的数量每 18~24 个月翻一番。由于计算机设计通常需要几年的时间,因此项目结束时芯片的集成度较之项目开始时很容易翻一番甚至翻两番 所以设计师应当预测设计完成时的工艺和技术水平,而不是设计开始时的工艺
  2. 使用抽象简化设计 计算机架构师和程序员都需要足够的开发效率。而提高硬件和软件开发效率主要技术之一就是使用 抽象 来表征不同级别的设计
  3. 加速大概率事件 加速大概率事件通常比优化小概率事件更能提高性能。且大概率事件通常比小概率事件简单,因而更易于对其进行优化以提高性能
  4. 通过并行提高性能
  5. 通过流水线提高性能
  6. 通过预测提高性能 假设预测错误后恢复的代价不大,而且预测的准确率相对较高,那么通过预测的方式提前开始工作,要比等到确定知道能执行后再工作的效率高一些
  7. 存储器层次结构 现如今,计算机价格的很大一部分都在存储器上。人们总希望存储器能够价格更便宜,速度更快,容量更大。但实际上速度越快的存储器容量越小,价格越昂贵 为了使得计算机看上去既有足够大的容量,足够低的价格,又有足够快的速度,于是便出现了存储器的层次结构:位于顶层的存储器速度最快,容量最小,价格最昂贵;而位于底层的存储器速度最慢,容量最大,价格最便宜
  8. 通过冗余提高可靠性 计算机工作时不仅要快,还要稳定可靠。任何一个器件都有可能失效,故可以设计冗余的器件来提高计算机的可靠性。当一个器件失效后,对应的冗余器件可以代替其完成对应的工作并帮助检查错误

2. 程序表面之下

从复杂的程序到简单的指令,需要经过几个软件层次来将高层的操作(高级语言描述)逐步翻译或解释成简单的计算机指令。这就是抽象的一个典型的例子 20201002195945 如图,最外层是应用软件,中间是系统软件,最里层是硬件 系统软件有很多种,其中最主要的两种分别是操作系统编译器

操作系统的作用有:

当前常用的操作系统有 LinuxiOSWindows

编译器的作用是将高级语言编写的程序 (如 C++Java 等语言) 翻译成机器级语言

计算机语言的发展