zoukankan      html  css  js  c++  java
  • 计算机系统基础复习指北

    一、考试范围

    一 单选题(每题2分,共30分)

    二~四题(程序填空题、计算题、应用题) (共70分)

    二、复习范围

    第一章 计算机系统概述

       1.ENIAC,ABC的“世界第一台电子计算机”之争。冯·诺依曼被美军军方负责人戈尔斯坦邀请加入了ENIAC研制组。冯·诺依曼计算机的基本思想(4个方面,最主要是存储程序,程序控制)。

    • 采用“存储程序”工作
    • 计算机由运算器、控制器、存储器、输入输出设备组成
    • 存储器能存放设备也能存放指令。控制器能自动执行指令。运算器能进行算术运算,也能进行逻辑运算。操作人员通过输入输出设备使用计算机
    • 计算机内部用二进制表示指令和数据;每条指令由操作码和地址码组成,由一串指令组成程序

     2.P3中“计算机内部以二进制形式表示指令和数据”,CPU从存储器中取出指令和数据,如何区分?

       从时间来说:取指令事件发生在“取指周期”;取数据事件发生在“执行周期”。

       从空间来说:取出的二进制代码是指令,一定送往指令寄存器(控制器);取出的二进制代码是数据,一定送往数据寄存器(运算器)。

       3.计算机软件分为:系统软件和应用软件,常见例子能区别开。

    •  系统软件:如操作系统、语言翻译系统等
    • 应用软件:解决具体问题

       4.P10的从源程序到可执行目标文件的转换过程:预处理、编译、汇编、链接。

     5.图1.10计算机系统抽象层(层次化结构):高级语言,低级语言(机器语言和汇编语言)。ISA的含义、内容及特性(常见的ISA,例如MIPS,ARM,IA-32),ISA与微体系结构(微架构)的区别(P13)。

    •  ISA(Instruction Set Architecture):指令集体系结构
    • ISA内容:对指令系统的一种规范。内容包括:指令集、寄存器结构、存储空间和编址方式、数据存放方式、寻址方式、指令控制等。
    •  ISA特性:定义了一台计算机可以执行的所有指令的集合。

    • ISA与微架构的区别:ISA是软件可以感知到的部分,微体系结构是软件不可感知部分。相同的ISA可以有不同的微体系结构,微体系结构由逻辑电路实现。 

    6.应用程序员与系统程序员的区别。(P16,17:开发应用软件与系统软件的区别)

    • 应用程序员使用高级程序设计语言编写程序
    • 系统程序员需要熟悉计算机底层的相关硬件和系统结构

    7.CPI、MIPS的含义,学会计算CPI、MIPS,具体见要求会做的例题与习题。

    • CPI(Cycles per instruction):执行一条指令所需要的时钟周期数
    • MIPS(Million Instructions Per Second):平均每秒执行多少百万条指令

    习题:第6,7,8,10,11题

    第二章 数据的机器级表示与处理

      1.给定任意一个真值数(包括整数、小数部分)能够转换成为不同数制(二、八、十六进制)。

      2.机器数的表示方式:原码、补码、反码、移码。要求:给定任意一个数,能求出上述四种表示编码(同时给定任一机器码,能给出真值是多少?),并且熟悉上述四种编码的特点(例如数值零的表示形式是否唯一,补码与移码具备相同的范围);给定指定数值宽度(例如8位或16位)的小数或整数能求出上述四种编码的所表示真实值的范围。

    • 原码:由符号位和数值组成,0的表示不唯一
    • 补码:实现加减法运算的统一,0的表示唯一,比原码和反码多表示一个最小负数
    • 反码:各位取反。0的表示不唯一,表数范围比补码少一个最小负数
    • 移码:用来表示浮点数的阶码。加上一个偏置常数

     

     由真值求补码:正数符号位取0,数值位不变;负数符号位取1,数值位取反加1

    由补码求真值:符号位为0是正数,数值位不变;符号位是1是负数,数值位取反加1

    最小负数取负会溢出

    3.例题2.21 (P43,P44)

      4.机器数分为:定点数与浮点数。 IEEE754单精度浮点数格式,能够给一真实值能求出IEEE格式的浮点数,相反也要会。浮点数尾数如何规格化?尾数如果采用原码(采用补码呢?),规格化尾数必定是±0.1****格式。(P46的表2.2要看明白理解)

     

     

    5.P57的大端方式和小端方式,学会按字节编址的存储空间里如何存储数据,图2.6。

    6.P63的位扩展及位截断,学会P63的举例。

       习题:第9、10、21、22、23、28、29、34题

    第三章程序的转换及机器级表示

    1.P87计算机的指令有微指令、机器指令和伪(宏)指令之分。

    微指令属于硬件范畴,微程序命令;伪指令是若干机器指令组织的指令序列,属于软件范畴;

    机器指令介于二者之间,处于硬件和软件的交界面。一般指令是指机器指令,汇编指令是机器指令的汇编语言表示形式。机器指令与汇编指令一一对应,都与具体机器结构有关,都属于机器级指令。

    2.熟悉P99的图3.4的IA-32各类寻址方式。

    立即数、寄存器、位移、基址、基址加位移、比例变址加位移、基址加变址加位移、基址加比例变址加位移、相对寻址

    3.熟悉常见的IA-32汇编指令 (P103-P114),同时熟悉x86-64指令的指令后缀q及过程调用参数传递的6个通用寄存器。

    例如(不限于以下举例指令):movs movz(具体应用见P105的表3.4), pushl popl, LEA。表3.5(P107)的各类算术运算指令对标志位的影响(例如addw)。比较指令cmp与根据大小进行转移指令的搭配,逻辑运算指令,移位指令(例如SAL, SAR熟练使用)。LEA指令的使用(与mov的区别,LEA有时被用来做加法)。P111的表3.6条件转移指令。

    调用者保存寄存器:EAX、ECX、EDX

    被调用者保存寄存器:EBX、ESI、EDI

    4.P调用Q,此过程中的操作和顺序,及ESP,EBP的变化。

    • P将入口参数放到Q能访问到的地方
    • P将返回地址存在特定的地方,将控制转移到Q
    • Q保存P的现场,并为自己的非静态局部变量分配空间
    • 执行Q的过程体(函数体)
    • Q恢复P的现场,并释放局部变量所占空间
    • Q取出返回地址,将控制转移到P

    5.选择语句、循环结构等机器级表示,复杂数据类型的分配和访问,

    根据汇编语句能补充C程序语句,根据C程序能看懂汇编语句。相关例题及习题。

    习题:第3、4、5、10、11、13、14、17、18、19、20、21、22、23题

  • 相关阅读:
    redis限流器的设计
    使用HystrixCommand封装http请求
    自定义的最简单的可回调的线程任务CallbackableFeatureTask(模仿google的ListenableFutureTask)
    通用的规则匹配算法(原创)(java+.net)
    redis缓存切面实现(支持缓存key的spel表达式)
    使用join和CountDownLatch来等待线程结束
    shell日常实战练习——通过监视用户登陆找到入侵者
    Nginx web服务器
    nginx——防盗链功能
    nginx 隐藏nginx版本号
  • 原文地址:https://www.cnblogs.com/Hfolsvh/p/14236272.html
Copyright © 2011-2022 走看看