Linux内核分析课程1_计算机是如何工作的

Linux内核课第一周作业。本文在云课堂中实验楼完成。

唐国泽  原创作品转载请注明出处  《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

--------------------------------------------------------分割线----------------------------------------------------------------------------------------------------



    计算机的工作过程可以用上面这个图来表示,但是计算机又是如何工作的呢?

    计算机的工作,一言以蔽之:执行程序的过程。因此分析计算机是如何工作的也就是分析计算机是如何执行程序的。了解了“程序存储”,再去理解计算机工作过程变得十分容易。如果想叫计算机工作,就得先把程序编出来,然后通过输入设备送到存储器保存起来,即程序存储。下面就是执行程序的问题。根据冯·诺依曼的设计,计算机应能自动执行程序,而执行程序又归结为逐条执行指令。执行一条指令又可分为以下4个基本操作:

  ①取出指令:从存储器某个地址中取出要执行的指令送到CPU内部的指令寄存器暂存。
  分析指令:把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作。
  执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作。
  为执行下一条指令作好准备,即取出下一条指令地址。



实验:

1.代码

int g(int x)

{

return x + 10;

}

int f(int x)

{

return g(x);

}

int main(void)

{

return f(20) + 8;

}


2.相应汇编为(去掉相应的辅助信息)



3.堆栈变化示意图




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值