计算机系统知识
1、原码、补码、反码、移码(增码) 符号位:0正 1负
-
a.原码
+11=0000 1011 带符号位乘除是正确的,(正负)加减运算就会出问题。
-11=1000 1011 -
b.反码:正数的反码=正数的原码 负数的反码=绝对值逐位求反。0有正0和负0之分。
+7=0 000 0111B
-7=1 111 1000B -
c.补码:正数的补码=正数的原码 负数的补码=符号位1+绝对值的原码按位取反。可以使减法变成加法进行运算。最适合进行加减运算的数字编码
-7的绝对值的原码=|-7|=7=0000 0111 逐位取反为1111 1000 所以-7=1+1111 1000=1111 1001 -
d.移码(增码):符号取反的补码.x=+1011 【x】补=01011 【x】移=11011 为了保证浮点数的机器零为全0,最适合表示浮点数阶码的数字编码
2、CPU=运算器+控制器
CPU由四大部件构成:运算器、控制器 、寄存器组、内部总线。
- 运算器:完成算数运算和逻辑运算,完成对数据的加工和处理。它是由算术\逻辑运算单元(ALU)、累加器ACC(加法器)、寄存器组、数据总线组成。
- 控制器:控制指令执行。控制器由程序计数器(PC)、状态条件寄存器(PSW)、时序产生器、指令寄存器(IR)、指令译码器(ID)、数据寄存器(DR)、地址寄存器(AR)、控制总线(CB)组成。
3、存储器
存储器分为内存和外存。
内存(主存):存储当前正在执行的程序、数据。特点是存取数据块、容量小,断电可能丢失数据。
外存(辅存):用来存放需要长期保留的数据。特点是存取速度慢、容量大、断电不会丢失数据。
高速缓存时用来存放当前最活跃的程序和数据的,即存放主存局部区域内容的副本。其特点是一般在几KB到几MB之间,速度一般比主存块5-10倍,其目的是解决主存与CPU速度不匹配的问题。
4、输入和输出
计算机常用的输入、输出控制方式:无条件传送、中断、程序查询、DMA方式等。
- 无条件传送:外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供需要输入的数据。
- 程序I/O:利用查询方式进行输入输出。CPU通过程序查询外设的状态,判断外设是否准备好接收数据或向CPU输入数据。缺点是在数据传输期间,CPU必须等待并定期查询I\O系统的状态,以确认传输是否完成,系统性能严重下降。
- 中断I/O: 当外部设备的I/O模块准备好时,它会发送给CPU一个中断信号,CPU则会立即做出响应,暂停当前程序的处理去服务该I\O设备的程序,CPU不用再反复查询I\O设备状态。
- DMA方式:直接主存存取,指数据在主存与I/O设备间直接成块传输,过程中不需要CPU做任何干涉,只需在过程开始启动与过程结束时由CPU进行处理,实际操作有DMA硬件直接完成,CPU在传送过程中可做别的事情。
5、I/O设备管理软件
I/O设备管理关键一般分为4层:中断处理程序、设备驱动程序、与设备无关的系统管理、用户级软件。
1、硬件:执行I/O操作。
2、中断处理程序:I/O结束时,唤醒驱动程序。
3、设备驱动程序:置设备寄存器:检查状态。
4、设备无关软件:命名、保护、阻塞、缓冲、分配。
5、用户进程 :I/O请求,进行I/O调用,格式化I/O,Spooling。