执行运算单元负责将取到的操作数进行相应的操作。ALU整体框图如图37所示。
图37ALU整体结构图
算术逻辑单元ALU是绝大多数指令必须经过的单元所有的运算都在ALU中完成。取操作数单元在数据选择的控制信号控制下,可以选取一个或者两个操作数输入执行单元。在执行运算单元中,根据指令的类型对两个或一个8位输入数据进行运算。4位算术控制输入信号alu_ctrl决定两个输入数据的算术操作类型可以有16种不同的功能组合。2位逻辑控制输入信号Logic决定一个输入数据的逻辑操作类型,可以有4种不同的功能组合。在ALU的设计中主要还是根据指令来的,ALU所能执行的指令是很多的,基本的指令可以分为4类,即ADD,SUB,LOGIC,LSL、LSR。指令ADD分为不带进位和带进位加法操作SUB指令组分为执行不带进位和带进位减法操作LOGIC指令组分为或和与的逻辑操作LSL指令组分为带进位的循环右移和不带进位的算术右移操作LSR指令组分为带进位的循环左移和不带进位的算
f术左移操作在本次设计中只完成加法、减法、与、或、不带进位的左移和不带进位的右移的运算功能,并输出溢出信号。Processa1b1fromalu_ctrlfromlogicBegi
casefromalu_ctrlis……e
dcasecasefromlogicis…e
dcasee
dprocessProcessclkbegi
ifrisi
g_edgeclkthe
iffoute
0the
R