西邮计算机组成原理期末考试,计算机组成原理小抄西邮版.doc

计算机组成原理小抄西邮版

数字计算机主要组成部分:

1.运算器

2.存储器

3.控制器

4.适配器与输入输出设备

控制器的基本任务,就是按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作。接着从存储器取出第二条指令,在执行这第二条指令。每取出一条指令,控制器中的指令计数器就加1,从而为取下一条指令做好准备,这也就是指令为什么在存储器中顺序存放的原因。

指令和数据统统放在内存中,从形式上看它们都是二进制数码。一般来讲,在取指周期中从内存读出的信息是指令流,它流向控制器;而执行周期中从内存读出的信息流是数据流,它由内存流向运算器。

计算机软件一般分为两大类:一类叫系统程序,一类叫应用程序

浮点加减运算的操作过程大体分为四步:

(1) 0 操作数检查

浮点加减运算过程比定点运算过程复杂。如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间。

(2) 比较阶码大小并完成对阶

两浮点数进行加减,首先要看两数的阶码是否相同。若二数阶码相同表示小数点是对齐的,可以进行尾数的加减运算;若二数阶码不同表示小数点位置没有对齐,此时必须使二数阶码相同这个过程叫作对阶。在对阶时总是使小阶向大阶看齐,即小阶的尾数向右移位(相当于小数点左移) ,每右移一位其阶码加1,直到阶码相等

(3) 尾数求和运算

对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法进行操作,其方法与定点加减法运算完全一样。

(4) 结果规格化

在浮点加减运算时,尾数求和的结果也可以得到01.ф…ф或10.ф…ф,即两符号位不等,这在定点加减法运算中称为溢出,是不允许的。但在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化。此时将运算结果右移以实现规格化表示称为向右规格化。规则是:尾数右移1位阶码加1。当尾数不是1.M时需向左规格化。

(5) 舍入处理

在对阶或向右规格化时尾数要向右移位,这样被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。简单的舍入方法有两种:一种是"0舍1入"法。另一种是"恒置一"法。

在IEEE754标准中,舍入处理提供四种可选方法:

就近舍入 其实质就是通常所说的“四舍五入”。

朝0舍入 即朝数轴原点方向舍入,就是简单的截尾。这种方法容易导致误差积累。

朝+∞舍入 对正数来说,只要多余位不全为0则向最低有效位进1;对负数来说则是简单的截尾。

朝-∞舍入 处理方法正好与 朝+∞舍入情况相反。对正数来说,只要多余位不全为0则简单截尾;对负数来说,向最低有效位进1。

SRAM(静态RAM:Static RAM)

以触发器为基本存储单元

不需要额外的刷新电路

速度快,但集成度低,功耗和价格较高

DRAM(动态RAM:Dynamic RAM)

以单个MOS管为基本存储单元

要不断进行刷新(Refresh)操作

集成度高、价格低、功耗小,但速度较SRAM慢

DRAM的刷新方式:

集中式:在刷新间隔内,前段时间进行正常操作,不刷新;需要刷新时,暂停读/写周期,集中刷新整个存储器, 由于刷新集中进行,会造成芯片“死时间”过长;因为芯片在刷新过程中,禁止了正常的读/写操作

分散式:把一个存储周期分为两半,前半段时间用来读/写操作或维持信息,后半段时间作为刷新操作时间,加长了系统周期,刷新过于频繁

多模块交叉存储器:

方式1:顺序方式

某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。但各模块串行工作,存储器的带宽受到了限制。

(d) 特点:

易扩充容量

故障局部性。

(e) 缺点:

各模块串行工作,带宽受到限制。

方式2:交叉方式

地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。

(d) 特点:

多模块并行工作,速度快

不易扩展

故障全局性。

Cache的工作原理

1、Cache以块为单位进行操作

2、当CPU发出访内操作请求后,首先由Cache控制器判断当前请求的字是否在Cache中,若在,叫命中,否则,不命中

3、若命中:

若是“读”请求,则直接对Cache读,与主存无关

若是“写”请求:

Cache单元与主存单元同时写(Write through写)

只更新Cache单元并加标记,移出时修改主存(写回Copy back)

只写入主存,

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Labuladong是一位在LeetCode社区和算法领域广受欢迎的博主,他的算法小电子是一本关于算法和数据结构的进阶读物,适合有一定计算机科学知识基础的读者。这本小详细介绍了常见算法和数据结构的实现方法和应用场景,并且提供了大量的实战例题以及代码实现。小的知识点涵盖了字符串、数组、链表、栈、队列、哈希表、堆、二分查找、贪心算法、动态规划、并查集等等。特别是动态规划这一章节,很详细地介绍了基础概念、应用场景、解题思路和实现过程,并且提供了丰富的实例题供读者练习。此外,小还特别强调了一些算法和数据结构的优化技巧,例如二分法的应用、哈希表的实现、递归和迭代的选择等等。总的来说,这本小是一个很好的算法和数据结构进阶读物,读者不仅可以学到实用的算法和数据结构,还能掌握优秀的编程思想和技巧。 ### 回答2: labuladong的算法小电子是一本介绍算法思想与实现的书籍。本书的作者是labuladong,他是一名算法工程师,希望通过本书的介绍,帮助读者更好地掌握算法知识,提高算法应用能力。 本书以“数据结构+算法=程序”为主线,从数据结构的基础知识出发,逐步向读者介绍了各种常用算法,包括贪心算法、递归算法、动态规划算法以及常用的数据结构,如链表、栈、队列、堆、二叉树等等。本书采用了简单明了的讲解方式,具有很高的可读性,对于初学者来说非常友好。 除此之外,本书还提供了大量的算法实例,包括查找最小值、排序、编辑距离、字符串匹配、最长公共子序列等,这些实例都具有较高的实际应用价值。在阅读过程中,读者可以先学习算法基础知识,然后通过实例进行巩固练习,最终不仅能够掌握算法的基本原理,还能够应用到实际开发项目中。 总而言之,labuladong的算法小电子是一本非常实用的算法入门书籍,适合各种水平的读者阅读和学习。阅读本书不仅能够提升自己的算法实现能力,还能够为以后的学习和工作打下坚实的基础。 ### 回答3: “labuladong的算法小电子”是一本非常实用的算法学习工具,它由程序员labuladong所编写。主要涵盖了算法的基础知识、数据结构的选用、常见算法的优化、LeetCode实战等内容。针对每一种算法,都有详细且易懂的解析和示例,使得读者能够更好地理解和掌握各类算法。 在阅读这本电子时,读者需要有一定的算法基础和编程能力。如果没有足够的基础,建议先学习相关的基础知识,再来逐步学习这本书。为了方便读者练习,书中的算法都有相应的练习题目,读者可以根据自己的情况进行练习。 此外,这本电子的细节设计也很人性化,每个章节都有详细的目录,便于读者快速定位和查找所需内容。内容也不会过于枯燥,有趣的动画和实用的小技巧也会让读者更加爱不释手。 总之,“labuladong的算法小电子”是一本值得推荐的算法学习资料,它可以帮助读者快速掌握各类算法和数据结构,并且应用到实际的问题中。想要提高自己的编程技能和解决问题的能力,不妨一试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值