第一章计算机系统概论
”计算机系统导论”课程的由来
”计算机系统导论”课程内容概要
计算机系统概述
主要内容
·程的由来
·程内容概要
·冯诺依曼结构计算机特点
·程序的开发和执行过程
·计算机系统层次结构
用”系统思维”分析问题
代码段一:理解该问题需要知道:
inta=2147483648;机器级数据的表示
intb=a/-1;(如:真值和机器数的关系)
printf(%d,%d\n,a,b);机器指令的含义和执行
运行结果为(如:取负指令、除法指令)
-2147483648,-2147483648计算机内部的运算电路
Warning:thisdecimalconstantisunsigned(如:除法电路会判是否异常)
onlyinISOC90[enabledbydefault]
编译器如何优化
代码段二:
(如:a/-1可用取负指令实现)
inta=2147483648;
操作系统如何处理异常
intb=-1;
(如:除法错异常的处理)
intc=a/b;
??????
printf(%d,%d\n,a,c);
运行结果为“Floatingpointexception,显然CPU检测到了溢出异常
上述结果在Linux上获得,为什么两者结果不同?
在Windows上运算的结果又为何不同?
你在想什么?
·看了前面的举例,你的感觉是什么昵?
-计算机好像不可靠从机器角度来说,它永远对!你的感觉不可靠!
-程序执行结果不仅依赖于高级语言语法和语义,还与其他好多
方面有关
理解程序的执行结果要从系统层面考虑!
-本来以为学学编程和计算机基本原理就能当程序员,没想到还
挺复杂的,井不是那么简单
学完”计算机系统基础”就会对计算机系统有清晰的认识,
以后再学其他相关课程就容易多了。
-要把很多概念和知识联系起来才能理解程序的执行结果
把许多概念和知识联系起来就是李国杰院士所提出的”系统思维”。
即:站在“计算机系统”的角度考虑问题!
系统能力基千”系统思维”
·系统思维
-从计算机系统角度出发分析问题和解决问题
”
-首先取决千对计算机系统有多了解,