1.CUP是由运算器、控制器、寄存器和系统总线组成的
2.再加上储存器、输入输出接口就组成了计算机
3.控制器有:程序计数器(计数指令的)、指令寄存器、指令译码器、状态和条件寄存器
4.软件设计师中的处理器划分依据Flynn分类法:指令流、数据流、多倍性
5.RISC的优点有7条:
指令分类少、寻址方法简化、访问内存指令少、大量利用寄存器操作、
简化处理器结构、便于使用VLSI技术、加强处理器并行能力
6.多级存储体系,Cache 主存体系:内存(意外断电数据没保存会丢失)
和外存(需要先调入内存中处理器才能使用)
7.内存按照时间先后顺序:E -> S -> D -> DD(记忆法)
EDO-RAM -> SD-RAM -> DDRAM -> DDRII
8.外存分为:磁盘(大多都是固定磁盘)、高速缓冲储存器(存储访问地址)、闪存(就是U盘)
9.原码:在前面加符号位,0表示正数,1表示负数,采用8位码制,
11的二进制是 1011 , +11的原码 0000 1011, -11的原码是 1000 1011
反码:正整数就是自身,反整数则是逐位反来求得
-11的原码是1000 1011,而反码就是(第一位不管,把1变成0,0变成1) 1111 0100
补码:正整数就是自身的原码,负整数是除符号位外,由其反码(注意是反码)加1得到的
-11的补码是 1111 0101
移码(又叫增码)是符号位取反的补码
-11的移码是 0111 0101
10.ASCII码 0是48, A是65 , a是97
11.指令分为操作码和地址码
12.地址码分为 三地址指令格式(被操作数地址,操作数地址,结果存放地址),
二地址指令(被操作数地址,操作数地址),
一地址指令(被操作数,操作结果放寄存器)
13.操作数或指令的存储地址 就是存放在某个存储单位的编号
形成操作数或者指令地址的方式 就是寻址方式
操作数的寻址方式有11种:隐含寻址、立即寻址、直接寻址、间接寻址、
寄存器寻址、寄存器间接寻址、相对寻址、基址寻址(扩大寻址能力)、
变址寻址、块寻址、段寻址
14.CPU通过接口对外设 进行控制方式主要有 程序控制方式、中断处理方式、DMA控制方式
中断控制方式:外接设备发送主机中断请求,主机暂时终止原来执行的程序,
去执行外接设备的输入输出操作,在中断处理完成后回来原来的程序继续执行;
DMA是直接存储器访问控制,CPU把总线控制权给DMA控制器,等DMA处理结束,DMA控制器再把控制权交回CPU
15.处理机由处理器、存储器和总线组成,总线由 数据总线、地址总线、控制总线;
16.+-0的补码和移码是相同的;
17.浮点数的对阶操作:阶码小的数右移对阶差,使两数阶码相等
规格化处理:符号位不同则右规格化,即右移一位,尾数结果溢出;
符号位相同则左移一位,左规格化,可能出现0.01;
浮点数的运算:(1)对阶,先求出阶码之差,小阶向右阶看齐,小阶的尾数右移阶码之差;
(2)加减运算,对阶后的尾数进行加减运算,得到最后的尾数结果;
(3)尾数运算的结果进行保存为规格化的浮点数,进行左规或右规处理;
目的是为了使尾数部分的绝对值尽可能大,如果符号位的值不同则出现溢出,进行右移一位,
阶码加一,此过程是"右规",如果符号位相同,将阶码-1,此过程是"左规"
将结果规则化判断是否溢出,当尾数溢出时调整阶码;
(4)舍入,结果右规时可能超过有效位数的尾数进行舍入处理,使运算误差最小化;
18.高级语言中分为解释型语言和编译型语言
A.采用编译型语言后的程序在实际运行中效率更好,因为编译一次,运行时不需要再编译,
但是编译型语言移植性差,由于编译时是针对特定硬件平台编译,
因此需要跨平台运行时需要重新编译,典型代表就是C语言;
B.解释型语言不需要事先编译,在运行程序的时候才转化成机器豫园,
每执行一次就会逐句翻译一次,因此运行效率比较低,
但是可移植性高,例如JavaScript;
C.现在流行的语言通常都有兼有解释型语言和编译型语言的特点,例如,NET和J2EE框架,
源代码都是首先被编译成为中间代码,然后在目标机上解释执行中间代码;
19.进程状态:运行、就绪、阻塞
运行状态=不需要等待外部设备(如等待打印机打印结束)+获得处理机;
处理机的时间用完(时间片耗尽)就进入就绪状态,随后系统会从就绪的进程中选一个进程进入运行状态;
就绪状态=不需要等待外部设备(如等待打印机打印结束)+等待获得处理机;
阻塞状态=需要等待外部设备(如等待打印机打印结束)+等待获得处理机;
两种状态是无法实现转换的:阻塞不能到运行,就绪不能到阻塞;
阻塞状态是没有处理机,所以只能到就绪状态,不能直接到运行状态;
就绪是不需要等待外部设备的,只需要等待处理机,所以不能进入到阻塞状态;
20.进程调度和实现:进程控制包括进程的创建、撤销和切换等功能;
创建进程的步骤有:1.给新进程分配唯一的进程标识符;
2.给进程分配存储空间;
3.初始化进程控制块;
4.设置正确的连接;
5.创建其他数据结构。
进程切换的原因有:1.中断,即外部事件的发生所引起;
2.陷阱,本程序中发送特定的错误和异常;
3.管理程序请求调用;
21.进程调度:分为高中低级;
A.高级调度就是作业调度,根据一定的算法,从输入的作业池中找若干个作业,高级调度就是作业调度,根据一定的算法,从输入的作业池中找若干个作业,
分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入输入);
最后把他们的程序和数据调入到内存,等待进程调度对其执行调度;
B.低级调度又成为处理机调度,是在就绪进程中选择一个进程,给它分配处理机并执行;
C.中级调度,为了限制内存中同时存放的进程数量,把某些进程从内存中移到外存上;
在扩展三态图中,运行态和就绪态之间的转换是由低级调度负责,活跃就绪和静止就绪之间的转换是由中级调度负责;
整个进程从创建到销毁是由高级调度负责;
作业调度的方式有:可剥夺式和不可剥夺式;系统打断当前进程的调度方式称可剥夺式,反之是不可剥夺式;
22.常用的进程调度算法有:先来先服务、优先级(可抢占式是可剥夺式)、时间片轮转及多级反馈调度等算法;
23.死锁:两个或者两个以上的进程同时请求被对方占用的资源导致所有的进程都无法继续;
产生死锁的原因:1.系统可用资源总数不足;
2.进程运行顺序不当;
3.资源分配顺序不当;
产生死锁的必要条件:1.互斥条件,一个资源只能一个进程使用;
2.请求与保持条件,一个进程因请求资源而被阻塞,以获得的资源保持不变;
3.非剥夺条件,进程已获得资源,在未被使用完之前不能被强行剥夺,只能等;
4.循环等待条件,若干个进程之间形成头尾相接的循环等待资源;
避免死锁的必要条件:安全状态法、银行家算法、死锁的检测与解除;