CPU 的工作原理 [国外资料] 作为一名合格的程序员你是否真的了解 CPU 运行机制

图片完整版本
本文资料来源网络收集的资料【当然许多码农会说软件工程师不必了解硬件的原理-不过有的伙伴肯定会有兴趣的^_^】有兴趣的可以点个赞表示支持!,软件层的服务依赖于硬件低层提供,越了解对自己越好!
下列为本人整理的资料【原文字幕是英文--以下是截图】
CPU 的工作原理 [PHPER 码来速来围观一波]
CPU 的工作原理
CPU 的工作原理
CPU 的工作原理
CPU 的工作原理
CPU 的工作原理

由于Markdown不支持视频!所以需要看视频的同学可以点击过去观看
CPU工作原理
下面是CPU模型在线调试【通过编写汇编指令来模拟CPU的原理过程】
CPU模拟图【我缩小截图的,老写用JS做的CPU模型】
CPU 的工作原理
CPU模型在线测试

上面是的在线调试的,下面是EXCEL做的CPU模型【老外牛^^】
CPU 的工作原理
可以看视频CPU模型EXCEL版本
CPU工作原理英文版本资料
中文版本【CPU工作原理PDF中文版本】可以联系本人获取【翻译的可能不是很完整,但能看^
^】
中文版本PDF截图
CPU 的工作原理 [PHPER 码农来速来围观一波]
CPU 的工作原理 [PHPER 码农来速来围观一波]

英文截图
CPU 的工作原理 [PHPER 码农来速来围观一波]
CPU 的工作原理 [PHPER 码农来速来围观一波]
CPU 的工作原理 [PHPER 码农来速来围观一波]
CPU芯片设计流程视频

CPU作为计算机重要的部件,内有运算器【就是ALU逻辑电路,含有大量的bit位运算电路,运算的数据来源于内存】和控制器CU单元,控制器会根据程序【指令】操作ALU进行何种运算处理,再将结果写回目的寄存器,ALU为了高速运行一般会有相应的通用工作寄存器连接。
而寄存器会根据输入的地址【地址总线输出的信号】选择不同的存储单元输出存储的数据【寄存器一般由大量的触发器构成,触发器具有存储一位二进制的能力,比如在时钟信号的驱动下,输入端inputA为1,inputB为0它将具有置0或置1的能力,当两输入端只输入时钟信号时,可能会输出原来的数据,就具有了记忆能力,多个这样的电路就构成了寄存器电路】,寄存器输出还是输入一般芯片都具有IO功能即能当输出也能当输入,一般由使能信号控制,如为1时为输入状态,为0时为输出状态,控制器会读取指令【发出读指令信号,内存一般小的MCU芯片程序是单独存储的,指令会经过数据总线输入到控制器,控制器会根据指令内容发出操作信号,如控制ALU电路进行逻辑运算,那么它就会再次发出读数据信号,此时把地址输入到地址总线,数据寄存器或是RAM输出地址上的数据】,数据再加载到ALU进行处理,控制器再向地址总线输入地址,发出设置【保存信号】再往数据总线输入内容,将地址上的数据进行修改保存,所以我们得出控制器是通过控制总线,地址总线,数据总线来和RAM【数据,指令】和ALU进行交互的,此时如果需要向显示器输出内容【指令】,那么就会读取地址的数据【内存】再经过数据总线输出到显示【输出系统】设备上处理。

控制器才是整个系统的总管,控制着ALU,各种部件的工作,而内存【数据寄存器,程序寄存器】存储着指令和数据,指令的存在决定了控制器要发出什么样的控制指令,到底是进行ALU逻辑处理还是要干嘛,都由指令控制,要对数据进行加法处理,要获取数据,要保存数据,要修改数据,都是由指令控制。

所以指令系统【学过汇编的人应该清楚】:操作码【决定要对操作数据进行何种操作】 操作数1 操作数2 就是一条指令
就是读取RAM【内存】上的数据进行处理,进行什么样的处理由指令来决定,计算机就只有指令,数据,没有其它东西了,要么读取内存的数据,要么修改内存的数据【如进行ALU逻辑处理过的数据】,如把内存的数据输出到显示器上,如读取键盘输入的内容,控制器统统对控制总线发出相应的控制信号来读取内存的数据,然后再输入地址到地址总线上,输出某个地址【存储单元】上的数据罢了。

视频是高清视频【存于本人的服务器,宽带小大家可自己下载自己看,别线上看,我服务器会挂的^^】
视频是英文的,本人处理后翻译为了中文字幕^
^

勺颠颠
讨论数量: 2

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!