FPGA学习-CPU

1. 认识CPU

CPU(Central Processing Unit,简称CPU)本质上是用于科学计算的数字电路,它是特定的专用数字电路,除此之外GPU用于视频图像处理专用的数字电路,以及DSP用于信号处理的专用数字电路。

CPU是对数据进行科学运算的基本电路,科学计算以加减乘除为基本运算,电路核心为这4种对应运算电路,也包括逻辑运算,概括起来可以直观点说所谓的科学运算,即数学和逻辑运算,换句话说它是数据的数学和逻辑运算的数字电路。

图片

从以上图可以看出,数据处理电路从运行存储器中将数据读出来进行运算,计算完成之后又将结果写会运行存储。

1.1 CPU分类

对于科学运算数字电路,有各种电路设计,不管什么样的电路设计,CPU从工作复杂度上来说,分类2类,分别为精简指令集,复杂指令集。

Cisc  (复杂指令集) :理论上指令可以无限扩展,它的设计理念是每增加一种操作单独设计对应的指令,同时译码电路设计带来挑战,内部结构复杂,支持各种操作,只要用于PC系统,比如intel,adm。

Risc  (精简指令集) :理论上指令支持有限扩展,它的设计理念在规定的有限范围内进行指令扩展设计,译码电路简单,运行效率高,内部结构简单,目前主要用于嵌入式CPU。

以上除了本质上区别,他们的指令设计,一般情况下,Cics为变长指令集,RISC为定长指令集。

Risc的设计将会是以后的发展趋势,并且将越来越开源,比如RISC_V

1.2 RISC cpu

RSIC cpu结构设计灵活,运行效率高,内部结构相对于CICS简单,一般采用定长指令,译码相对电路简单。

优点:

1.指令集简洁,因此设计灵活

2.内部电路相对简单,运行效率高。

3.定长指令,所有指令长度一样,容易译码。

4.接口用于嵌入式设备,又可用在用于PC等复杂的电路系统中,通用性较强

缺点:

指令有限扩展,但是能满足我们所有的操作需求。

1.3 关于指令

CPU运算过程不是单一的,它可以执行很多种运算过程,每个运算过程是按照我们的需要进行运算,因此,它是一个典型的包括人机交互的数字电路设计。

人机交互是通过设计一串二进制,并且给这串二进制数赋予特定的功能,CPU解析该二进制数,并执行相关操作,而这个二进制就是指令。

在计算机系统中,指令都是由操作码和操作地址构成。

指令 =  操作码  +  操作地址

操作码 :  指明让CPU直行何种操作

操作地址 :  CPU在执行运算操作的时候,如果需要操作存储器,这个地址就是操作地址。

1.0地址指令

例如:

NOP :空操作,在不需要操作存储器的时候使用

2.1地址指令

LDA X05   :表示从0x05地址空间读取数据保存内部累加器

3.2地址指令

例如:

Sub  0x06  0x05:  把0x06存储器空间的数据与累加器,结果写入0x05空间的存储器

4.3地址指令

Sub  0x06  rs  ,0x07 :把0x06存储器空间的数据与rs寄存器数据详减,结果写入0x05空间的存储器

5.4地址指令

例如:

Cmpsum  0x06  0x07   rs   0x08:如果存储器0x06空间的数据大于0,则0x07空间的数据与RS寄存器数据相减,结果写入0x08存储空间

地址越多对应的操作也更为复杂,一条多地址指令可以由多条低地址指令功能组合在一起完成该操作。

在计算中,所有操作指令的集合叫做指令集,指令集决定了CPU所能够操作的功能,换句话说指令集指令越多完成的功能越多,实际中根据需要选择指令集,不同的指令集是不兼容的,操作系统或者软件必须兼容指令集才能正常运行。

1.4 关于cpu总线

CPU作为数字电路,在店里系统中需要与其他电路交互,交互是由接口总线负责,在计算机组成上,它的总线由地址总线,数据总线,控制总线构成。

图片

1.5 关于CPU的内部组成

按照计算机系统的规定,CPU内部是由组件构成,所谓组件就是具有独立功能的电路,具体表示如下:

CPU 组成 =  基本组件 +  扩展组件

基本组件:是构成CPU 的基础,包括指令寄存器,累加器,ALU,程序计数器,时序控制

扩展组件:是按照需要功能扩展

1.指令寄存器

用来存放当前用于执行的指令,指令从存储器中读出,存放在指令寄存器中

2.程序计数器

用来计算存放指令的存储器地址,分为2种情况

顺序:正常情况下指令是顺序执行的,因此地址加1

跳转:当我们需要从新的指令地址空间执行指令,则需要跳转

图片

3.ALU

是CPU的核心组件,完成数据的逻辑数学运算。具体需要按照当前的指令完成不同的运算。

4.累加器

用来保存当前ALU计算结果,除了累加器,如果需要功能扩展,则可能定义通用寄存器,以及标志寄存器. 

5.时序控制

控制取指令,分析执行指令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值