当前位置: 首页 > news >正文

计算机组成原理学习笔记-精简复习版

一、计算机系统概述

计算机系统=硬件+软件

计算机硬件的发展:

  • 第一代计算机:(使用电子管)
  • 第二代计算机:(使用晶体管)
  • 第三代计算机:(使用较小规模的集成电路)
  • 第四代计算机:(使用较大规模的集成电路)

冯诺依曼体系结构

在这里插入图片描述

主机:主存、运算器、控制器

外部设备:外存、IO设备等

在这里插入图片描述

五大部分:

<1> 输入设备,是指将外部信息以计算机能读懂的方式输入进来,如键盘,鼠标等

<2> 输出设备,就是将计算机处理的信息以人所能接受的方式输出出来,比如显示屏,打印机。

<3> 存储器,存储器分为 主存储器(内存储器,CPU能直接访问)和 辅助存储器(外存储器,协助主存储器记忆更多的信息,辅助存储器的信息需要导入到主存储器中,才可以被CPU访问)。

主存储器的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式(相联存储器既可以既可以按照地址寻址,又可以按照内容寻址,为了与传统存储器区别,又称为内容寻址的存储器!)

主存储器是由地址寄存器(MAR),数据寄存器(MDR),存储体,时序控制逻辑,地址寄存器存放访存地址,经过地址译码后找到所选的存储单元。数据寄存器,是存储器与其他部件的中介,用于暂存要从存储器读或写的信息。时序控制逻辑用于产生存储器操作所需的各种时序信号。在现代CPU,MAR和MDR是在CPU中的。

在这里插入图片描述

<4> 运算器,是计算机的运算单元,用于算术运算和逻辑运算
运算器的核心单元是算术逻辑单元(ALU)

在这里插入图片描述

<5> 控制器,控制器是计算机的指挥中心,有其指挥各部件自动协调第进行工作,现代计算机将运算器和控制器集成到一个芯片上,合成为中央处理器,简称CPU。有程序计数器(PC)、指令寄存器(IR)和控制单元(CU)。

在这里插入图片描述

一般将运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)。CPU和主存储器共同构成主机,而除主机外的其他硬件装置(外存、I/O设备等)统称为外部设备,简称外设。

CPU包含ALU、通用寄存器组GPRs、标志寄存器、控制器、指令寄存器IR、程序计数器PC、存储器地址寄存器MAR和存储器数据寄存器MDR。图中从控制器送出的虚线就是控制信号,可以控制如何修改PC以得到下一条指令的地址,可以控制ALU执行什么运算,可以控制主存是进行读操作还是写操作(读/写控制信号)。
在这里插入图片描述

CPU和主存之间通过一组总线相连,总线中有地址、控制和数据3组信号线。MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存读出到CPU,根据是读操作还是写操作来控制将MDR中的数据是直接送到数据线上还是将数据线上的数据接收到MDR中。

三种级别的语言

高级语言转换到汇编语言的过程叫做编译,由汇编语言转换到机器语言的过程叫做汇编,边翻译边执行的叫做解析。

机器字长、指令字长、存储字长的区别和联系是什么?

机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含的二进制代码的位数。
存储字长:一个存储单元存储的二进制代码的长度。等于MDR的位数, 它们都必须是字节的整数倍。
数据字长:数据总线一次能传送信息的位数,它可以不等于MDR的位数。

二、数据的表示与计算

在这里插入图片描述

三、存储系统

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Cache 高速缓冲存储器

在这里插入图片描述

虚拟存储器(虚拟内存)

在这里插入图片描述

四、指令系统

在这里插入图片描述

五、中央处理器

在这里插入图片描述

六、总线

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现代计算机总线标准多为 PCIE 技术,比如PCIE4.0等

七、IO

在这里插入图片描述
网络IO和磁盘IO等外部IO的耗时都是相当大的,在写代码中应尽可能减少这类IO,并且要关注你的代码对各个硬件的影响(CPU使用率、内存使用率)等。

http://www.lryc.cn/news/142759.html

相关文章:

  • 聊一聊微前端框架的选型和实现 | 业务平台
  • Elasticsearch 集成---框架集成SpringData-集成测试-索引操作
  • 将Series序列中的缺失值用后一个值填充Series.bfill()
  • 用香港服务器域名需要备案吗?
  • 【项目经理】项目管理杂谈
  • 【算法总结篇】 笔面试常见题目
  • Java基础 数据结构一【栈、队列】
  • Spark on Yarn集群模式搭建及测试
  • vue 简单实验 v-on html事件绑定
  • c#设计模式-创建型模式 之 原型模式
  • 运放的分类、运放的参数
  • 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率
  • 软件工程(二十) 系统运行与软件维护
  • 蓝蓝设计ui设计公司作品--泛亚高科-光伏电站控制系统界面设计
  • 软考高级系统架构设计师系列论文七十:论信息系统的安全体系
  • ​Softing dataFEED OPC Suite——助力数字孪生技术发展
  • LLaMA中ROPE位置编码实现源码解析
  • 在c++ 20下使用微软的proxy库替代传统的virtual动态多态
  • Spring MVC:@RequestMapping
  • 【vue3+ts项目】配置eslint校验代码工具,eslint+prettier+stylelint
  • PHP之ZipArchive打包压缩文件
  • 面试之快速学习C++14
  • 【算法专题突破】双指针 - 快乐数(3)
  • 【javaweb】学习日记Day4 - Maven 依赖管理 Web入门
  • C++信息学奥赛1144:单词翻转
  • qt检查文件夹是否有写权限
  • LSF 安装目录,快速参考 LSF 命令、守护程序、配置文件、日志文件和重要集群配置参数
  • 在Mybatis中写动态sql这些标签:if、where、set、trim、foreach、choose的作用是什么,怎么用?
  • 7 Python的模块和包
  • 【JavaWeb 篇】使用Servlet、JdbcTemplate和Durid连接池实现用户登录功能与测试