目录
1.1 计算应用的分类:
个人计算机
服务器
嵌入式计算机
1.2 计算机系统结构中8个伟大思想
1.2.1 面向摩尔定律的设计
由于摩尔定律,设计者需要设计开始时预测设计完成时的工艺水平。
1.2.2 使用抽象简化设计
为提高设计产量,减少设计时间,设计师需要使用抽象来表示不同的设计层次。
1.2.3 加速大概率事件
大概率事件表示经常发生的,优化大概率事件对性能提高更大。
1.2.4 通过并行提高性能
1.2.5 通过流水线提高性能
流水是一种特别的并行方法
1.2.6 通过预测提高性能
误预估恢复执行的代价不高,预测准确率相对较高的情况下,通过预估提前开始某些操作,从而提高性能。
1.2.7 存储器层次
存储器的目标:速度更快,容量更大,价格更便宜
解决方法:越靠近顶端,存储器速度越快,容量越小,价格越贵;越靠近底层,存储速度越慢,容量越大,价格越便宜。
1.2.8 通过冗余提高可靠性
冗余部件可以替代失效部件并帮助检查错误。
1.3 程序概念入门
计算机中的硬件只能执行极为简单的低级指令,从复杂的应用程序到简单的指令需要经过几个软件层次来将复杂的高层次操作逐步解释或翻译成简单的计算机指令。
图1-1 简化的硬件和软件层次图
系统软件:提供常用的软件服务,包括操作系统、编译程序、加载程序和汇编程序等。其中操作系统和编译程序时对于计算机系统来说是必须的。
操作系统:使用户程序和硬件之间的接口,为用户提供各种服务和监控功能。其重要作用有:
1、处理基本的输入输出操作;
2、分配内存和外存;
3、为多个应用程序提供共享计算机资源的服务。
常见的操作系统有Linux、Windows和iOS。
编译程序:把高级语言(如C、C++、Java等)编写的程序翻译成硬件能执行的指令。
那么如何将高级语言翻译成硬件语言?下面将简单的介绍一下过程,首先先介绍几个概念。
指令:能被计算机硬件识别并执行的命令,如1000110010100000。
机器语言:以二进制元形式表示的机器指令,如1000110010100000。
汇编语言:以助记符形式表示的指令,如 add A,B 。
汇编程序&