alu加法与存储器读取
A. CPU用过ALU运算的结果会放入内存储器吗
会。
1、当我们CPU运算完后,往往需要把结果送到存储器里,这就理清了ALU的操作数来去了。
2、概念CPU里就会发现我们指令里有些控制做加减,有些还控制数据流向的指令。
B. alu是什么意思
alu有三个不同的意思,分别是:
1、alu指的是阿尔卡特朗讯:
阿尔卡特-朗讯是一家提供电信软硬件设备及服务的跨国公司,总部设于法国巴黎。是由美国的朗讯科技以及法国的阿尔卡特于2006年12月1日起正式合并而成的。
2、alu指的是Alu重复序列:
Alu重复序列是哺乳动物基因组中SINE家族的一员,约有50万份拷贝。也就是说平均4~6 kb中就有一个 Alu序列。由于这种DNA序列中有限制性内切核酸酶AluI的识别序列AGCT,所以称为 Alu重复序列。
3、alu指的是算术逻辑单元:
算术逻辑单元是中央处理器的执行单元,是所有中央处理器的核心组成部分,由"And Gate"和"Or Gate"构成的算术逻辑单元。
(2)alu加法与存储器读取扩展阅读:
在算术逻辑单元中ALU必须与数字电路的其他部分使用同样的格式来进行数字处理。对现代处理器而言,数值一律使用二进制补码表示。
早期的计算机曾使用过很多种数字系统,包括反码、符号数值码,甚至是十进制码,每一位用十个管子。
以上这每一种数字系统所对应的ALU都有不同的设计,而这也影响了当前对二进制补码的优先选择,因为二进制补码能简化ALU加法和减法的运算。一个简单的能进行与或非和加运算的2位ALU。
C. ALU是什么
ALU是算术逻辑单元,能实现多组算术运算和逻辑运算的组合逻辑电路,算术逻辑单元的简称是ALU。
算术逻辑单元(Arithmetic&logical Unit)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate"(与门) 和"Or Gate"(或门)构成的算术逻辑单元。
主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。
(3)alu加法与存储器读取扩展阅读:
ALU的特点:
ALU用以计算机指令集中的执行算术与逻辑操作,某些处理器中,将ALU切分为两部分,即算术单元 (AU)与逻辑单元(LU)。某些处理器包含一个以上的AU,如,一个用来进行定点操作,另一个进行浮点操作。(个人计算机中,浮点操作有时由被称为数字协处理器的浮点单元完成)。
通常而言,ALU具有对处理器控制器、内存及输入输出设备的直接读入读出权限。输入输出是通过总线进行的。输入指令包含一个指令字,有时被称为机器指令字,其中包括操作码,单个或多个操作数,有时还会有格式码;操作码指示ALU机要执行什么操作,在此操作中要执行多少个操作数。
D. alu是什么意思
1:ALU:Arithmetic Logic Unit,算术逻辑单元的全称是Arithmetic Logic Unit,是处理器中的一个功能模块,用来执行诸如加减乘除以及寄存器中的值之间的逻辑运算,通常在一般的处理器上被设成一个周期运行一次上升沿,这主要是由附属于ALU的输入输出寄存器以及在ALU输入处插入旁路乘法器来决定的。Pentinum 4的ALU令人十分吃惊,Intel竟然使用0.18微米铝连接技术制造出了延迟时间少于0.35ns的Rapid Execution Engine(快速执行引擎),其中包括了载入/存储地址生成器,可以在上下沿同时进行时序运算,使用了这种ALU,从理论上来讲处理器的计算可以增加到两倍。从而使运算速度大大加快。http://www.sztvu.com/kfjy/jx/zk/jsjsz/jsjzcyl/chapter3.htm第三章 CPU原理*CPU的基本组成:CPU的三个主要组成部分如图,在本章的学习中我们将要建立起CPU一级的整机概念,即CPU的逻辑组成、CPU的工作原理。3.1 算术逻辑运算部件ALU*算术逻辑运算部件ALU主要完成二进制代码的定点算术和逻辑运算,有时也叫多功能函数发生器;*算术运算主要包括定点加、减运算;*逻辑运算主要包括逻辑与、或、非、异或;*ALU的核心加法器。3.1.1 加法单元*半加器:输入:A操作数的第i位Ai,B操作数的第i位Bi;输出:和∑的第i位∑i逻辑表达式:*全加器:输入:A操作数的第i位Ai,B操作数的第i位Bi,以及低位送来的进位Ci;输出:和∑的第i位∑i,向高位的进位Ci+1逻辑表达式:3.1.2 并行加法器与进位链结构*用n位全加器实现两个n位操作数各位同时相加,这种加法器称为并行加法器。*并行加法器中传递进位信号的逻辑线路称为进位链。1. 基本进位公式设两个n位操作数为:A=An-1An-2...Ai...A0B=Bn-1Bn-2...Bi...B0进位信号表达式:定义辅助函数:其中,Gi称为进位产生函数,其含义:若该位两个输入端Ai,Bi均为1,必向高位产生进位,此分量与低位进位无关;Pi称为进位传递函数,其含义:当Pi=1,如果低位有进位,本位必产生进位,也即低位传来的进位能工越过本位而向更高位传递。因此有:Ci+1=Gi+PiCi2. 并行加法器的串行进位*所谓串行进位又叫行波进位,其中的进位是逐级形成的,每一级进位直接依赖前一级进位。将i=0,1,...,n-1分别代入上式,可得:*优点:节省器件,成本低*缺点:延迟时间长3.并行进位(先行进位,同时进位)*各级进位同时形成*根据上式得到的逻辑图:*常用的分组进位结构:(1)组内并行,组间串行;(2)组内并行,组间并行。3.1.3 ALU举例1. SN74181外特性2. SN74181内部结构3. SN74181功能表4. 用SN74181构成多位的ALU*由于SN7418I是4位片结构,因此很容易将其连接成各种位数的ALU。每片74181可作为一个4位的小组,组间可以采用串行进位也可采用并行进位。采用组间并行进位时,要使用一片SN74182并行进位组件。图3-6提供了一个16位组间并行进位的ALU连接实例。3.2 运算方法*数值运算的核心是加、减、乘、除四则运算。由于计算机中的数有定点和浮点表示,因此相应有定点数的运算和浮点数的运算。3.2.1 定点加减运算在大多数计算机中,通常只设置加法器,减法运算是通过转换为加法来实现的。1. 原码加减运算对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是减,不仅取决指令中的操作码,还取决于两个操作数的符号。而且运算结果的符号判断也较复杂。例如,加法指令指示做(+A)+(-B)由于一操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对值大的符号相同。同理,在减法指令中指示做(+A)-(-B)实际操作做加法(+A)+(+B),结果与被减数符号相同。由于原码加减法比较繁琐,相应地需要由复杂的硬件逻辑才能实现,因此在计算机中很少被采用。2. 补码加减运算在计算机中,参加补码运算的操作数及运算结果皆用补码表示。(1)补码加法运算两个相加的数无论正负,只要表示成对应的补码形式,则可直接按二进制规则相加,且符号位作为数的一部分直接参与运算,所得结果就是和的补码形式。可用如下关系式描述:[X]补+[Y]补=[X+Y]补(2)补码减法运算*公式:[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补*求机器负数[-Y]补的方法:将[Y]补连同符号位一起变反,末尾加“1”2:ALU:Alcatel Lucent Union,阿尔卡特朗讯联合体 Alcatel Lucent Union,阿尔卡特朗讯,由法国阿尔卡特和美国朗讯于于2006年12月1日合并产生,又称阿朗,是世界前五位的电信服务商,包括电信设备和系统解决方案,拥有世界着名的贝尔实验室。详情参见网络,阿尔卡特朗讯词条。
E. 算术逻辑单元(ALU)具体怎么理解
计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。
数据运算器的处理对象是数据,所以数据长度和计算机数据表示方法,对运算器的性能影响极大。70年代微处理器常以1个、4个、8个、16个二进制位作为处理数据的基本单位。大多数通用计算机则以16、32、64位作为运算器处理数据的长度。能对一个数据的所有位同时进行处理的运算器称为并行运算器。如果一次只处理一位,则称为串行运算器。有的运算器一次可处理几位 (通常为6或8位),一个完整的数据分成若干段进行计算,称为串 并行运算器。运算器往往只处理一种长度的数据。有的也能处理几种不同长度的数据,如半字长运算、双倍字长运算、四倍字长运算等。有的数据长度可以在运算过程中指定,称为变字长运算。
按照数据的不同表示方法,可以有二进制运算器、十进制运算器、十六进制运算器、定点整数运算器、定点小数运算器、浮点数运算器等。按照数据的性质,有地址运算器和字符运算器等。
操作运算器能执行多少种操作和操作速度,标志着运算器能力的强弱,甚至标志着计算机本身的能力。运算器最基本的操作是加法。一个数与零相加,等于简单地传送这个数。将一个数的代码求补,与另一个数相加,相当于从后一个数中减去前一个数。将两个数相减可以比较它们的大小。
左右移位是运算器的基本操作。在有符号的数中,符号不动而只移数据位,称为算术移位。若数据连同符号的所有位一齐移动,称为逻辑移位。若将数据的最高位与最低位链接进行逻辑移位,称为循环移位。
运算器的逻辑操作可将两个数据按位进行与、或、异或,以及将一个数据的各位求非。有的运算器还能进行二值代码的16种逻辑操作。
乘、除法操作较为复杂。很多计算机的运算器能直接完成这些操作。乘法操作是以加法操作为基础的,由乘数的一位或几位译码控制逐次产生部分积,部分积相加得乘积。除法则又常以乘法为基础,即选定若干因子乘以除数,使它近似为1,这些因子乘被除数则得商。没有执行乘法、除法硬件的计算机可用程序实现乘、除,但速度慢得多。有的运算器还能执行在一批数中寻求最大数,对一批数据连续执行同一种操作,求平方根等复杂操作。
F. ALU的工作原理是什么
算术逻辑单元 (Arithmetic Logic Unit, ALU)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate" 和"Or Gate"构成的算术逻辑单元,主要功能是进行二进制的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以二补数的形式来表示。
G. cpu通过alu运算的结果必须送回寄存器但不会放入内存储器
逻辑是这样的。
CPU在执行算术运算或逻辑运算时,算术逻辑运算部件ALU将计算结果存于累加器AC中。计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器。处理后的结果数据通常送回存储器,或暂时寄存在运算器中。
在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重要组成部分,甚至连最小的微处理器也包含ALU作计数功能。在现代CPU和GPU处理器中已含有功能强大和复杂的ALU。一个单一的元件也可能含有ALU。
H. 简述SRAM,DRAM型存储器的工作原理
个人电脑的主要结构:
显示器
主机板
CPU
(微处理器)
主要储存器
(记忆体)
扩充卡
电源供应器
光盘机
次要储存器
(硬盘)
键盘
鼠标
尽管计算机技术自20世纪40年代第一台电子通用计算机诞生以来以来有了令人目眩的飞速发展,但是今天计算机仍然基本上采用的是存储程序结构,即冯·诺伊曼结构。这个结构实现了实用化的通用计算机。
存储程序结构间将一台计算机描述成四个主要部分:算术逻辑单元(ALU),控制电路,存储器,以及输入输出设备(I/O)。这些部件通过一组一组的排线连接(特别地,当一组线被用于多种不同意图的数据传输时又被称为总线),并且由一个时钟来驱动(当然某些其他事件也可能驱动控制电路)。
概念上讲,一部计算机的存储器可以被视为一组“细胞”单元。每一个“细胞”都有一个编号,称为地址;又都可以存储一个较小的定长信息。这个信息既可以是指令(告诉计算机去做什么),也可以是数据(指令的处理对象)。原则上,每一个“细胞”都是可以存储二者之任一的。
算术逻辑单元(ALU)可以被称作计算机的大脑。它可以做两类运算:第一类是算术运算,比如对两个数字进行加减法。算术运算部件的功能在ALU中是十分有限的,事实上,一些ALU根本不支持电路级的乘法和除法运算(由是使用者只能通过编程进行乘除法运算)。第二类是比较运算,即给定两个数,ALU对其进行比较以确定哪个更大一些。
输入输出系统是计算机从外部世界接收信息和向外部世界反馈运算结果的手段。对于一台标准的个人电脑,输入设备主要有键盘和鼠标,输出设备则是显示器,打印机以及其他许多后文将要讨论的可连接到计算机上的I/O设备。
控制系统将以上计算机各部分联系起来。它的功能是从存储器和输入输出设备中读取指令和数据,对指令进行解码,并向ALU交付符合指令要求的正确输入,告知ALU对这些数据做那些运算并将结果数据返回到何处。控制系统中一个重要组件就是一个用来保持跟踪当前指令所在地址的计数器。通常这个计数器随着指令的执行而累加,但有时如果指令指示进行跳转则不依此规则。
20世纪80年代以来ALU和控制单元(二者合成中央处理器,CPU)逐渐被整合到一块集成电路上,称作微处理器。这类计算机的工作模式十分直观:在一个时钟周期内,计算机先从存储器中获取指令和数据,然后执行指令,存储数据,再获取下一条指令。这个过程被反复执行,直至得到一个终止指令。
由控制器解释,运算器执行的指令集是一个精心定义的数目十分有限的简单指令集合。一般可以分为四类:1)、数据移动(如:将一个数值从存储单元A拷贝到存储单元B)2)、数逻运算(如:计算存储单元A与存储单元B之和,结果返回存储单元C)3)、条件验证(如:如果存储单元A内数值为100,则下一条指令地址为存储单元F)4)、指令序列改易(如:下一条指令地址为存储单元F)
指令如同数据一样在计算机内部是以二进制来表示的。比如说,10110000就是一条Intel
x86系列微处理器的拷贝指令代码。某一个计算机所支持的指令集就是该计算机的机器语言。因此,使用流行的机器语言将会使既成软件在一台新计算机上运行得更加容易。所以对于那些机型商业化软件开发的人来说,它们通常只会关注一种或几种不同的机器语言。
更加强大的小型计算机,大型计算机和服务器可能会与上述计算机有所不同。它们通常将任务分担给不同的CPU来执行。今天,微处理器和多核个人电脑也在朝这个方向发展。
超级计算机通常有着与基本的存储程序计算机显着区别的体系结构。它们通常由者数以千计的CPU,不过这些设计似乎只对特定任务有用。在各种计算机中,还有一些微控制器采用令程序和数据分离的哈佛架构(Harvard
architecture)。
I. 计算机的工作流程——加法
运算器:
ALU (Arithmetic&logical Unit) 算数 逻辑 单元
X :此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数
ACC (Accumulator),累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
MQ :Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
控制器:
取指令 PC :Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。
分析指令 IR :Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。
执行指令 CU :Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。
主存储器
MAR :Memory Address Register,存储器 地址 寄存器,在主存中用来存放欲访问的存储单元的地址。
MDR :Memory Data Register,存储器 数据 缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。
主存是一个个菜鸟驿站的柜子,有自己的编号,柜子里面有不同的货物,有的存着1234这个数字,有的存着325这个数字,有的里面是0。
以执行一个y=ab+c的命令为例
在一切开始之前,PC先数一个数,然后把数字告诉MAR,然后再数一个,再告诉MAR,循环往复,
首先,PC开始计数,数字为0,pc告诉MAR:0。 MAR只会接收“地址”,然后取这个地址的东西出来传给MDR 。MAR去主存柜找第0号柜子,打开,(里面是000001和0000000101),把柜子里的东西拿给了MDR。 MDR只接收内容,然后传给别人 ,MDR这个柜子里就存放了指令的内容了,但是MDR只知道这串数字,不知道这串数字是什么意思。 MDR只是一个无情的传话筒 。MDR将这串数字传给IR柜子,IR柜子接收指令内容,并将其分为操作码和地址码,然后把操作码给CU, IR只是一个无情的分割机和传话筒,嗯,高级传话筒。CU就很智能了,CU一看,操作码多少?000001,哦,翻一翻字典,这是取数, 把地址发送给MAR,MAR是干啥的?请看前面,MAR此时又收到一个地址,然后在主存柜找到该柜子打开,把东西又给了MDR,MDR接收了这个内容,该传给谁呢,此时CU通过总线指挥MDR,把这个送给ACC,MDR送给ACC,ACC就把2这个数字给加上去了。
加法很简单,但计算机实现为什么要这么多步骤?
计算机运算了1+1=2,但是问题来了,怎么把2输出出去,也就是说,怎么让你知道计算机算出来了2。那肯定是把“2”这个数字传输给输出设备“显示”或者“保存”下来,但是要传输一个东西,前提有两点,1.起点2.终点。计算机的数据有如茫茫大海,我为了传输2这个数字,得创建一个新的东西来存放2所在的地址,送货员才知道起点。地址+数据。“第五个柜子”,“2”
PC把地址发送给MAR,MAR有着固定的终点MDR
送货员MAR把数据(指令的完整内容)送给MDR,MDR听总线命令,把数据送给别人,可能是IR,ACC,MQ。在例子中首先送给IR,IR拿到手,把操作码发送给CU,把地址码发送给MAR,(MAR好累),MAR现在收到了地址码,又开始送货,送给MDR,这次总线告诉MDR,这个东西送给ACC
为了传达“取数”和“地址”两个信息,MAR需要跑两趟,工具人啊。
为什么不传达“取数”和“数字”,一次就传完呢?可能是因为这个数据是事先已经存好的数字,而不是临时输入的。
如果此篇文章对你有帮助,谢谢你的点赞
J. 指令的格式是什么它在计算机内部是如何存储和运行的
例如:ADD R0 [6] (默认第一个操作数即是原操作数,又是目的操作数)
将通用寄存器R0中的数据,与存储器地址为6的数据相加,返回给寄存器R0
假设计算机已有初始值,R0中的值为00000011,PC中的值为0001,存储器地址0001中的指令用10101010指代,
具体过程详解:
1.取指:控制器将指令地址送往存储器,存储器按给定的地址读出数据,送回控制器
(1)控制器发出控制信号,将PC寄存器中的内容通过CPU内部总线传送到MAR中(MAR中也保存了0001)
(2)MAR将地址送到地址总线,与此同时,控制电路在控制总线上发出控制信号,代表此次操作为read,这样存储器上MAR寄存器就会收到地址总线上传送来的地址,并把它保存下来
存储器中的控制逻辑也会收到控制总线上的信号,表示此次操作为read,这样存储器通过地址译码器,就可以查找到对应地址0001的存储单元上的内容,并将其中的数据传送到MDR寄存器中
(3)存储器的控制逻辑通过控制总线向CPU反馈当前传输状态READY,同时MDR中的内容传送到数据总线上,随后CPU中控制电路检测到控制总线上的Ready信号,就知道当前数据总线上已经准备好了数据,
因此,CPU中MDR就会将数据总线传送的数据保存下来,然后将MDR中的数据必须要传送到IR寄存器中
(4)PC寄存器中的数据更新到下一条指令所需访问的地址0010(取值阶段完成)
2.译码:控制器分析指令的操作性质,控制器向有关部件发出指令所需的控制信号
(1)当前IR寄存器中的数据送到指令译码部件,指令译码部件根据指令编码解析10101010(ADD R0 [6]),控制电路据此产生对应的控制信号,发送到相关部件中
3.执行:控制器从通用寄存器或存储器取出操作数,控制器命令运算器对操作数进行指令规定的运算。
(1)MAR中会产生0110(即6)随后的过程类似于取值阶段,因为最后传送到CPUMDR中的数据要进行加法运算,所以随后还会将其传送到ALU的Y寄存器中
(2)另一个操作数存储在R0中,因此所以会将R0中的数据传送到ALU的另一个输入端,即X寄存器上
(3)在控制电路的作用下,ALU进行运算,将XY中的内容执行加法,计算出结果00000101
4.回写:将运算结果写入通用寄存器或存储器中
(1)当前运算结果还在ALU的输出端即Z寄存器中,控制电路给出相应的控制Z寄存器中的数据传送到R0中,R0原本的数据被新的结果覆盖
(2)CPU中PC寄存器进行下一条指令