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题

  • 相关阅读:
    模板 无源汇上下界可行流 loj115
    ICPC2018JiaozuoE Resistors in Parallel 高精度 数论
    hdu 2255 奔小康赚大钱 最佳匹配 KM算法
    ICPC2018Beijing 现场赛D Frog and Portal 构造
    codeforce 1175E Minimal Segment Cover ST表 倍增思想
    ICPC2018Jiaozuo 现场赛H Can You Solve the Harder Problem? 后缀数组 树上差分 ST表 口胡题解
    luogu P1966 火柴排队 树状数组 逆序对 离散化
    luogu P1970 花匠 贪心
    luogu P1967 货车运输 最大生成树 倍增LCA
    luogu P1315 观光公交 贪心
  • 原文地址:https://www.cnblogs.com/Hfolsvh/p/14236272.html
Copyright © 2011-2022 走看看