计算机组成原理之机器:计算机系统的基本概念

计算机组成原理之机器

笔记来源:哈尔滨工业大学计算机组成原理(哈工大刘宏伟)

Chapter1:计算机系统的基本概念

1.1 计算机系统简介



从物理构成的角度对计算机系统分层

计算机组成原理主要关注微体系结构(Mirco-architecture)层和逻辑(Logic)层,学习主要部件的逻辑实现、主要部件之间的连接来实现datapath(指令执行过程中,数据所经过的路径 ,数据所经过的路径,包括路径中的部件 ,包括路径中的部件。它是指令的执行部件)、实现控制

Digital Circuits 数字电路层(利用模拟电路元件构建与门、非门)
Analog Circuits 模拟电路层(利用下层接口进一步构建放大器、滤波器等模拟电路部件,这些部件工作在连续电压下)
Devices 电子元件层(电子在不同物质中的移动特性构建电子元件,电子元件的特征可以用连接点、管脚、电流电压特征来描述)
Physics 物理层面(电子的移动)


从程序员视角对计算机系统进行分层

1.2 计算机的基本组成

计算机由五大部件组成:控制器、运算器、存储器、输入设备、输出设备

哈佛结构和冯诺依曼结构主要区别在是否区分指令与数据。在教科书里这是两种截然不同的做法。实际上在内存里,指令和数据是在一起的。而在CPU内的缓存中,还是会区分指令缓存和数据缓存,最终执行的时候,指令和数据是从两个不同的地方出来的。你可以理解为在CPU外部,采用的是冯诺依曼模型,而在CPU内部用的是哈佛结构。—引自:为什么电脑还沿用冯·诺伊曼结构而不使用哈佛结构?

冯诺依曼结构以运算器为中心,输入设备数据输入运算器再到存储器,存储器数据先到运算器再到输出设备

以存储器为中心

现代计算机硬件框图

计算 a x 2 + b x + c ax^2+bx+c ax2+bx+c为例,了解计算机工作过程

将上述每一个动作用指令形式表示
[a]代表内存中a的具体值、[ACC]表示累加寄存器中的值


指令和数据都保存在存储器中

存储器的结构是什么?如何进行访问?每次访问获得的数据位数是多少?

存储器的基本组成

MAR中保存了存储单元的地址
MDR中保存了要送到CPU中的数据 或 要保存到存储体中的数据 或 刚刚从存储体中取出来的数据


运算器的基本组成

运算器的结构是什么?运算器功能是什么?运算器是如何工作的?加法?乘法?

为了是算术逻辑单元ALU能够对计算结果进行保存,必须在ALU的输入端加上寄存器,寄存器保存参与运算的数据,我们需要2个寄存器(累加寄存器ACC和数据寄存器X)作为输入数据的保存设备。
因为两个数相乘的结果,其结果位数远超两个数的位数,所以我们还需要一个乘商寄存器MQ负责数据的乘法与除法运算并可保存运算结果

加法操作过程

被加数存在ACC中
根据地址M取出加数到X中
将ACC中被加数与X中加数在ALU中相加
相加结果保存至ACC中

乘法操作过程

被乘数存在ACC中
根据地址M取出乘数到MQ中
将ACC中的被乘数移动到X
ACC清零用于后序保存乘法结果的高位
X中被乘数与MQ中乘数相乘
相乘结果的高位放在ACC,低位放在MQ

除法操作过程

被除数存在ACC中
根据地址M取出除数到X中
ACC中被除数与X中除数进行除法运算
相除结果中商保存在MQ中,余数保存在ACC中

以上各种动作都是在控制器控制下完成的

控制器的基本组成

控制器的结果如何?
控制器的功能?解释指令、保证指令的按序执行


CPU(运算器、控制器)、存储器

一条指令在主机上的完成过程,以取数指令为例
1.取指令过程
PC将取数指令的地址送给MAR,再由MAR送给存储体,在控制器的控制下存储体把指定存储单元中的内容(这里为取数指令)取出送入到MDR,将取数指令送入IR

2.分析指令,将IR中指令的操作码部分送往CU,经过CU译码后

3.执行指令
将IR中操作数的地址码部分送往MAR,由MAR将那个数取出送往MDR,将那个数送往ACC中保存

存数指令过程

程序(很多指令)在主机上是如何执行的

1.3 计算机硬件的主要技术指标

购买机器要关注机器性能是否能够满足自身要求

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

瑞_Redis_短信登录(一)

文章目录 项目介绍1 短信登录1.1 项目准备1.1.1 导入SQL1.1.2 导入后端项目1.1.3 导入前端项目 🙊 前言:本文章为瑞_系列专栏之《Redis》的实战篇的短信登录章节的项目准备小节。由于博主是从B站黑马程序员的《Redis》学习其相关知识,所以本系…

mac上更改vscode快捷键

以移动当前行代码为例 mac上的vscode,默认移动当前行代码的快捷键是⌥↑即option↑按键 现在我想改成command↑ 步骤如下 1.打开vscode-code-首选项-键盘快捷键 2.打开快捷键列表 3.输入move line,找到要改动的这个快捷键 当前行-右键-更改键绑定&…

HTML极速入门

HTML基础 什么是HTML HTML(Hyper Text Markup Language),超文本标记语言. 超文本:比文本更强大.通过链接和交互式方式来组织和呈现信息的文本形式.不仅仅有文本,还可能包括图片,音频,或者自己经审阅过它的学者所加的评注,补充或脚注等. 标记语言:由标签构成的语言 HTML的标…

C++入门全集(5):内存管理

前言 一、内存区域划分 二、C的内存管理方式 2.1 对内置类型 2.2 对自定义类型 三、new和delete的底层实现 四、new和delete的原理 五、定位new 六、malloc/free和new/delete 前言 在C中,内存管理是不可避免的一门必修课。C对内存的自由度使其获得了更高的…

面向对象编程-Java

面向对象编程 面向对象 & 面向过程 面向过程思想(线性思维) 步骤清晰简单,第一步做什么,第二步做什么……面向过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解…

mybatis的xml文件如何配置能被识别

为了让MyBatis能够识别和使用XML Mapper文件,你需要确保这些文件被正确放置和配置。下面是确保MyBatis XML Mapper文件被识别的步骤: 1. 正确放置XML Mapper文件 通常,XML Mapper文件应该放在src/main/resources目录下。为了更好的组织这些…

【STM32+OPENMV】二维云台颜色识别及追踪

一、准备工作 有关OPENMV最大色块追踪及与STM32通信内容,详情见【STM32HAL】与OpenMV通信 有关七针OLED屏显示内容,详情见【STM32HAL】七针OLED(SSD1306)配置(SPI版) 二、所用工具 1、芯片:STM32F407ZGT6 2、CUBEMX配置软件 3、KEIL5 4…

VUE读取静态文件技巧

背景: 现在有一个文件123.jpg在assets目录,我需要在bbb.vue里面去引用他,直接使用../方法无法获取该文件,且页面不能正常显示。文件目录如下: 解决办法:使用require方法: require(../assets/1…

基于springboot+vue的酒店管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

【STM32F103】WDG看门狗

本系列在之前介绍时钟树的文章中有稍微提一下看门狗WDG(Watch Door Dog)。 简单来说,可以当成是一个计数器,一旦这个计数器溢出则单片机复位。因为我们需要每隔一段时间就把这个计数器的值清零(喂狗)。 I…

C++命名空间

在C/C中,变量,函数和和类这些名称都存在于全局作用域中,可能会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,避免命名冲突或名字污染,namespace关键字就是解决这种问题的。如下程序并无问题…

低代码平台开发实践:基于React的高效构建与创新【文末送书-29】

文章目录 背景低代码平台简介基于React的优势低代码平台的实际应用 低代码平台开发实践:基于React【文末送书-29】 背景 随着技术的不断进步和业务需求的日益复杂,低代码平台成为现代软件开发领域中备受关注的工具之一。在这个快节奏的时代,…

C语言——结构体(位段)、联合体、枚举

hello,大家好!我是柚子,今天给大家分享的内容是C语言中的自定义类型结构体、联合体以及枚举,有什么疑问或建议可以在评论区留言,会顺评论区回访哦~ 一、结构体 struct a.结构体声明 不同于数组的是,结构…

16:00面试,16:06就出来了,问的问题过于变态了。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到2月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

C++对象内存模型布局详解

目录 本文主要内容如下: 最后还有一些问题: 一、理解虚函数表 二、对象模型概述 三、继承下的C对象模型 单继承: 多继承: 一般的多继承(非菱形继承): 菱形继承: 五、虚继承…

如何创建一个VUE3项目并使用Element UI插件

1.确保已经安装了Node: win R 打开控制面板,输入“node -v”回车。出现版本号信息,则安装成功,否则请移步安装。 Node.js安装及环境配置(简单易懂!)_building: c:\program files\nodejs\node…

基于SSM的学科竞赛管理系统。Javaee项目。ssm项目。

演示视频: 基于SSM的学科竞赛管理系统。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMvcMybatisVueLayuiElemen…

我的第②个出海工具站 - 2024年50个出海工具站计划

为了大家更好的使用各种出海工具。我上线了一版 出海工具导航 站点,经常使用的可以收藏下,我文内使用的网站都集成在了这里,非常使用。 随着AIGC的到来,2024年到了海外工具回暖的一年。今年计划上线50款出海工具站计划&#xff0c…

嵌入式工程师函数变量,常用的命名规则(参考学习)

很多工程师不注重平时编码习惯,比如命名规则,一会大写、一会小写,一会中文拼音,一会下划线等,导致自己写的代码自己都看不懂了。 今天就来分享一点关于软件代码常见的几种命名规则。 匈牙利命名法 匈牙利命名法广泛应…

西安雁塔未来人工智能计算中心算力成本分析

先看一例旧闻:西部“最强大脑”落户雁塔——30亿亿次超算能力助力创新之城建设 其中提到一期算力为 300PFLOPS FP16(每秒30亿亿次半精度浮点计算),项目总投资约为19亿元。 这个算力是什么概念呢? 我们以深度学习训练中…