查看“软件设计师精讲 CPU的组成(运算器与控制器)”的源代码
←
软件设计师精讲 CPU的组成(运算器与控制器)
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.bilibili.com/video/BV13U4y1E7oA/?p=12 === 计算机结构 === [[文件:软件设计师精讲 计算机结构.png|无|缩略图|替代=|600x600像素]] [[文件:软件设计师 计算机结构 3.png|无|缩略图|600x600像素]] === CPU结构 === [[文件:软件设计师精讲 CPU结构.png|无|缩略图|600x600像素]]状态条件寄存器的归属存在争议:也可能划分到控制器中。 算术逻辑单元:做算术逻辑运算。 累加寄存器(AC):放算术逻辑单元进行数据加工的数据材料,也是为ALU提供工作区的部件。 数据缓冲寄存器:CPU和存储做交互时读写内存时做中转的部件,先中转、再运输。 [[文件:CPU结构3.png|无|缩略图|600x600像素]] 这个程序的目的是计算2+4+6,然后赋值给sum,通过sum返回。 里面的过程包含声明、定义,sum的初值等于0,计算sum的值,输出sum的值。 在这个过程当中,程序在计算机当中肯定是存储起来的,存储的地址依次有个相应的地址编号。 在运算的过程当中,先看控制器。控制器会控制计算机按照这些指令依次完成相应的功能。 首先,要想读取到程序,我们会将程序的起始位置读入到指令的'''<big><u>程序计数器</u>(PC)</big>'''当中,会将1001H记录进去。 1001H是一个地址,根据地址,可以找到指令“int sum=0”,把这个指令放到'''<big><u>指令寄存器</u>(IR)</big>'''当中去。 放进去之后,这个1001H就没用了,内容已经找到了。 所以接下来会给PC一个新的赋值:PC=PC+1,变成了1002H,这个过程就是顺序读取的过程。 如果涉及到条件判断跳转的话,这里可以是偏移量代替加1的过程。 当读到'''<big><u>指令寄存器</u>(IR)</big>'''当中,它的内容并不是“sum=0”,而是以一定的0、1二进制字符串表示,这个字符串如何体现在计算机当中的软、硬件呢? 会通过'''<big><u>指令译码器</u>(ID)</big>'''翻译,告诉软硬件做哪些动作,这就是<u>程序计数器</u>(PC)、<u>指令寄存器</u>(IR)以及<u>指令译码器</u>(ID)的功能。 在这中间,还有一些控制信号、时序信号会通过时序部件传输。这里面有一个<u>'''<big>地址寄存器</big>'''</u>没有提到,它是使用的时候,用来保存内存地址的。 这些就是'''<big>程序控制器</big>'''。 除了程序控制器以外,CPU还有一部分是运算器部分。 运算器就是做算术逻辑运算的,就是做计算的,在进行2+4+6的运算过程的时候,是如何顺序计算的? 首先,第一步,计算的是2+4=6,第二部计算6+6=12,在这中间的6怎么处理呢? 在这个过程当中进行加法运算的过程是在'''<big><u>算术逻辑单元</u>(ALU)</big>'''当中进行的<big>,</big>中间的“6”是个中间数据,暂存在<u>累加寄存器</u>,也就是'''<big><u>累加器</u>(AC)</big>'''当中''','''它可以给ALU提供数据加工的材料,也可以给ALU提供工作区。 得出的结果12有个进位,进位标志会记录在状态条件寄存器党中,记录它的状态标志。 记录完之后,如果这个状态标志当中,有一些会用来做控制标志、控制条件,这个时候,它也可以归于控制器的范畴,最终会输出sum=12。 输出会通过输入/输出设备来进行输出,甚至可能会写到存储器当中去,与外部这些内容做交互的话,会通过缓冲寄存器中转数据,这些就是运算器当中的具体过程。 === 运算器 === '''算数逻辑单元ALU:数据的算数运算和逻辑运算''' 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据 数据缓冲寄存器DR:写内存时,暂存指令或数据 状态条件寄存器PSW:存状态标志与控制标志 (争议:也有将其归为控制器的) === 控制器 === '''程序计数器PC:存储下一条要执行指令的地址''' 指令寄存器IR:存储即将执行的指令 指令译码器ID:对指令中的操作码字段进行分析解释 时序部件:提供时序控制信号
返回至
软件设计师精讲 CPU的组成(运算器与控制器)
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息