计算机组成与设计(1)-----概要

思维导图

一.引言

1.1计算机的分类

计算机可以分为个人计算机,服务器,嵌入式计算

  1. 个人计算机:以便利性和价格为主要考虑因素,最常见的就是个人电脑.
  2. 服务器:主要用于处理大量的访问,其中包含超级计算机,超算是最好的服务器.
  3. 嵌入式计算机:嵌入式计算机的程序非常单一,可能就只会处理与其限对应的硬件,比如冰箱内置的计算机.

随着技术的进步,现在已经步入了后PC时代,新出现了个人移动设备(PMD)和云计算

  1. 个人移动设备Pernal Mobile Device:例如手机
  2. 云计算:阿里云等,手机中的所有计算不一定会全在手机的处理器中进行计算,可能会上传的云计算中,由它返回结果.

1.2设计思想

  1. 有八个重要的设计思想,会贯穿计算机组成与设计全书
  2. 面向摩尔定律设计:在进行相应的设计时,应该考虑到计算机性能的发展
  3. 使用抽象简化设计:使用抽象分层可以使结构更加明确.
  4. 存储器层次:存储器使用用于存储数据的,硬件可以通过其访问速度进行分层,以取得最快的访问速度.
  5. 加速大概率事件:优化性能时,应该首先考虑优化最大可能会发生的事,这样优化效果比较明显.
  6. 通过并行提高性能:现在的计算机大多有多核,使用并发可以有效提高处理多个任务的速度.
  7. 通过流水线提高性能:想汽车装配一样控制程序流程,可以有效提高计算机性能
  8. 通过预测提高性能:考虑到可能会发生的问题并进行处理.
  9. 通过冗余提高性能:添加冗余的组件可以在正在使用的配件出问题后及时替换.

二.程序入门

应用抽象思想,我们对程序进行了分层

  1. 硬件层次:机器只能识别二进制语言,一个二进制串表示需要机器进行某一个操作
  2. 系统软件:一般会有操作系统,还有编译程序,可以将汇编语言编译成机器语言,即二进制语言
  3. 应用软件:通过常用的高级语言,比如java等,可以构建常用的软件.通过编译期翻译成汇编语言

以上是对程序的分层,为什么要这样分层呢?

在计算机刚开始研发出来时,只能通过二进制语言进行交互,但是这样实在太麻烦了,而且不够明确,所以就出现了汇编语言,他的实质是使用一个特别的字符串以代替某一个二进制命令.所以通过汇编语言可以更加明确地对计算机输入命令了.当然随着编程技术的发展,就需要一种可以对世界中所有事物进行精确描述的语言,高级语言就出现了,它使用了符合人类常用语法的规则设置,然后通过编译器翻译成汇编语言.

三.硬件入门

所有的计算机其硬件都可以分为5类,其中数据通路和控制器合称为处理器.

  1. 输入设备:鼠标,键盘等等
  2. 输出设备:触摸屏,显示器.显示器
  3. 存储器:存储器使用了分层思想,分为主存和二级存储器.主存是具有易失性的,如果突然断电,则其中储存的数据不会保留,但是他的访问速度非常快.主存又分为内存DRAM和缓存SRAM,缓存一般就当做内存的缓冲,缓存的访问速度比内存还要高一些.二级存储器则具有非易失性,即断电也可以保留数据,缺点是访问速度偏慢,二级存储器又有磁盘和闪存之分,磁盘通过机械上的磁道访问数据,速度非常慢,而闪存的速度则比磁盘快上许多.
  4. 数据通路
  5. 控制器

四.性能

算法,软件系统,处理器,存储系统,IO系统都会影响计算机的性能.我们可以用一下三个标准来衡量计算机的性能

  1. 吞吐率:计算机在单位时间内处理任务的数量,也叫带宽.
  2. 响应时间:计算机处理一个任务从开始到结束总共花费的时间.
  3. CPU时间:CPU时间是响应时间的一部分,是响应时间中CPU处理数据所花费的时间.衡量CPU 时间需要几个专有名词,时钟周期:指CPU 的一个单位的时间,时钟频率是时钟周期的倒数,时钟周期数:指处理一个任务花费了多少个时钟周期,所以显而易见,一个任务的CPU时间=时钟周期*时钟周期数=时钟周期/时钟频率.而时钟周期数=程序的指令数*CPI,CPI是处理一个指令会消耗的时间所以,最后,CPU时间=指令数*CPI/时钟频率

五.功耗

每个晶体管的动态能耗正相关于

负载电容*电压^2

每个晶体管一个反转需要的能耗正相关于

1/2 * 负载电容 * 电压^2 * 开关频率         -----开关频率是时钟频率的函数,受其控制.

猜你喜欢

转载自blog.csdn.net/zh328271057/article/details/82250457