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

计算机组成原理之机器

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

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 计算机硬件的主要技术指标

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

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

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

相关文章

【无标题】计算机主要应用于哪些领域

科学计算(或称为数值计算)、数据处理(信息管理)、辅助工程、生产自动化、人工智能。1、科学计算(或称为数值计算):早期的计算机主要用于科学计算。目前,科学计算仍然是计算机应用的一…

【原理图PCB专题】Allegro模块化移动器件报...has the LOCKED property怎么解锁?

在模块化原理图时,PCB也需要做一个模块.mdd文件。这时需要先画好图纸然后再制作模块化文件。 修改文件时会发现模块化器件报错,无法编辑模块内部器件和走线,器件和走线都被LOCKED,如下所示报错内容: Symbol "U1" Selected Cannot edit Symbol "U1". M…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:组件标识)

id为组件的唯一标识,在整个应用内唯一。本模块提供组件标识相关接口,可以获取指定id组件的属性,也提供向指定id组件发送事件的功能。 说明: 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容…

代码随想录算法训练营第九天

28. 实现 strStr() &#xff08;本题可以跳过&#xff09; 方法&#xff1a; 方法一&#xff1a; 暴力法 i 表示最多能移动到n-m位置&#xff0c; 超过则退出循环。j表示haystack 初始位置k表示needle的初始位置如果haystack [j] needle[k]且 k<m 则 j, k; 如果 km 则返…

OJ输入问题+准备

写在之前&#xff1a; 发现题目输入是这样的&#xff1a; 我的问题&#xff1a;如何通过空格分割这些输入的字符串并分别保存&#xff01;&#xff01;&#xff08;C语言scanf好解决一点但我选择C....&#xff09; C引入了ostringstream、istringstream、stringstream这三个类…

DevOps中集成自动化测试的具体案例

在DevOps中集成自动化测试的具体案例可以从多个角度进行分析,包括金融行业、分布式系统、大型企业等不同领域的实践。以下是几个具体的案例: 金融行业的DevOps实践:在金融行业中,DevOps被广泛应用于提升软件开发和运营的效率。例如,通过解析后台接口代码日志格式,自动化生…

linuxOPS基础_运维概述,及其泛概念

运维岗位定义 什么是运维&#xff1f; ​ 在技术人员&#xff08;写代码的&#xff09;之间&#xff0c;一致对运维有一个开玩笑的认知&#xff1a;运维就是修电脑的、装网线的、背锅的岗位。 ​ IT运维管理是指为了保障企业IT系统及网络的可用性、安全性、稳定性&#xff0…

SPI总线知识总结

1 SPI的时钟极性CPOL和时钟相位CPHA的设置 1.1 SPI数据传输位数 SPI传输数据过程中总是先发送或接收高字节数据&#xff0c;每个时钟周期接收器或发送器左移一位数据。对于小于16位的数据&#xff0c;在发送前必须左对齐&#xff0c;如果接收的数据小于16位&#xff0c;则采用软…

汽车碰撞与刮伤的实用维修技术,汽车的车身修复与涂装修补教学

一、教程描述 本套汽车维修技术教程&#xff0c;大小7.44G&#xff0c;共有60个文件。 二、教程目录 01-汽车车身修复教程01-安全规则&#xff08;共3课时&#xff09; 02-汽车车身修复教程02-汽车结构&#xff08;共3课时&#xff09; 03-汽车车身修复教程03-汽车修复所使…

为什么Spring Cloud 应用程序中,应用程序的加载配置必须写在bootstrap.yaml这个配置文件中,是在哪里规定的?

在 Spring Cloud 应用程序中&#xff0c;bootstrap.yaml&#xff08;或bootstrap.properties&#xff09;的使用并非强制性的&#xff0c;但它扮演着一个特定的角色&#xff0c;主要是因为 Spring Cloud 的设计和工作流程。 背景和设计 Spring Cloud 构建在 Spring Boot 之上…

鸿蒙 Stage模型-应用组件-配置、UIAbility

前提&#xff1a;基于官网3.1/4.0文档。参考官网文档 基于Android开发体系来进行比较和思考。&#xff08;或有偏颇&#xff0c;自行斟酌&#xff09; 一、概念 可以看到分为运行期、编译器&#xff0c;主要关注UIAbility&#xff08;类似Activity&#xff0c;UI相关&#xff0…

2024年软考-官方最新考试安排出来了,软考新调整,很重要,但也很惹人气愤

官方最新通知&#xff0c;关于2024年度计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试工作计划 笔试改机考后&#xff0c;必然会迎来调整&#xff0c;但有点让人费解。 这次调整变动主要是每年考试的次数调整&#xff0c;很多改为了一年一考&#xff0c;具体…

Claude 3 模型发布,压力来到OpenAI这边了~

Anthropic 发布了 Claude 3 系列&#xff0c;包含了三款模型 各具特色&#xff0c;旨在为用户提供更智能、更快速、更高效的选择&#xff0c;可以说是是迄今为止最快、最强大的人工模型&#xff01; Anthropic 一度是 OpenAI 最强力的竞争对手&#xff01; 随着 Claude3 的发…

云计算 3月5号 (DNS域名解析及部署)

DNS域名解析服务 1.DNS介绍 DNS 是域名系统 (Domain Name System) 的缩写&#xff0c;是因特网的一项核心服务&#xff0c;它作为可以将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网&#xff0c;而不用去记住能够被机器直接读取的IP数串。…

408专业课130+|我的备考经验和复盘

408的四门课任务量多到爆炸&#xff01;但难度不止于此。别忘了大部分选计算机的勇士们&#xff0c;是要考数学的&#xff01;直接起飞。 408数学无疑是王炸王炸&#xff0c;要想上岸就一定要把这两个大头一起拿下&#xff01; 作为一个成功上岸的非计算机专业跨考生&#xf…

CSS全局样式的设置,web开发交流

面试题 HTML 1&#xff0c;html5有哪些新特性&#xff1f; 2&#xff0c;html5移除了那些元素&#xff1f; 3&#xff0c;如何处理HTML5新标签的浏览器兼容问题 戳这里领取完整开源项目&#xff1a;【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】…

day58 异常 IO流

异常 1异常处理机制 编译时错误 运行时错误 代码逻辑错误 2异常类结构图 java.lang.Throwable 所有异常的父类 只有它能剖出异常 java.lang.Error: extends Throwable 程序中的硬件严重问题不需要处理 java.lang.Exception extends Throwable 异常 指出要捕获的处理条件 3异常…

深入理解现代JavaScript:从语言特性到应用实践

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 JavaScript作为一门动态、解释性脚本语言&…

网络工程师笔记8

华为VRP系统 设备管理方式 web管理方式 命令行管理方式 修改命令&#xff1a;undo 基础配置命令

INFINI Labs 产品更新 | Easysearch 1.7.1发布

INFINI Labs 产品又更新啦~&#xff0c;包括 Console&#xff0c;Gateway&#xff0c;Agent 1.23.0 和 Easysearch 1.7.1。此次版本重点修复历史遗留 Bug 、网友们提的一些需求等。以下是本次更新的详细说明。 INFINI Console v1.23.0 INFINI Console 是一款非常轻量级的多集…