【保研面试】计算机组成原理

本文总结了计算机组成原理中的核心概念,如冯诺依曼机、存储程序、指令执行过程、性能指标等,深入解析了编译与解释、多级存储系统、Cache与虚拟存储器等技术。适合备考研究生或理解计算机基础架构的学生参考。

博主暑期整理了一些计算机组成原理相关的问题,以作保研面试之用。整理过程中也借鉴了一些网上的其他资料,其中绝大部分已不可考,如有侵权,通知删除。
因为计组在面试中被问得不多,所以整理得比较少。只有2次老师问到了冯诺依曼体系结构。


1.冯诺依曼机和存储程序的概念?

存储程”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为冯·诺依曼机,其特点如下:

  1. 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5 大部件组成。
  2. 指令和数据以同等地位存储在存储器中,并可按地址寻访。
  3. 指令和数据均用二进制代码表示。
  4. 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
  5. 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
  6. 早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。现代计算机以存储器为中心。

“存储程序”的概念是指将指令以代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。

2.计算机的工作过程?

计算机的工作过程分为以下三个步骤:

  1. 把程序和数据装入主存储器。
  2. 将源程序转换成可执行文件。
  3. 从可执行文件的首地址开始逐条执行指令。

3.在计算机系统结构中,什么是编译?什么是解释?

翻译的方式有两种,一个是编译,一个是解释。
编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,如果源程序不变以后要运行的话就不用重新翻译。
解释则不同,解释性语言的程序不需要编译,在运行程序的时候才翻译,翻译一句执行一句,不生成目标程序,这样解释性语言每执行一次就要翻译一次,效率比较低。

.java文件->编译->.class文件,编译成.class字节码,.class需要jvm解释,然后解释执行。Java很特殊,Java程序需要编译但是没有直接编译成机器语言,即二进制语言,而是编译成字节码(.class)再用解释方式执行。java程序编译以后的class属于中间代码,并不是可执行程序exe,不是二进制文件,所以在执行的时候需要一个中介来解释中间代码,这就是所谓的java虚拟机(JVM)。
C语言编译过程分成四个步骤:
1, 由.c文件到.i文件,这个过程叫预处理,将#include包含的头文件直接拷贝到hello.c当中;将#defifine定义的宏进行替换,同时将代码中没用的注释部分删除等。
2, 由.i文件到.s文件,这个过程叫编译
3, 由.s文件到.o文件,这个过程叫汇编
4, 由.o文件到可执行文件,这个过程叫链接,将翻译成的二进制与需要用到库绑定在一块
在这里插入图片描述

4.描述一下指令执行过程?

程序中第一条指令的地址置于PC 中,根据PC 取出第一条指令,经过译码、执行步骤等,控制计算机各功能部件协同运行,完成这条指令的功能,并计算下一条指令的地址。用新得到的指令地址继续读出第二条指令并执行,直到程序结束为止。下面以取数指令(即将指令地址码指示的存储单元中的操作数取出后送至运算器的ACC 中)为例进行说明,其信息流程如下:

  1. 取指令: PC 一>MAR—>M—>MDR—>IR
    根据PC 取指令到IR, 将PC 的内容送MAR, MAR 中的内容直接送地址线,同时控制器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值