首页 > 其他分享 >408计算机组成原理知识点——第一章 计算机系统概述

408计算机组成原理知识点——第一章 计算机系统概述

时间:2024-03-21 19:59:21浏览次数:30  
标签:知识点 存储 MAR 计算机 计算机系统 指令 MDR CPU 408

文章目录


注:内容参考王道2024考研复习指导

计算机发展历程

计算机系统层次结构

早期冯诺依曼机

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

image-20240312190421677

在计算机系统中,软件和硬件在逻辑上是等效的。

Eg:对于一个乘法运算,可以设计一个专门的硬件电路实现乘法运算;也可以用软件的方式,执行多次加法运算来实现。

冯·诺依曼计算机的特点

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

现代计算机的结构

现代计算机,以存储器为中心

CPU=运算器+控制器

image-20240312191252517

输入设备,将信息转换成机器能识别的形式

输出设备,将结果转换成人们熟悉的形式

主存储器,存放数据和程序

运算器,算数运算、逻辑运算

控制器,指挥各部件使程序运行

image-20240312191415448

各个硬件的工作原理

主存储器的基本组成

image-20240312191844330

MAR(Memory Address Register)存储地址寄存器,例:MAR=4位,则总共有 2 4 2^4 24个存储单元

MDR(Memory Data Register)存储数据寄存器,例:MDR=16位,则每个存储单元可以存放16bit,1个字(word)=16bit

:1个字节(Byte)=8bit,1B=1个字节,1b=1bit

存储单元,每个存储单元存放一串二进制代码

存储字(word),存储单元中二进制代码的组合

存储字长,存储单元中二进制代码的位数

存储元,即存储二进制的电子元件,每个存储元可存1bit

运算器的基本组成

运算器:用于实现算数运算(加减乘除)、逻辑运算(与或非)

image-20240312193555908

ACC :累加器,用于存放操作数,或运算结果

MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果

X:通用的操作数寄存器,用于存放操作数

ALU:算数逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算

以下是不同操作下各部件可能存储的值:

image-20240312193937874

控制器的基本组成

image-20240312194001692

CU(Control Unit):控制单元,分析指令,给出控制信号

IR(Instruction Register):指令寄存器,存放当前执行的指令

PC(Program Counter):程序计数器,存放下一条指令地址,有自动加1功能

计算机的工作过程

image-20240312194521866

上一条指令取指后PC自动+1(完成地址为0的指令),(PC)=1:执行后,(ACC)=2

image-20240312195156275

  1. (PC)→MAR,导致(MAR)=1
  2. M(MAR)→MDR,导致(MDR)=0001000000000110
  3. (MDR)→IR,导致(IR)=0001000000000110
  4. OP(IR)→CU,指令的操作码送到CU,CU分析后得知,这是“乘法”指令
  5. Ad(IR)→MAR,指令的地址码送到MAR,导致(MAR)=6
  6. (MAR)→MDR,导致(MDR)=0000000000000011=3
  7. (MDR)→MQ,导致(MQ)=0000000000000011=3
  8. (ACC)→X,导致(X)=2
  9. (MQ)*(X)→ACC,由ALU实现乘法运算,导致(ACC)=6,如果乘积太大,则需要MQ辅助存储

计算机软件

系统软件和应用软件

image-20240312195325716

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

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

三种级别的语言

image-20240312195527466

注::编译器、汇编器、解释器,可统称“翻译程序”。

软件和硬件的逻辑功能等价性

image-20240312195712628

软件和硬件的逻辑功能等价性:同一个功能,既可以用硬件实现(性能高成本高),也也可以用软件实现(性能低成本也低)

指令集体系结构(ISA):软件和硬件之间的界面。设计计算机系统的ISA,就是要定义一台计算机可以支持哪些指令,以及每条指令的作用是什么、每条指令的用法是什么。

计算机系统的层次结构

image-20240312195920988

下层是上层的基础,上层是下层的扩展

计算机系统的工作原理

从C语言源程序到可执行文件

image-20240312200106226

预处理,对C语言中#开头的命令进行处理,如宏定义常量的替换

编译,将源程序翻译为汇编语言

汇编,将汇编语言程序翻译为二进制机器语言

链接,将多个相关的目标模块链接成完整的可执行文件

“存储程序”工作方式

image-20240312200446695

计算机系统性能指标

存储器得到性能指标

总容量=存储单元个数*存储字长 bit=存储单元个数*存储字长/8 Byte

Eg:MAR为32位,MDR为8位,总容量= 2 32 ∗ 8   b i t = 4 G B 2^{32}*8 \ bit=4GB 232∗8 bit=4GB

注: K = 2 10 , M = 2 20 , G = 2 30 , T = 2 40 K=2^{10},M=2^{20},G=2^{30},T=2^{40} K=210,M=220,G=230,T=240

CPU的性能指标

image-20240312200947888

CPU主频:CPU内数字脉冲信号振荡的频率

C P U 主频 ( 时钟频率,单位:赫兹 H z ) = 1 C P U 时钟周期 ( 单位:微秒、纳秒 ) CPU主频(时钟频率,单位:赫兹Hz)=\frac{1}{CPU时钟周期(单位:微秒、纳秒)} CPU主频(时钟频率,单位:赫兹Hz)=CPU时钟周期(单位:微秒、纳秒)1​

CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期数。

注:不同的指令,CPI不同。甚至相同的指令,CPI也可能有变化。

执行一条指令的耗时=CPI*CPU时钟周期

CPU执行时间(整个程序的耗时)=CPU时钟周期数/主频=(指令条数*CPI)/主频

IPS(Instructions Per Second ):主频/平均CPI

FLOPS(Floating-point Operations Per Second):每秒执行多少次浮点运算(单位:KFLOPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS,EFLOPS,ZFLOPS)

注:此处K、M、G、T为数量单位, K = K i l o = 千 = 1 0 3 , M = M i l l i o n = 百万 = 1 0 6 , G = G i g a = 十亿 = 1 0 9 , T = T e r a = 万亿 = 1 0 12 , P = 1 0 3 T , E = 1 0 3 P , Z = 1 0 3 E K=Kilo=千=10^3,M=Million=百万=10^6,G=Giga=十亿=10^9,T=Tera=万亿= 10^{12},P=10^3T,E=10^3P,Z=10^3E K=Kilo=千=103,M=Million=百万=106,G=Giga=十亿=109,T=Tera=万亿=1012,P=103T,E=103P,Z=103E

系统整体的性能指标

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

吞吐量:指系统在单位时间内处理请求的数量

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

基准程序(跑分软件)是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其它计算机性能进行比较。

标签:知识点,存储,MAR,计算机,计算机系统,指令,MDR,CPU,408
From: https://blog.csdn.net/m0_61049985/article/details/136918896

相关文章

  • 数学建模基本知识点
    1.建模准备2.建模基础算法3.经典模型4.论文书写......
  • 服务器相关知识点总结
    一、服务器概述1.服务器的定义服务器是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机。服务器在网络操作系统的控制下,将与其连接的硬盘、磁带、打印机以及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发布及数据管理......
  • CSPJ知识点整理
    指针:https://blog.csdn.net/qq_35429198/article/details/109331937排序:https://www.cnblogs.com/myeln/articles/17576193.html递归作业:https://www.luogu.com.cn/training/370327#problems哈夫曼编码:https://zhuanlan.zhihu.com/p/415467000图:https://www.luogu.com.cn/trai......
  • Ubuntu 18.04.06 PCL C++学习记录(四)知识点补充
    @[TOC]PCL中K-Dtree模块的学习学习背景参考书籍:《点云库PCL从入门到精通》以及官方代码PCL官方代码链接学习内容PCL库中的智能指针和回调函数智能指针pcl::PointCloud<pcl::PointXYZRGBA>::PtrCloudOut(newpcl::PointCloud<pcl::PointXYZRGBA>());//存储输出点云......
  • 动态规划基础知识点(包含文档)
    动态规划知识点我也不知道为啥要收fei,我普通上传,但是平台好像不能直接看,大家可以试看,因为该文档就两页,还没完善1.动态规划与贪心的区别(1)求解问题区别:贪心:顾名思义,就是尽量的贪心使得结果利益最大化,从局部最优推出全局最优,比如:桌子上有三张钞票,面额各不相同,你只能取两次,每......
  • C语言最重要的知识点(6)
    第六章指针变量的本质是用来放地址,而一般的变量是放数值的。1、int *p中  *p和p的差别:简单说*p是数值,p是地址!*p可以当做变量来用;*的作用是取后面地址p里面的数值 p是当作地址来使用。可以用在scanf函数中:scanf(“%d”,p);2、*p++和(*p)++的之间的差别:改错题目中很重要......
  • 计算机等级考试:信息安全技术 知识点十二
    1、在SQL注入程序中,入侵者通常将未授权的数据库语句插入或注入有洞的SQL数据信道中。通常情况下,攻击所针对的数据信道包括存储过程和Web应用程序输入参数。然后这些注入的语句被传递到数据库中并在数据库中热行。使用SQL注入,攻击者可以不受限制地访问整个数据库:利用程序对用户......
  • 消息队列知识点总结
    一.什么是中间件?中间件是一类提供系统软件和应用软件连接、便于软件各部分之间沟通的软件,应用软件可以借助中间件在不同技术架构之间共享信息与资源。常用的中间件包括Redis、消息队列、分布式存储等。以智能BI平台项目为例。现有的系统包括图表管理、用户管理等,随着系统应......
  • Django基础知识点二
    Django基础知识点二【一】分页器【1】关键参数current_page:当前所在页数start_data:起始数据end_data:结束数据per_count:每一页展示的数据all_count:所有数据数量page_count:总页数:divmod(all_count,per_count)current_page(per_count=5)start_dataend_data......
  • Gradle知识点整理(1)
    Gradle知识点整理(1)文章目录Gradle知识点整理(1)常见的项目构建工具Gradle安装Gradle和Maven项目结构修改Maven下载源GradleWrapperGroovy学习Gretty项目部署Gradle项目生命周期Gradle中的setting文件Gradle的Task常见的项目构建工具Ant:优点:使用灵活,速度快(快......