最近打算啃一下《计算机组成与设计:硬件/软件接口》,因此会将看书所得总结一下输出,感兴趣的朋友可以持续关注也欢迎跟我交流。博客确实好久没写了,争取以后每周更新一篇。
第一章的的内容是关于计算机的一个概述,基本都是概念化知识,因此我在这里也是做条目性的总结。
一.计算的应用
计算机的应用主要分为下面几种:
- 个人计算机:这个我们最为熟悉,就是个人笔记本,包括图形显示器,键盘,鼠标。
- 服务器:用于为多用户运行大型程序的计算机,通常由多个用户并行使用,并且一般通过网络访问。服务器的功能和价格伸缩性比较强,高端服务器就是我们日常所知的超级计算机,一般会有成百上千台处理器组成。
- 嵌入式处理器:嵌入到其他设备中的计算机,一般运行预定义的一个或者一组应用程序,也就是我们日常所接触到微处理器。
- 个人移动设备:最典型的代表就是智能手机和平板。
- 云计算:在网络上提供服务的大服务器集群,一些运营商根据应用需求出租不同数量的服务器。
二.计算机体系结构中的8个重要思想
- 面向摩尔定律的设计
- 使用抽象简化设计
- 加速大概率事件
- 通过并行提高性能
- 通过流水线提高性能
- 通过预测提高性能
- 存储器层次
- 通过冗余提高可靠性
三.程序分类
系统软件:有很多种,对于现代计算机,操作系统和编译程序是必备的。
应用软件:面向不同应用开发。
程序分类层次如下所示:
四.数据安全(存储器的简要介绍)
- 易失性存储器:类似DRAM的存储器,仅在加电的时候保存数据。
- 非易失性存储器:在掉电的时候仍旧可以保持数据的存储器,如磁盘,闪存。
五.性能定义
性能衡量可以关注下面两点:
- 响应时间:计算机完成某个任务所需要的总时间,包括硬盘访问,内存访问,I/O活动,操作系统开销和CPU执行时间。
- 吞吐率(带宽):单位时间内完成的任务数量。
以上两个因素往往相互影响。
CPU的性能衡量:CPIx指令数目x时钟周期。
CPI:cycle per instuction,对于不同的测试用例,CPI是不同的。因此可以用过典型测试集进行CPU的性能评估。