您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
CPU原理简介
作者 :孟凡霄
  1276  次浏览      24 次
 2023-2-24
 
编辑推荐:
本文主要介绍了CPU的原理。希望对您的学习有所帮助。
本文来自微信公众号平凡人笔记,由火龙果软件Linda编辑、推荐。

这是一个计算机最简单的构成,其中最核心的部件一个是cpu,一个是内存,其他都可以称为外设(USB、显卡、磁盘控制器、网卡驱动)。

cpu内部有一个部件叫ALU(数据逻辑单元)是用来做计算的,寄存器用来存数据的,pc(程序计数器)用来存指令。

比如计算3+5,pc记录了执行到第几条指令了,数据3、5存储在寄存器,由ALU来计算,加完了之后存储到内存中或存储到另外一个寄存器。

计算机最终的组成是由数字电路组成,

合上开关,电路联通,灯泡就会亮。假设用2个信号表示一个字符,

2个信号只能表示4个字符,如果想表示更多的字符,就要增加信号的宽度,

3个信号的组合可以表示8个字。

多少个信号,就可以表示2的多少次方个字符,这个就是字符编码。

中文日常交流常用的汉字有4000多个,康熙字典中记录了所有的汉字47000个,多少个信号可以代表所有的汉字,2的16次方65536,用一个16位的字符集就可以代表中国所有的汉字。

字符编码代表到底这个码代表什么字符,比如0011表示我,不同的字符编码表示同样的一个我字对应的编码是不一样的,比如在一个字符中用0200表示,在另外一种字符中用2929表示;而乱码表示编解码用的编码方式不一样,比如用GBK编码,用UTF-8解码,就会乱码即用来解析的码表和encode编码的码表不一样,就会乱码。

与门电路

在这个电路中其中有一个断开整个就是断开的,

所有都联通才是联通状态,如果用二进制的概念表示,

0表示断开(不通),1表示联通,所有为1才为1,对应着与门电路,

或门电路

此电路有两个以上输入端,一个输出端;只要有一个或几个输入端是 “1”,或门的输出即为 “1”;而只有所有输入端为 “0”时,输出才为 “0”。

非门电路

输入端和输出端的电平状态总是相反的。

或非

当任一输入端(或多端)为高电平(逻辑“1”)时,输出就是低电平(逻辑“0”);只有当所有输入端都是低电平(逻辑“0”)时,输出才是高电平(逻辑“1”)。

异或

当两个逻辑自变量取值相异时,函数为1;反之,当自变量取值相同时,函数为0;或者说:当两个输入信号相异时有输出,而相同时没有输出。

在异或门和或非门基础上人们发明了加法器,

这个加法器是对1位进行相加,计算8位的话,就是把加法器用新的电路串联起来,

当有了加法之后,所谓的ALU就出现了,只要能计算加法,其他所有的运算都能够计算了。

减法可以用二进制的补码完成,乘法可以用加法计算,除法可以用减法计算,所以最终所有的东西都可以用加法计算。

这是面包板可以用来模拟电路,往上面插二极管和三极管,插上去之后,各个灯角就互相连通了。

这个里面的输入作为那个里面的输出,这个里面的输出作为那个里面的输入,这样就可以做一些简单的电路实验。

当有了算法逻辑单元之后,整个计算的构成还需要其他的电路,比如时钟信号电路,一个是为了计时,再一个会不断的刷新电路,每刷一步电路就往前进一步做一个计算,因为到最后的时候,你会发现所有的计算都需要一个控制电路,控制电路必须一会联通,一会断开,每通一次整个的计算才会往前进一步。

3+5最终怎么计算得到8的?通一次电,计算才往前走一步,所以需要一个时钟电路,时钟电路需要电池信号,线圈一通电就会产生磁场,磁场把开关断下来,断下来之后就不通了,不通了之后,电池没电了,开关闭合,电流又通了,这样来回来去的。

后面就发明了锁存器,总而言之用更深的电路实现一个锁存器,锁存器的作用是不管控制端输入一个什么,最终这里的输出会保存下来即只要最终的电是通的,就会保存下来,这个就是内存或寄存器。

把数字存在这里,不可能说通一次电流,数字就变了,只要不对它进行写的操作,只要不覆盖了,它就一直存在这,这个在电路上的名称叫锁存器。

有了1位锁存器,就会产生8位的,

1024位的,

所以最终就会发现可以完完全全用一个电路来记录地址,用另外一个电路记录数据,再通过一个控制信号把它写到锁存器当中。

结果整个内部程序就会变成,我有一个地址,地址上记录了哪个数据,就可以完全的把它记录下来。

当然最终还是要写程序实现程序的自动化,这个过程只要不断的用时钟信号去修改它的控制端,它就会一步一步的往前走,先加第一位,再加第二位,再加第三位...

cup中的寄存器就是锁存器,里面记录了计算需要的数据;程序计数器就是地址,计算到哪一行、哪个地址了,往前推进一下,地址就往下加1;ALU是用来计算的电路即加法器。

 

   
1276 次浏览       24
相关文章

一文了解汽车嵌入式AUTOSAR架构
嵌入式Linux系统移植的四大步骤
嵌入式中设计模式的艺术
嵌入式软件架构设计 模块化 & 分层设计
相关文档

企点嵌入式PHP的探索实践
ARM与STM简介
ARM架构详解
华为鸿蒙深度研究
相关课程

嵌入式C高质量编程
嵌入式操作系统组件及BSP裁剪与测试
基于VxWorks的嵌入式开发、调试与测试
嵌入式单元测试最佳实践

最新活动计划
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
LLM大模型应用与项目构建 12-26[特惠]
UML和EA进行系统分析设计 12-20[线上]
数据建模方法与工具 12-3[北京]
SysML建模专家 1-16[北京]
 
 
最新文章
基于FPGA的异构计算在多媒体中的应用
深入Linux内核架构——简介与概述
Linux内核系统架构介绍
浅析嵌入式C优化技巧
进程间通信(IPC)介绍
最新课程
嵌入式Linux驱动开发
代码整洁之道-态度、技艺与习惯
嵌入式软件测试
嵌入式C高质量编程
嵌入式软件可靠性设计
成功案例
某军工所 嵌入式软件架构
中航工业某研究所 嵌入式软件开发指南
某轨道交通 嵌入式软件高级设计实践
深圳 嵌入式软件架构设计—高级实践
某企业 基于IPD的嵌入式软件开发
更多...