考试科目代码 829 考试科目名称 计算机专业基础 参考书目 1.计算机组成原理参考书 袁春风《计算机组成与系统结构》,清华大学出版社,2010年 唐朔飞编著,《计算机组成原理》(第2版) 高等教育出版社,2008年 2.操作系统参考书 汤小丹,梁红兵,哲凤屏,汤子瀛,《计算机操作系统》(第三版),西安电子科技大学出版社,2007年5月 3.数据结构参考书 严蔚敏、吴伟民 编著,《数据结构(C)语言版》 清华大学出版社,2007年 考试大纲 一、计算机组成原理部分 【目标】 1. 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。 2. 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。 3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。 【大纲】 1.计算机系统概述 (1). 了解计算机的发展历程; (2). 掌握冯?诺依曼计算机结构的特点,计算机硬件的基本组成与功能,计算机系统的组成(硬件+软件)及其层次结构,计算机的工作原理; (3). 掌握计算机的性能指标,具体包括CPU执行时间、CPI、时钟周期、主频、MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS等; 2.数据的机器级表示 (1).掌握数制与编码:包括进位计数制及其相互转换,真值和机器数,BCD编码,字符与字符串,校验码; (2). 熟练掌握定点数的表示与运算:包括无符号数的表示和有符号整数的表示,定点数的移位运算;原码定点数加减运算;补码定点数加减法运算;定点数乘除运算;识记溢出概念和判别方法; (3). 掌握浮点数的表示与运算:包括浮点数的表示,IEEE754标准,浮点数的加减运算及其规格化; (4).理解算术逻辑单元ALU:包括串行加法器和并行加法器,算术逻辑单元ALU的功能与结构; 3.运算方法与运算部件 (1).掌握不同层次程序员看到的运算:高级语言以C语言为例,ISA层面则以MIPS为例; (2). 了解串行加法器、并行加法器及先行进位部件,掌握算术逻辑部件ALU的设计; (3). 掌握定点数运算及运算部件:补码加减运算,无符号数乘法运算,无符号除法运算;掌握补码加减运算器如何实现; (4). 掌握浮点数加减运算及浮点数运算的精度问题;了解相应的运算部件实现思想; 4.存储器分层体系结构 (1).了解存储器的分类及其分层结构,半导体存储器随机访问存储器的组织,只读存储器及主存的主要技术指标等;掌握存储器芯片与CPU的连接,多模块存储器的交叉存储; (2).掌握高速缓冲存储器的CPU的基本访存过程, Cache和主存之间的映射方式,程序访问的局部性原理对编程的影响及Cache-friendly的程序,了解Cache替换算法和Cache写策略; (3).掌握虚拟存储器的基本概念,三种实现方案,缺页的处理以及快表的工作原理,注意虚拟地址和物理地址的转换问题,如何查段表和页表;TLB的原理和作用;平均访问时间的计算等。 5.指令系统 (1).熟练掌握指令的基本格式,包括定长操作码和扩展操作码的优缺点对比,采用扩展操作码方式指令数目的计算以及设计; (2).指令的寻址方式:识记有效地址的概念,了解数据寻址和指令寻址,掌握常见寻址方式及寻址过程; (3). 了解CISC和RISC的基本概念 及区别; 6.中央处理器 (1).熟练掌握指令的执行过程,并结合微指令考察一条指令执行的各个步骤; (2). 掌握CPU数据通路的功能及基本结构; (3). 熟练掌握控制器的功能和工作原理,包括硬布线控制器,微程序控制器 (4). 掌握异常与中断的处理机制; 7. 系统总线 (1).了解总线概述:识记总线的基本概念,分类,总线的组成及性能指标; (2). 掌握总线仲裁的仲裁方式以及各自的工作原理; (3). 掌握总线操作和定时方式以及原理; (4). 了解总线标准,常用标准所规定的机械结构、功能结构和电气规范; 8.输入输出组织 (1).了解I/O系统基本概念 (2). 识记各种外部设备,理解这些设备的基本工作原理和常见的性能指标; (3). 识记I/O接口的功能和基本结构,I/O端口及其编址; (4). 熟练掌握I/O的三种控制方式;中断方式要求掌握中断的基本概念,中断响应过程,中断处理过程,多重中断和中断屏蔽等;DMA方式要求掌握DMA控制器的组成和DMA的传送过程。 二、操作系统部分 【目标】 1. 了解操作系统在计算机系统中的地位、作用及其发展历史和特点。 2. 理解操作系统的基本概念、原理和思维方式,掌握操作系统基本的设计方法与实现技术。 3. 能够运用操作系统原理、方法与技术分析问题和解决问题。 【大纲】 1.操作系统概述 (1)操作系统的概念、特征、功能和提供的服务 (2)操作系统的发展与分类 (3)操作系统的基本结构 2.进程管理 (1) 前驱图以及程序顺序执行和并发执行的特点 (2) 进程的基本概念和思想 (3) 进程的状态与转换 (4) 进程控制块及其作用 (5) 进程组织 (6) 进程同步:进程同步的概念和同步原则,临街资源和临界区的概念,信号量及其应用,经典进程同步问题 (7) 进程通信的基本概念和方法 (8) 线程的概念和多线程模型 3.调度与死锁 (1)调度的概念 (2)调度队列模型 (3)调度的基本准则与方式 (4)各种调度算法及其评价 (5)死锁问题及其处理方法,包括死锁的概念和原因,产生死锁的必要条件,死锁处理策略,死锁的预防、避免、以及检测和解除。 4.内存管理 (1)内存管理的基本概念:链接与装入,逻辑地址与物理地址空间,对换与覆盖,重定位 (2)连续内存分配方法,离散内存分配方法(分页、分段、段页), (3)虚拟内存分配方法(虚拟内存的概念,局部性原理,实现虚拟内存所需的硬件和软件支持,请求分页(段)管理,页面置换算法) (4)内存保护与共享 (5)抖动的概念和处理方法 5.设备管理 (1)I/O体系结构 (2)I/O控制方法 (3)I/O分配中的数据结构和分配方法 (4)通道和通道程序 (5)设备独立性及其实现方法 (6)虚拟设备和SPOOLing技术 (7)缓冲管理 (8)设备处理与I/O软件 (9)设备分配 6.磁盘与文件系统 (1)磁盘的结构和基本概念 (2)磁盘的调度 (3)磁盘的性能改善和容错 (4)文件的概念 (5)物理文件组织 (6)外存分配方法 (7)文件存储空间的管理 (8)逻辑文件组织 (9)目录及其管理 (10)文件共享和保护 7.操作系统接口 (1)接口类型 (2)系统调用概念 (3)系统调用的类型和实现方法 三、数据结构部分 【目标】 1. 理解数据结构的基本概念;掌握数据的逻辑结构、存储结构,以及各种基本操作的实现。 2. 能对算法的时间复杂度与空间复杂度进行基本的分析。 3. 能选择合适的数据结构和方法进行问题求解,具备采用 C 或 C++语言设计与实现算法的能力。 【大纲】 1.数据结构基本概念及简单的算法分析 (1)数据结构基本概念; (2)算法的定义、特性; (3)简单的算法分析:时间复杂度、空间复杂度; 2.线性表 (1)顺序表和链表的存储与基本操作; (2)顺序表和链表的应用; (3)循环链表;双向链表; 3.栈和队列 (1)栈和队列的定义; (2)栈和队列的顺序和链式存储; (3)栈和队列的应用; 4.字符串 (1)字符串的定义、存储和操作; (2)字符串的模式匹配; 5.数组和广义表 (1)数组的顺序存储表示; (2)矩阵的压缩存储:特殊矩阵、稀疏矩阵; (3)广义表的定义和存储结构; 6.树与二叉树 (1)二叉树的定义、性质和存储结构; (2)遍历二叉树; (3)树的定义和存储结构; (4)赫夫曼编码; 7.图 (1)图的基本概念;图的存储表示:邻接矩阵、邻接表; (2)图的遍历与连通性; (3)最小生成树; (4)拓扑排序; (5)关键路径; (6)最短路径; 8.查找 (1)顺序表查找;有序表查找;索引顺序表查找; (2)二叉排序树;平衡二叉树;B-树; (3)哈希表的构造和冲突处理方法; 9.内部排序 (1)插入排序; (2)交换排序; (3)选择排序; (4)归并排序; (5)基数排序; (6)内部排序算法的比较和应用;