软件设计师笔记-计算机系统

  1. CPU主要由运算器、控制器、寄存器数组和内部总线等部件组成。

1.1运算器
运算器由算数逻辑单元(ALU)、累加寄存器(AC)、数据缓冲寄存器(DR)和状态指令寄存器组成,是数据加工处理的部件。
运算器的算数逻辑单元ALU负责处理数据,实现对数据的算数运算和逻辑运算。
累加寄存器(AC)当运算器的算术逻辑单元ALU进行算术或者逻辑运算的时候,为ALU提供一个工作区。
数据缓冲寄存器(DR):作为CPU和内存、外部设备之间数据传输的中转站;作为CPU和内存、外围设备之间在
操作速度上的缓冲。
状态寄存器(PSW)保存由算数指令和逻辑指令运行或者测试的结果建立的各种条件码内容。
1.2控制器
控制器控制整个CPU的工作。
控制器包含指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等。
指令控制逻辑要完成取指令、分析指令和执行指令的操作、其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址。
指令寄存器(IR):当CPU执行一条指令时,先把他从内存储器取到缓冲寄存器中,再送入IR暂存,治理译码器根据IR的内容产生各指令,控制
其他组成部件的运行,完成所需功能。
程序计数器(PC)具有寄存信息和计数两种功能。又称为指令计数器。
地址寄存器(AR)保存当前CPU所访问的内存单元的地址。
指令译码器(ID):指令分为操作码和地址码,指令译码器就是对指令中的操作码进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制完成所需的功能。




2.校验码


     2.海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码的编码和校验方法。

  编码

  确定校验码的位数x

  设数据有n位,校验码有x位。则校验码一共有2x种取值方式。其中需要一种取值方式表示数据正确,剩下2x-1种取值方式表示有一位数据出错。因为编码后的二进制串有n+x位,因此x应该满足

2x-1 ≥ n+x   

  使不等式成立的x的最小值就是校验码的位数。在本例中,n=7,解得x=4。

  确定校验码的位置

  校验码在二进制串中的位置为2的整数幂。剩下的位置为数据。如图所示。

位置1234567891011
内容x1x21x3010x4110

 

  求出校验位的值

  以求x2的值为例。为了直观,将表格中的位置用二进制表示。

位置00010010001101000101011001111000100110101011
内容x1x21x3010x4110

  为了求出x2,要使所有位置的第二位是1的数据(即形如**1*的位置的数据)的异或值为0。即x2^1^1^0^1^0 = 0。因此x2 = 1。

  同理可得x1 = 0, x3 = 1, x4 = 0。

位置00010010001101000101011001111000100110101011
内容01110100110

 

  因此1010110的海明码为01110100110。

  校验

  假设位置为1011的数据由0变成了1,校验过程为:

  将所有位置形如***1, **1*, *1**, 1***的数据分别异或。

  ***1: 0^1^0^0^1^1 = 1

  **1*: 1^1^1^0^1^1 = 1

  *1**: 1^0^1^0 = 0 

  1***: 0^1^1^1 = 1

  以上四组中,如果一组异或值为1,说明该组中有数据出错了。***1 **1* 1***的异或都为1,说明出错数据的位置为1011。

指令系统

根据CPU内部存储操作数的区别,指令集分为堆栈、累加器和寄存器数组。

CISC复杂指令集,RISC精简指令集

指令控制方式  顺序、重叠和流水。

顺序 是指各条机器指令之间顺序串行地执行。

重叠 是指在解释第K条指令的操作完成之前就可以开始解释第K+1t条指令。





Cache位于Cpu和主存之间,由硬件实现,容量小,速度比主存快5-10倍。其内容是主存内容的副本(所以Cache无法扩大主存容量),对程序员来说是透明的,既可以存放数据又可以存放程序。

判断CPU要访问的数据信息是否在Cache存储器中,若在,即为命中。若不在则没有命中。命中时直接对cache存储器寻址。

未命中,若是读取操作,则从主存中读取数据并按照确定的替换原则把改数据写入cache存储器中,若是写入操作,则将数据写入主存即可。









可靠性



Cache存储体系由Cache主存储器构成,主要是提高存储器速度,对系统程序员以上都是透明。

虚拟存储器由主存储器和在线磁盘存储器等构成,目的是扩大存储器容量,对应用程序员透明。

使用补码来表示和运算数据,原因是使用补码表示数据时,可以将符号位和其他位统一处理,

减法也可以按照加法处理,从而简化运算部件的设计。


若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是t取指=2ns ,t 分析=2ns,t 执行=1ns。则100 条指令全部执行完毕需 ------- ns。A.163 B.183 C.193 D.203答案:D 

2+2+1+2*99=203 应该是D  第一次执行用了2+2+1 =5 的时间 接下来的99次因为是流水线,所以每次都只要取指、分析和执行三部分中时间最长的那一个,也就是2ns


同一进程中的各个线程都可以共享该进程所拥有的资源,但是不能共享进程中某线程的栈指针。

公用信号量用于实现进程间的互斥,初值为1或者资源的数目;私用信号用于实现进程间的同步,初值为0或者某个正整数。

信号S >= 0表示某资源的可用数, S <0表示阻塞队列中等待该资源的进程数。













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值