《Linux内核分析》 第一节 计算机是如何工作的

第一节 计算机是如何工作的

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

一、存储程序计算机

  • 冯诺依曼体系结构

二、X86汇编基础

  •      常见汇编指令

  • 几种常见的寻址方式

三、汇编一个简单的C程序

  1. 实验部分
  • 将完整的C代码输入

 

 

 

 

 

 

 

 

 

 

 

使用

gcc –S –o main.s main.c -m32

命令编译成汇编代码,删去多余部分得到如下代码

   

 

 

 

 

 

 

 

 

 

 

 

 

 

      2.过程分析

  • 下面对汇编代码工作过程中堆栈的变化进行分析

     (1)首先从main函数开始执行,堆栈变化如下

     (2)转到函数f,继续按顺序执行,堆栈变化如下

 

    (3)转到g函数

 

        函数执行完成,得到最终结果,堆栈恢复到运行main函数之前的状态。

三、总结

  • 理解计算机是如何工作的

        根据冯诺依曼体系结构计算机可从硬件和软件两个角度进行分析,硬件部分较为复杂,不仅有CPU还有各种存储设备,存储设备为CPU的运行服务。CPU通过执行总线传输的多种指令完成工作,通过内置的各种软件将命令“翻译”成机器可识别的指令,执行指令的过程体现在不断地在寄存器中存储、撤销数据,最终完成“计算过程”。

 

posted on 2016-02-28 15:21  zjq9  阅读(263)  评论(0编辑  收藏  举报