计算机组成原理(一)——计算机系统概述

一、计算机系统概述

1.1 计算机发展历程

计算机系统=硬件(计算机的实体,如主机、外设等)+软件(由具有各类特殊功能的程序组成)

计算机性能的好坏取决于“软”、“硬”件功能的总和





1.2 计算机系统层次结构

1.2.1 计算机硬件的基本组成

早期冯诺依曼机  (第一台采用冯诺依曼结构的计算机EDVAC)

“存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令直至程序执行结束。

在计算机系统中,软件和硬件在逻辑上是等效的。
Eg:对于乘法运算,可以设计一个专门的硬件电路实现乘法运算也可以用软件的方式,执行多次加法运算来实现

冯·诺依曼计算机的特点:
1.计算机由五大部件组成
2.指令和数据以同等地位存于存储器,可按地址寻访
3.指令和数据用二进制表示
4.指令由操作码和地址码组成
5.存储程序
6.以运算器为中心(输入/输出设备与存储器之间的数据传送通过运算器完成)


现代计算机:以存储器为中心
CPU=运算器+控制器


1.2.2(补充)各个硬件的工作原理

主存储器的基本组成

MAR(Memory Address Register)  存储地址寄存器
MDR(Memory Data Register) 存储数据寄存器

例:
MAR=4位→总共有2^4个存储单元
MDR=16位→每个存储单元可存放16bit,1个字(word)= 16bit
易混淆:1个字节(Byte) = 8bit,1B=1个字节,1b=1个bit

存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1bit 

运算器的基本组成


运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)
ACC:累加器,用于存放操作数,或运算结果。
MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
X:通用的操作数寄存器,用于存放操作数
ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算

控制器的基本组成

CU(Control Unit):控制单元,分析指令,给出控制信号
IR(Instruction Register):指令寄存器,存放当前执行的指令
PC(Program Counter):程序计数器,存放下一条指令地址,有自动加1功能






1.2.3 计算机软件


应用软件是为了解决某个应用领域的问题而编制的程序

系统软件负责管理硬件资源,并向上层应用程序提供基础服务



1.2.4 计算机系统的层次结构


1.2.5 计算机系统的工作原理


计算机系统的工作原理

1.3 计算机的性能指标 

存储器的性能指标


总容量=存储单元个数×存储字长bit        1Byte = 8bit
           =存储单元个数×存储字长/8 Byte
Eg: MAR为32位,MDR为8位
总容量=2^32* 8 bit = 4GB

CPU的性能指标

系统整体的性能指标

数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数拆

吞吐量:指系统在单位时间内处理请求的数量。
它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。

响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。
通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/o操作、操作系统开销等时间)。

系统整体的性能指标(动态测试)
基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行同程序的其它计算机性能进行比较。

思考问题Q

问:主频高的CPU一定比主频低的CPu快吗?
不一定,如两个CPU,A的主频为2GHz,平均CPI=10;B的主频1GHz,平均CPl=1...

问:若A、B两个CPU的平均CPI相同,那么A一定更快吗?
也不一定,还要看指令系统,如A不支持乘法指令,只能用多次加法实现乘法;而B支持乘法指令。

问:基准程序执行得越快说明机器性能越好吗?
基准程序中的语句存在频度差异,运行结果也不能完全说明问题


相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-30 18:58:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-30 18:58:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-30 18:58:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-30 18:58:02       18 阅读

热门阅读

  1. mpv启动脚本功能

    2024-04-30 18:58:02       10 阅读
  2. 手写代码题【基础篇】

    2024-04-30 18:58:02       11 阅读
  3. leetcode942-Find the Shortest Superstring

    2024-04-30 18:58:02       8 阅读
  4. LeetCode 727. 菱形

    2024-04-30 18:58:02       9 阅读
  5. leetcode392--判断子序列

    2024-04-30 18:58:02       11 阅读
  6. 基于VMD-CNN-BiLSTM-Attention组合模型时间序列预测

    2024-04-30 18:58:02       9 阅读
  7. 自然语言转SQL 学习笔记

    2024-04-30 18:58:02       12 阅读
  8. Edge的使用心得与深度探索

    2024-04-30 18:58:02       12 阅读
  9. 嵌入式开发英文单词汇总(C++、Python、Shell)

    2024-04-30 18:58:02       11 阅读
  10. 【LeetCode刷题记录】简单篇-67-二进制求和

    2024-04-30 18:58:02       9 阅读
  11. 笨蛋学C++【C++基础第六弹】

    2024-04-30 18:58:02       10 阅读