计算机组成原理复习

一、计算机系统概论

  • 计算机硬件软件两大部分组成
    • 软件系统软件应用软件
  • 翻译程序有两种:编译程序解释程序
  • 冯诺依曼计算机的特点
    • 计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成。
    • 指令和数据以同等地位存放于存储器内,可按地址寻访
    • 指令和数据用二进制表示
    • 指令由操作码地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
    • 指令在存储器内按顺序存放。
    • 机器以运算器为中心输入设备与存储器之间的数据传送通过运算器完成
  • 存储容量=存储单元个数\times存储字长

二、计算机发展及应用

硬件技术对计算机更新迭代的影响
1946-1957电子管
1958-1964晶体管
1965-1971中、小规模集成电路
1972-1977大规模集成电路
1978-至今大规模集成电路
  • Moore(摩尔定律):微芯片上集成的晶体管数目每3年翻两番

 三、系统总线

  • 计算机系统的五大部件的互连方式有两种:
    • 各部件之间使用单独的连线,称为分散连接。
    • 各部件连到一组公共信息传输线上,称为总线连接
  • 总线的分类:
    • 片内总线
      • 芯片内部的总线:CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间
    • 系统总线
      • 数据总线(双向)
      • 地址总线(单向)
      • 控制总线
    • 通信总线
      • 串行通信
      • 并行通信
  • 总线性能指标
    • 总线宽度通常指数据总线的根数
    • 总线带宽可理解为总线的数据传输速率
    • 时钟同步/异步
    • 总线复用
    • 信号线数地址总线、数据总线、控制总线总和
    • 总线控制方式突发工作、自动配置、仲裁方式、逻辑方式、计数方式
    • 其他指标
  • 总线判优控制:
    • 集中式
      • ​​​​​​​链式查询
      • 计数器定时查询
      • 独立请求查询
    • ​​​​​​​分布式

将完成一次总线操作的时间称为总线周期可分为以下四个阶段

  • 申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总数使用权授于某一申请者。
  • 寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。
  • 传数阶段:主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块。
  • 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

总线通信控制通过同步通信、异步通信、半同步通信、分离式通信来解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合的问题。

  • 同步通信:通信双方由统一时标控制数据传送
  • 异步通信:允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。(采用应答方式,分为:
    • 不互锁:主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;从模块接到请求信号后,在条件允许时发出回答信号,并且经过一段时间确认主模块已收到回答信号后,自动撤销回答信号。
    • 半互锁:主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系。而从模块不必
    • 全互锁:主模块发出请求信号,必须待从模块回答后再撤销其请求信号;从模块发出回答信号,必须待获知请求信号撤销后,再撤销回答信号。
      • 波特率(bps):单位时间内传送二进制数据的位数
      • 比特率(bps):单位时间内传送二进制有效数据的位数
  • 半同步通信:增设了一条“等待”(\overline{WAIT})响应信号线,采用插入时钟(等待)周期的措施来协调通信双方的配合问题。
  • 分离式通信:将一个传输周期分解为两个子周期。

四、存储器

存储器的层次结构

  • 缓存-主存层次主要解决CPU和主存速度不匹配问题。
  • 主存-辅存层次主要解决存储系统的容量问题。 

主存中存储单元地址的分配

  • 大端、大尾方式:高位字节放低地址,低位字节放低地址
  • 小端、小尾方式:高位字节放高地址、低位字节放低地址

随机存储器:

  • 静态RAM: ​​​​​​​
  • 动态RAM:

存储器的校验(练题) 

高速缓冲存储器(Cache):

  • 直接映射
  • 全相联映射
  • 组相联映射

五、输入输出系统

简答题!!!

1、I/O地址码的编址方式

  • 统一编址:将I/O地址看作存储器的一部分。
  • 不统一编址I/O设备和存储器地址是分开的,所有对I/O设备的访问与访存指令相似,需要I/O专用指令。 

2、I/O设备与主机信息传送的控制方式

  • 程序查询方式:
    • 由CPU不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息

  • 程序中断方式:
    • 倘若CPU在启动I/O设备后,不查询设备是否已准备就绪,继续执行自身程序,只是当I/O设备准备就绪并向CPU发出中断请求后才予以响应。 

  • DMA方式:
    • 在DMA方式中,主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无需调用中断服务程序。

 

六、计算机的运算方法

考点

  • 通过补码进行加减
  • 定点数与浮点数的表示
  • 有符号数与无符号数表示
  • 四则运算 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/597416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何成为ChatGPT 优质Prompt创作者

如何提问? 我想让你成为我的Prompt创作者。你的目标是帮助我创作最佳的Prompt,这个Prompt将由你ChatGPT使用。你将遵循 以下过程:1.首先,你会问我Prompt是关于什么?我会告诉你,但我们需要 通过不断的重复来…

labelme 标注的数据集转化为Mask-Rcnn适用的数据集

labelme 标注的数据集转化为Mask-Rcnn适用的数据集 食用步骤 1.labelme标注数据时,将生成的json文件和原图保存在一起 2.只需提供labelme生成的数据的文件夹,和maskrcnn的数据集文件夹,运行代码就会自动进行处理 3.代码会在提供的maskrcn…

brew 安装使用 mysql、redis、mongodb

在 Mac 生态中 brew 真是个万能神器,今天就来介绍一下怎么使用 brew 安装 mysql、redis、mongodb,以及如何使用 brew 启动、关闭、重启这些服务。 前言 brew 常用命令 # 查看brew的版本 brew -v# 更新homebrew自己,把所有的Formula目录更新…

索引类型-哈希索引

一. 前言 前面我们简单介绍了数据库的B-Tree索引,下面我们介绍另一种索引类型-哈希索引。 二. 哈希索引的简介 哈希索引(hash index) 基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有索引列计算一个…

安卓11通过脚本修改相应板型系统属性

安卓10以后rk的一套源码兼容很多板型,多种cpu型号都兼容了,这一点相比之前省心了很多,所以就诞生了需要一套代码兼容多种板子的需求,定制修改中需要经常修改系统属性,通过以下脚本一次实现: #!/bin/bashfu…

华为 1+X《网络系统建设与运维(初级)》 认证实验上机模拟试题

华为 1X《网络系统建设与运维(初级)》认证实验上机模拟试题 一、考试背景二、考试说明2.1考试分数说明2.2考试要求2.3考试环境介绍2.4启动考试环境2.5保存答案 三、考试正文3.1考试内容3.1.1任务 1:设备连接3.1.2任务 2:设备命名3…

IDEA UML图

这个帖子介绍IDEA UML图 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 今天看landmark代码,然后想看一下UML图,这边整理一下相关知识点。 提示:以下是本篇文章正文内容,下面案例可供参考…

Centos7静态网络配置

在vmware中打开, 点击虚拟网络编辑器,修改以下配置 网关IP最后一位固定为2,这个160根据下图中vmnet8的ip地址来的 打开网络控制面板>打开vmnet8查看 接着打开linux,有桌面版的使用桌面版更加方便 箭头这么乱,但是你…

【数据结构】二叉树(二)——顺序结构

前言 本篇博客讲解数组实现二叉树的顺序结构 文章目录 一、二叉树的顺序结构及实现1.1 二叉树的顺序结构1.2 堆的概念1.3 堆的实现1.3.1 初始化堆1.3.2 向堆中插入元素1.3.3 从堆顶删除1.3.4 其他操作1.3.5 完整代码Heap.hHeap.c 1.4 堆的应用1.4.1 堆排序1.4.2 TOP-K问题 一、…

Go语言断言和类型查询

Go语言断言和类型查询 1、类型断言 类型断言(Type Assertion)是一个使用在接口值上的操作,用于检查接口类型变量所持有的值是否实现了期望的接 口或者具体的类型。 在Go语言中类型断言的语法格式如下: // i.(TypeNname) value, ok : x.(T)其中&…

面试算法92:翻转字符

题目 输入一个只包含’0’和’1’的字符串,其中,‘0’可以翻转成’1’,‘1’可以翻转成’0’。请问至少需要翻转几个字符,才可以使翻转之后的字符串中所有的’0’位于’1’的前面?翻转之后的字符串可能只包含字符’0’…

web服务器nginx和Apache有什么区别?

随着互联网的快速发展,Web服务器在互联网应用中扮演着越来越重要的角色。其中,Nginx和Apache是两种广泛使用的Web服务器软件。尽管它们都可以实现Web服务器的功能,但Nginx和Apache在许多方面存在一些重要的区别。本文将探讨Nginx和Apache之间…

Iceberg: 列式读取Parquet数据

两种BaseBatchReader的实现类 BaseBatchReader支持以Batch Vectorized的特性,读取底层的文件。 ColumnarBatchReader 通过VectorizedSparkParquetReaders::build Reader()静态方法创建的读取器,关键特性如下: 支持读取Delete File以Arrow的格…

大数据技术在民生资金专项审计中的应用

一、应用背景 目前,针对审计行业,关于大数据技术的相关研究与应用一般包括大数据智能采集数据技术、大数据智能分析技术、大数据可视化分析技术以及大数据多数据源综合分析技术。其中,大数据智能采集数据技术是通过网络爬虫或者WebService接…

Docker无法启动Postgresql容器

目录 问题描述解决问题 问题描述 拉取了一个Postgresql14.2的镜像,在docker run创建并运行容器之后使用docker ps发现容器没有跑起来,再次使用docker start也没跑起来。 docker run -d --name mypg -v psql-data:/var/lib/postgresql/data -e POSTGRES…

Python random模块(获取随机数)常用方法和使用例子

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 random.random random.random()用于生成一个0到1的随机符点数: 0 < n < 1.0 random.uniform random.uniform(a, b)&#xff0c;用于生成一个指定范围内的随机符点数&#xff0c;两个参数其中一个是上限&#xff0c;一…

2023-我的CSDN创作之旅

1.博客内容与数量 2023年共发表博客59篇&#xff0c;内容主要集中在GIS&#xff0c;空间分析等领域 主要内容有&#xff1a; networkx学习 Geospatial Data Science Geocomputation ESDA in PySal SHAP Spatial Data Analysis BikeDNA 以下是对这几个章节主要内容的简…

机器学习 -- k近邻算法

场景 我学习Python的初衷是学习人工智能&#xff0c;满足现有的业务场景。所以必须要看看机器学习这一块。今天看了很久&#xff0c;做个总结。 机器学习分为深度学习和传统机器学习 深度学习 深度学习模型通常非常复杂&#xff0c;包含多层神经网络&#xff0c;每一层都包含…

在SQL脚本中删除所有的 prompt那一行

在SQL脚本中删除所有的 prompt 命令&#xff0c;您可以手动编辑SQL文件&#xff0c;移除所有包含 prompt 关键字的行。具体操作取决于您使用的是哪种文本编辑器。大多数文本编辑器支持查找和替换功能&#xff0c;可以用它来删除所有 prompt 行。 以下是在不同编辑器中进行操作…