1、计算机周期
时钟周期:也称为振荡周期,定义为时钟频率的倒数。是计算机最基本的最小的时间单位。
指令周期:从主存取一条指令的时间
机械周期:也称CPU周期,指完成一个基本操作(取指、读存储器、写存储器等)所需要的时间。通常用内存中读取一个指令字的最短时间来规定CPU周期。
总线周期:CPU完成一次内存访问(读写)或接口操作所需要的时间。
一个总线周期通常由n个时钟周期组成;但一个指令周期中可能包含有一个或几个总线周期,也可能一个总线周期都没有,这取决于该指令的功能。
2、流水线计算
流水线周期:工序中最长的那段执行时间
流水线计算公式:第一条指令执行时间+(指令条数-1)*流水线周期
流水线吞吐率:指单位时间内流水线完成的的任务数量或输出的结果数量
TP=指令条数/流水线执行时间
流水线的加速比:完成同一批任务,不使用流水线所用的时间与使用流水线所用时间之比
S=不适用流水线执行时间/使用流水线执行时间
3、I/O接口
I/O:即输入/输出,指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出
I/O接口功能:
- 数据缓冲:主机和外设工作速度匹配
- 错误或状态检测:反馈设备各种错误、状态信息
- 控制和定时:接收从控制总线发来的控制信号、时钟信号
- 数据格式转换:串并、并串等格式转换
- 与主机和设备通信:实现主机-I/O接口-I/O设备间通信
4、系统总线
分类:数据总线、地址总线、控制总线
总线:连接多个部件的信息传输线,是各部件共享的传输介质。
特点:在某一时刻,只允许有一个部件向总线上信息传送可以串行和并行。
计算机使用总线结构便于增减外设,同时减少信息传输线的条数。但相对于专线结构,其实际上也降低了信息传输的并行性、信息的传输速度。
系统总线也称内总线,直接影响系统性能。主要标准有ISA、EISA、PCI
外部总线简称外总线,标准有七八十种。主要标准有RS-232C、SCSI、USB、IEEE-1394
5、算术表达式
中缀表达式:运算符位于操作数中间 2+3 *7
后缀表达式:运算符在操作数后面 2 3 7 *+
前缀表达式:运算符位于操作数前面+2*3 7
后缀表达式计算规则:从左到右遍历表达式的每个数字和符号,遇到数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果
栈:是一种线性数据结构,数据像碗一样一层层堆起来,数据“后进先出”。
中缀表达式转后缀表达式的计算
直接转换法---从最内层括号开始运算并转换,数字在前,符号在后
利用表达式树法---表达式树的树叶是操作数,其他节点为操作符,根节点为优先级最低且靠右的操作符,不含括号。
树是一种非线性数据结构,存储的是具有“一对多”关系的数据元素的集合。
结点的度:结点拥有的子分支数
树的度:树内各节点中最大的度
完全二叉树(不满二叉树):深度为K,有n个结点的二叉树,并且其每个结点都与深度为K的满二叉树中编号从1至n的结点一一对应。
满二叉树:二叉树的层数为K,且结点总数是(2的K次幂)-1
二叉树的遍历:顺着一条搜索路径访问二叉树中的结点,每个节点均被访问一次,且只被访问一次。最后得到一个线性排列
先序遍历:左根右
中序遍历:根左右
后序遍历:左右根
6、数据结构---队列
队列:是一种线性数据结构,数据排成一队,在头部删除旧数据,在尾部添加新数据,数据“先进先出”
offer():入队操作,添加元素
poll():出队操作,返回队列首元素并删除
peek():出队操作,获取队列首元素不删除
isEmpty():判断队列是否为空。
7、数据结构---串
串:又叫字符串,是一种特殊的线性数据结构,它的数据元素是字符。
串的存储方式:顺序存储、链式存储
线性表,又称线性存储结构,是最简单的一种存储结构,专门用来存储逻辑关系为“一对一”的数据
8、查找算法
顺序查找,从一端开始逐个比较
分块查找,又称为索引顺序查找,是折半查找和顺序查找的改进,适合于节点动态变化的情况。
特点:块内元素可以无序,块之间必须有序、第n块中任意元素都必须小于第n+1块中任意元素。
二分查找,关键字先排序,以找兼职为中心一分为二,先与中间值比较;再根据比较结果,选择在左段或者右端比较。
特点:元素值有序、顺序存储
哈希表查找,散列查找,根据关键码值而直接进行访问的数据结构。
在理想情况下,每个关键字通过散列函数计算出来的地址都不同。如果两个关键字key1!=key2 ,但却有f(key1)=f(key2),这种现象称为冲突。出现冲突会造成查找错误。可以通过精心设计散列函数让冲突尽可能减少,但不能完全避免。
常见的散列函数构造方法:
- 直接定址f(x)=ax+b
- 数字分析法
- 平方取中法
- 折叠法
- 除留余数法
- 随机数法f(x)=random(x)
数据存储方式:
- 顺序存储:在一组地址连续的存储区域依次存放数据
访问:指针直接访问
特点:查找快、增删慢、适用内存
- 链接存储:不要求逻辑上相邻的结点在物理位置上相邻
访问:指针逐个找
特点:查找慢、增删快、适用内存
- 索引存储:通过结点索引引导来确定结点存储地址
访问:直接寻址
特点:查找快、占用空间大、适用内外存交互
- 散列存储:根据结点关键字直接算出存储地址(映射)
特点:查找快、适用内外存交互
9、排序算法
冒泡排序;比较相邻的2个元素
快速排序:选一个中间元素,比它小的放左边大的放右边,然后从A组和B组中重复上述操作,直到A组和B组再无法分解。
选择排序:找到最小元素放在首位,在剩下元素中找最小元素,放到第二位。重复上述操作
插入排序:将一个元素插入到已经排好序的有序表中。适用于数据量小,后者有部分数据已经排好,且排好的部分越大越好的情形。
希尔排序:又称缩小增量排序,插入排序的改进,对较大规模且无序的情况下,效率也较高。将大数据分组成若干个小规模数据,然后适用插入排序。
堆排序:将堆顶元素逐个拉下来,后面元素顶上去。按顺序拉下来的元素就形成了一定顺序。
归并排序:分而治之,将全部数据分为若干小份,完成小份排序后再合并。
计数排序:数列元素都是整数,且最大值和最小值相差不大时,排序效率最高。
桶排序:数列元素范围大,或者不是整数时采用
基数排序:先按个位数大小排序,再按十位数大小排序,再按百位数大小排序...
稳定:如果a原来在b前面,而a=b,排序之后a仍然在b前面
不稳定:如果a原来在b前面,而a=b,排序之后a可能会在b的后面
时间复杂度:对排序数据总的操作次数
空间复杂度:指算法在计算机内执行时所需存储空间的度量,是数据规模n的函数。
10、网络模型
OSI模型特性:分层体系结构
分层优点:每层作为独立子系统,互相独立,灵活性强,结构可分割,便于实现和维护。
- 应用层:提供应用程序间通信
- 表示层:处理数据格式、数据加密等
- 会话层:建立、维护和管理会话
- 传输层:建立主机端到端连接
- 网络层:寻址和路由选择
- 数据链路层:提供介质访问、链路管理等
- 物理层:比特流传输 </