【【萌新编写riscV之计算机体系结构之CPU 总二】】

news2025/1/23 22:37:19

萌新编写riscV之计算机体系结构之CPU 总二(我水平太差总结不到位)

在学习完软件是如何使用之后 我们接下来要面对的问题是 整个程序是如何运转的这一基本逻辑
中央处理器(central processing unit,CPU)的任务就是负责提取程序指令,并对指令进行译码,然后按程序规定的顺序对正确的数据执行各种操作。要了解计算机的.工.作原理,首先必须熟悉计算机的组成部分,以及各组件之间的相互关系。为了学习下一节将要介绍的简单体系结构,我们首先从般意义上来讨论在现代计算机控制级别的微观体系结构。
所有计算机都有中央处理器。中央处理器可以分成两部分。第一部分是数据通道(datapath),它是一种由存储单元(寄存器)和算术逻辑单元(对数据执行各种操作)所组成的网络。这些组件通过总线(总线是传递数据的电子线路)连接起来,并利用时钟来控制时间。CPU的第二部分是控制单元(control unit),该模块负责对各种操作进行排序并保证各种正确的数据适时地出现在所需的地方。这两部分组合在一起,就可以完成CPU的各种工作任务:提取指令、指令译码和按规定的顺序执行各种操作。数据通道和控制单元的设计将直接影响到计算机的性能。因此,接下来的内容将详细介绍CPU的这些组成部分。

小总结
上面这段话是复制粘贴的
其实归根结底就是表示 CPU可以分为两部分
一部分是 数据通道 通过传输数据的电子线路总线将存储数据的寄存器 与对数据执行各项操作的ALU连接起来
还有一部分是控制单元 合理的安排数据出现在哪里 或者说是指导何时该实现别的操作

一:寄存器结构
其实我一开始直接给到了一段代码 我发现它给定了 D触发器 用来操作当作寄存器实现 其实也有道理 我们在之前写状态机的时候 有用D触发器当寄存器的先例了
D触发器其实相当于是1位的寄存器 当我们需要比如说16位就用16个D触发器

二: 算术逻辑单元 ALU
上面大概介绍的是存储的 下面我们来介绍 更加重要的执行模块 算术逻辑单元 ALU ALU主要处理一些简单的逻辑运算 算术运算
三: 控制单元
控制单元(control unit)是CPU中的“警察”或“交通管理员”。控制单元负责监视所有指令的执行和各种信息的传送过程。控制单元负责从内存提取指令,对这些指令进行译码,确保数据适时地出现在正确的地方。控制单元还负责通知ALU应该使用哪一个寄存器,执行哪些中断服务程序,以及对所需执行的各种操作接通ALU中的正确电路。控制单元使用一个称为程序计数器( programcounter)的寄存器来寻找下一条要执行的指令的位置,并使用一个状态寄存器来存放某些特殊的操作状态,比如溢出、进位、借位和类似的状态等。4.7节将更详细地讨论控制单元。

感觉学了和没学一样上面的提示 太抽象了

取指-译码-执行(fetch-decode-execute)表示计算机运行程序时所遵循的步骤。CPU首先提取一条指令,即将指令从主存储器转移到指令寄存器;接着对指令进行译码,即确定指令的操作码和提取执行该指令所需的数据;然后执行这条指令,即执行指令规定的各种操作。注意,在这个循环过程中,计算机的大部分工作都是在执行从一个单元将数据复制到另一个单元的任务。当一个程序最初被装入到CPU时,第一条指令的地址也必须被装入PC中。下面列出了计算机工作周期的各个步骤,即特定时间周期内发生的各种操作。步骤1和步骤⒉组成了取指过程,步骤3表示译码过程,步骤4则是执行过程。1.将 PC中的内容复制到MAR:MAR(—PC。2. CPU转向主存储器,提取由MAR给出的地址单元中的指令,并将指令放入指令寄存器IR中。同时,PC自动加1,现在PC指向程序的下一条指令:IR(一M [MAR]和PC(-PC+1。注意,因为MARIE是按字编址的,所以 PC增量加1所产生的实际效果是下一个字的地址将占据 PC寄存器。如果MARIE是按字节编址的,则PC需要增量加2才能指向下一条指令的地址,原因是每条指令占有两个字节的宽度。而如果MARIE是一个32位字的按字节编址的计算机系统,则PC 需要进行增量加4的操作。
在这里插入图片描述
结束了 ,恕我无能 我就在这本书上大概提炼到这么多 换一本书提炼一点精华

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

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

相关文章

2023年9月16日(星期六)骑行新海晏村

2023年9月16日 (星期六):骑行新海晏村,早8:30到9:00, 大观楼门囗集合,9:30准时出发 【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点: 大观楼门囗集合,家住东,南&#xff0c…

Redis常用应用场景

Redis是一款开源的基于内存的键值存储系统,它提供了多种数据结构和丰富的功能,适用于各种不同的应用场景。以下是Redis常用的应用场景: 1.缓存:Redis最常见的用途就是作为缓存。由于Redis存储在内存中,读取速度非常快…

9.13-广读最新研究方向论文核心思路汇总

思路借鉴 GRILL: Grounded Vision-language Pre-training via Aligning Text and Image Regions 关键词: 对象文本对齐 摘要:泛化到未见过的任务是少量样本学习者在不熟悉的任务上实现更好零散视觉表现的重要能力。然而,这种泛化到视觉语言任…

通过小程序实现微信扫码授权登录,网站接入微信扫码登录功能(永久免费)

需求 网站如果想要实现微信扫码登录其实有很多种方案,常见的方案就是微信开放平台和微信公众号服务号。前者是目前大部分网站并且是微信认可的一种方式,后者是开发者发现服务号具备扫码关注后即可获取用户基本信息的能力后而开发的一种方式。 而这两者…

idea创建一个微服务项目

idea创建一个微服务项目 前提:懂得创建基于pom 的 springboot项目 1.像平时创建Maven项目一样创建一个项目 2.删掉src文件,只剩下下面的东西 3.基于这个项目创建model,model也是一个Maven项目,基于springboot mvc 都行&#xff…

openGauss学习笔记-68 openGauss 数据库管理-创建和管理普通表-向表中插入数据

文章目录 openGauss学习笔记-68 openGauss 数据库管理-创建和管理普通表-向表中插入数据68.1 背景信息68.2 操作步骤68.2.1 向表customer_t1中插入一行68.2.2 向表中插入多行68.2.3 从指定表插入数据到当前表68.2.4 删除备份表 openGauss学习笔记-68 openGauss 数据库管理-创建…

Python 图形化界面基础篇:添加复选框( Checkbutton )到 Tkinter 窗口

Python 图形化界面基础篇:添加复选框( Checkbutton )到 Tkinter 窗口 引言什么是 Tkinter 复选框( Checkbutton )?步骤1:导入 Tkinter 模块步骤2:创建 Tkinter 窗口步骤3&#xff1a…

【数据分享】2006-2021年我国城市级别的排水和污水处理相关指标(20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况,在之前的文章中,我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国城市级别的市政设施水平相关指标、2006-2021年我国城市级别的各类建设用地面积数…

Vue3表单

文章目录 Vue3表单1. 概念2. 输入框3. 复选框4. 单选按钮5. select下拉列表5.1 下拉列表单选5.1 下拉列表多选时绑定到数组5.3 使用 v-for 循环输出选项 6. 值绑定7. 修饰符7.1 .lazy7.2 .number7.3 .trim Vue3表单 1. 概念 可以用 v-model 指令在表单 、 及 等元素上创建双向…

微信内测新功能:“微信分期”来了!

微信作为一款社交 App,早已成为了现在人们日常生活中不可缺少的一部分。 随着生态不断完善,它所涵盖的功能也是越来越多。 据镭射财经,微信近日正在测试一款名为“微信分期”的全系消费信贷产品。功能入口位于微信钱包中,资金方为…

预约微信小程序源码系统制作搭建 适用于多场景 支持万能DIY功能

分享一个预约微信小程序源码系统,适用于多种预约场景,含完整代码包前端后端详细的搭建教程,支持万能DIY功能,让你轻松开发制作一个属于自己的想要的预约小程序。 一、预约微信小程序源码系统制作搭建的基本步骤和注意事项&#xf…

【Flink实战】Flink 商品销量统计-实战Bahir Connetor实战存储 数据到Redis6.X

🚀 作者 :“大数据小禅” 🚀 文章简介 :Flink 商品销量统计-实战Bahir Connetor实战存储 数据到Redis6.X 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 目录导航 Flink怎么操作RedisFlink 商品销量统…

宿舍考勤安全系数?这个答案全国统一!

在现代教育和住宿管理中,确保学生或员工的宿舍考勤管理变得越来越重要。传统的考勤方法可能受到人为错误和滥用的威胁,同时也可能耗费大量时间和资源。 人脸识别技术已经在各个领域展现了强大的潜力。它不仅提高了安全性,还改善了考勤管理的效…

GP08|财务估值因子过滤实盘小市值

量化策略开发,高质量社群,交易思路分享等相关内容 大家好,今天我们来分享gp08策略。千呼万唤始出来,由于xxx原因(不便说,好奇的可以私聊我),我们从9月份开始,后面分享的策…

深入解析顺序表:揭开数据结构的奥秘,掌握顺序表的精髓

💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅C语言初阶之路 ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022&#x1f38…

包装类、多线程的基本使用

包装类 1.基本数据类型对应的引用数据类型(包装类) 1.概述:所谓的包装类就是基本类型对应的类(引用类型),我们需要将基本类型转成包装类,从而让基本类型具有类的特性(说白了,就是将基本类型的数据转成包装类,就可以使用包装类中的方法来操作此数据)2.为啥要学包装类:a.将来有…

springboot上传文件到后台指定文件夹

第一步,在application.yml做一下配置,预设下载目录 files:upload:path: D:/SpringBootItem/springboot/files/ 其中有用到hutool工具依赖,如下在pom.xml中添加依赖,也可以选择不添加,自己修改下Controller中的代码即可…

批量采集头条号文章的工具-让我们更好地辨别信息好坏

大家好,今天我想和大家聊一聊一个在互联网时代备受瞩目的话题,那就是批量采集头条号的文章。作为一个热衷于信息获取和分享的人,我深知这一领域的挑战和机遇。 让我们来谈谈批量采集头条号的文章所面临的挑战。随着互联网的迅猛发展&#xff…

亚马逊API接口解析,实现获得AMAZON商品详情

要解析亚马逊API接口并实现获取亚马逊商品详情,你需要按照以下步骤进行操作: 了解亚马逊开发者中心:访问亚马逊开发者中心,并了解相关的API文档、开发者指南和规定。注册开发者账号:在亚马逊开发者中心上注册一个开发…

Java“牵手”京东商品详情数据,京东商品详情接口,京东API接口申请指南

京东商品详情API是京东平台提供给开发者的应用程序编程接口,通过API可以获取京东平台上商品详情信息。 京东商品详情API可以获取到商品的标题、价格、销量、评价、详情页等信息。开发者在京东开放平台注册开发者账号,并获得访问API接口的密钥后&#xf…