搜档网
当前位置:搜档网 › 桶形移位器

桶形移位器

桶形移位器
桶形移位器

1

Barrel Shifter

Introduction

The AT6000 Series field programmable gate array (FPGA) allows the designer to implement fast compact 8 bit barrel shifters, and modular shifters that can be easily sized for specific needs. Perfor-mance is enhanced by a unique feature of the busing architecture that enables the select control lines to be distributed across the data path with minimal skew,and a cell architecture that allows a two-to-one multiplexer (MUX) to be realized in just one cell.

Description

Figure 1 shows the fast, compact barrel shifter. Depending on the encoded shift control lines, S 0-2, the data inputs D 0-7are shifted when they reach the outputs Q 0-7. If S 0 is asserted and S 1 and S 2 are unasserted, the value at D 0-7 is passed to the next most significant Q output. For example, D 0 is passed to Q 1, and D 1passed to Q 2, while D 7 wraps around and is passed to Q 0. If none of the shift controls are asserted, the data inputs D 0-7 are passed to the corresponding outputs Q 0-7 without being shifted.

Figure 1. Fast, Compact Barrel Shifter with Encoded Shift Control

FPGA

2

Figure 2 shows the modular barrel shifter. The shift line S 0-6is coded such that the data is shifted one bit position for every shift line that is asserted. The bit-width and depth of the modular barrel shifter can be easily expanded because of the efficient interconnections network. Each multiplexer output connects to its two nearest neighbors in the next col-umn. The multiplexers on the borders are easily connected via a local bus wire. Bit-slice structures of arbitrary bit-width can be composed and then concatenated to form barrel shifters tailored to specific design needs.

The implementation in Figure 1 is faster because it con-tains fewer multiplexers. The critical path of the second implementation has more than twice as many MUX cells in series. The delay through a multiplexer cell is 2.7 times the delay through a wire cell, so the delay through three wire cells is approximately equal to the delay through one multi-plexer cell. With both implementations being approximately the same size, and the critical paths containing about the same quantity of cells, the path with the lesser amount of multiplexers will be faster.

Figures 1 and 2 reflect the relative physical placement of the logical cells that compose the barrel shifter function and the busing structure that performs the interconnection.Table 1 gives performance and utilization statistics for both implementations. Both implementations are available in schematic and layout form.

Figure 2. Modular Barrel Shifter with Non-coded Shift Control

2.D 0-7→Q 0-7. Worst-case Commercial Operating Conditions: 70°C, 4.75V.

Table 1. Statistics for Barrel Shifter

Version

Cell Count

(1)

Minimum Bounding

Box (X × Y)

MaximumSpeed (2)Fast (3 Control Bits, Encoded)

1128 × 14 28 ns/35.7 MHz Modular (7 Control Bits, Encoded)126

13 × 10

44 ns/22.7 MHz

? Atmel Corporation 1999.

Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company ’s standard war-ranty which is detailed in Atmel ’s Terms and Conditions located on the Company ’s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual prop-erty of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel ’s products are not authorized for use as critical components in life support devices or systems.

Atmel Headquarters

Atmel Operations

Corporate Headquarters

2325 Orchard Parkway San Jose, CA 95131TEL (408) 441-0311FAX (408) 487-2600

Europe

Atmel U.K., Ltd.

Coliseum Business Centre Riverside Way

Camberley, Surrey GU15 3YL England

TEL (44) 1276-686-677FAX (44) 1276-686-697Asia

Atmel Asia, Ltd.Room 1219

Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong

TEL (852) 2721-9778FAX (852) 2722-1369Japan

Atmel Japan K.K.

9F, Tonetsu Shinkawa Bldg.1-24-8 Shinkawa

Chuo-ku, Tokyo 104-0033Japan

TEL (81) 3-3523-3551FAX (81) 3-3523-7581

Atmel Colorado Springs

1150 E. Cheyenne Mtn. Blvd.Colorado Springs, CO 80906TEL (719) 576-3300FAX (719) 540-1759Atmel Rousset

Zone Industrielle

13106 Rousset Cedex France

TEL (33) 4-4253-6000FAX (33) 4-4253-6001

Fax-on-Demand

North America:1-(800) 292-8635International:1-(408) 441-0732

e-mail

literature@https://www.sodocs.net/doc/ff8390200.html,

Web Site https://www.sodocs.net/doc/ff8390200.html, BBS

1-(408) 436-4309

0469C –09/99/xM

Marks bearing ? and/or ? are registered trademarks and trademarks of Atmel Corporation.Terms and product names in this document may be trademarks of others.

实验二算术逻辑运算及移位操作

实验二算术逻辑运算及移位操作 一、实验目的 1.熟悉算术逻辑运算指令和移位指令的功能。 2.了解标志寄存器各标志位的意义和指令执行对它的影响。 二、实验预习要求 1.复习8086指令系统中的算术逻辑类指令和移位指令。2.按照题目要求在实验前编写好实验中的程序段。 三、实验任务 1.实验程序段及结果表格如表: 表

2.用BX 寄存器作为地址指针,从BX 所指的内存单元(0010H)开始连续存入(10H 、04H 、30H),接着计算内存单元中的这三个数之和,和放在 单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程

3 后结果(AX)= (1) 传送15H 到AL 寄存器; (2) 再将AL 的内容乘以2 ; (3) 接着传送15H 到BL 寄存器; (4) 最后把AL 的内容乘以BL 的内容。 4商= (1) 传送数据2058H 到DS:1000H 单元中,数据12H 到DS:1002H 单元中; (2) 把 DS:1000H 单元中的数据传送到AX 寄存器; (3) 把AX 寄存器的内容算术右移二位; (4) 再把AX 寄存器的内容除以DS:1002H 字节单元中的数; (5) 最后把商存入字节单元DS:1003H 中。 5.下面的程序段用来清除数据段中从偏移地址0010H 开始的12元的内容(即将零送到这些存储单元中去)。 (1) 将第4条比较指令语句填写完整(划线处)。 MOV SI ,0010H NEXT: MOV WORD PTR[SI],0 ADD SI ,2 CMP SI ,答案 22H (或者20H ) JNE NEXT HLT (2) 假定要按高地址到低地址的顺序进行清除操作(高地址从0020H 开始),则上述程序段应如何修改 上机验证以上两个程序段并检查存储单元的内容是否按要求进行了改变。 6. 输入并运行表中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。

运算器实验

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称运算器实验 班级 15 学号 姓名 L 同组人员无 实验日期 2015/10/29

一、实验目的与要求 目的:①了解运算器的组成结构。 ②掌握运算器的工作原理。 要求:①实验之前,应认真准备,写出实验步骤和具体设计内容。 ②应在实验前掌握所有控制信号的作用。 ③实验过程中,应认真进行实验操作。 ④实验之后,应认真思考总结,写出实验报告,包括实验步骤 二、实验逻辑原理图与分析 2.1 画实验逻辑原理图 图3-1 运算器原理图

2.2 逻辑原理图分析 如上图3-1,运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3……S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片CPLD中。 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图3-2所示。图中显示的是一个4*4的矩阵(系统中是一个8*8的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: ⑴对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。 ⑵对于循环右移功能,右移对角线同互补的左移对角线一起激活。列如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。 ⑶对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。

数字信号处理实验一

实验一 离散时间信号分析 班级 信息131班 学号 201312030103 姓名 陈娇 日期 一、实验目的 掌握两个序列的相加、相乘、移位、反褶、卷积等基本运算。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为+∞<<∞-n 的整数,n 取其它值)(n x 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t x a 进行等间隔采样,采样间隔为T ,得到)}({nT x a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)) (n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 ∑∞ -∞==-= m n h n x m n h m x n y )(*)()()()( 上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4个步骤。 (1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。

(2)移位:将)(m h -移位n ,得)(m n h -。当n 为正数时,右移n 位;当n 为负数时,左移n 位。 (3)相乘:将)(m n h -和)(m x 的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。 三、主要实验仪器及材料 微型计算机、Matlab6.5 教学版、TC 编程环境。 四、实验内容 (1)用Matlab 或C 语言编制两个序列的相加、相乘、移位、反褶、卷积等的程序; (2)画出两个序列运算以后的图形; (3)对结果进行分析; (4)完成实验报告。 五、实验结果 六、实验总结

移位运算器实验报告

移位运算器实验报告 移位运算器实验报告 移位运算器 实验报告 课程名称: 计算机组成原理 姓名/学号: 实验名称: 算术逻辑运算专业: 软件工程班级: 软件工程班指导教师: 实验日期: 2011年 10月 26日 实验成绩: 批阅教师签字: 第 1 页共 4 页 移位运算器实验报告 一、实验目的 , 验证移位控制的组合功能 二、实验设备 , 1、TDN,CM,组成原理实验仪一台 , 2、导线若干 三、实验原理 , 利用移位发生器(74LS299)、时序脉冲T4、信号控制使能端299-B、电平控制信号 AR及S0 S1 M控制其功能状态。如上图所示为移位控制电路.其中使用了一片74L

S299作为移位发生器,其8位输入/输出端可连接至内部总线。74LS299移位器的片选 控制信号为299,B,在低电平时有效。T4为其控制脉冲信号,由“W/R UNIT”单元 中的T4接至“STATE UNIT”单元中的单脉冲发生器KK2上而产生,S0、S1、M 作为移 位控制信号。 第 2 页共 4 页 移位运算器实验报告 四、实验内容 , 分别将理论值(每种位移进行三次)填入表中(初始值为5A),向299置数(置成5A

(01011010))。 , 设置S1、 S0、 M、299-B的状态,观察并记录移位结果(F、CY)。 F(三次移位结果) CY 299-B S1 S0 M 功能理论值实验值理论值实验值任意 0 0 0 保持 01011010 1 00101101 0 0 1 0 0 循环右移 10010110 1 01001011 0 10101101 0 带进位循环0 1 0 1 01010110 1 右移 10101011 0 10110100 0 0 0 1 0 循环左移 01101001 1 11010010 0 10110101 0 带进位循环0 0 1 1 01101010 1 左移 11010101 0 任意 1 1 任意装数 01011010 1 实验步骤: 1. 仔细查线无误后,接通电源。 2. 向移位寄存器装数。 <1> 拨动输入开关形成任意二进制数(注意形成的数据要能明显区分各位)。 <2> 使SWITCH UNIT单元中的开关SW-B=0,打开数据输入三态门。 <3> 使S0=1、S1=1,并按动微动开关KK2,则将二进制数装入移位寄存器。 <4> 使SW-B=1,关闭数据输入三态门。 3. 移位运算操作。参照“移位控制电路功能表”的内容,先将S1、S0和299-B置为 0、0和0,检查移位寄存器单元装入的数是否正确,然后通过改变S0、S1、M 的状 态,并按动微动开关KK2,观察移位的结果。 第 3 页共 4 页

数据传送指令及算术逻辑运算和移位指令的使用

实验报告 1.数据传送指令的使用 一,实验目的; 把数据、地址或立即数传送到寄存器、存储单元以及I/O端口,或从内存单元、I/O端口中读取数据。 1. 通用传送指令:MOV,PUSH,POP,XCHG,XLAT 2. 输入输出指令指令: IN,OUT 3. 目的地址传送指令: LEA,LDS,LES 4. 标志位传送指令: LAHF,SAHF,PUSHF,POPF 二,实验步骤; 1. 传送指令 1)用A命令在内存100H处键入下列内容: MOV AX,1234 MOV BX,5678 XCHG AX,BX MOV AH,35 MOV AL,48 MOV DX,75AB XCHG AX,DX 2)用U命令检查键入的程序并记录,特别注意左边的机器码。 3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。

2. 改变标志寄存器psw中tf标志的状态(0——1或1——0),其余位保持不变。 3. 设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。在DEBUG状态下使用A 命令送入下面程序,并用单步T命令执行的方法,分析每条指令源地址的形成过程?当数据传送每完成一次,试分析AX寄存器中的内容是什么? 程序清单如下: MOV AX,BX MOV AX,0304H MOV AX,[0304H] MOV AX,[BX] MOV AX,0001[BX] MOV AX,[BX][SI] HLT

4. 使用标志位传送指令,编程序段将标志位寄存器的低八位的值存入内存单元DS:1000H 中或堆栈中,然后将标志位寄存器的低八位置位为10101010。 2.算术逻辑运算和移位指令的使用 一,实验目的; 使用算术逻辑运算和移位指令,可以实现对二进制数据的加、减、乘、除等四则运算,与、或、非、异或等逻辑运算,以及移位运算和代码转换运算 1,算术运算:加法指令、减法指令,乘法指令、除法指令以及转换指令; 2. 逻辑运算指令:AND,TEST,OR,XOR,NOT 3. 移位指令: 移位运算可以分为算术逻辑移位和循环移位两类。 (1)算术逻辑移位指令:SHL,SHR,SAL,SAR (2)循环移位指令:ROL,ROR,RCL,RCR 二,实验步骤; 1. 已知程序段定义如下: MOV AX,1234 MOV CL,4 SHL AX,CL INC AX DEC CL ROR AX,CL MOV BX,4 MUL BX

实验一:运算器实验

《计算机组成原理》 实验报告实验一:运算器实验 学院: 专业: 班级学号: 学生姓名: 实验日期: 指导老师: 成绩评定: 计算机学院计算机组成原理实验室

实验一 一、实验名称:运算器实验 二、实验目的: 1、掌握运算器的组成及工作原理; 2、熟悉ALU执行算术运算与逻辑运算的具体实现过程; 3、掌握ALU 算术与逻辑运算的控制方法 三、实验内容: 1、两8位操作数的算术运算及进位影响 2、两8位操作数的逻辑运算及进位影响 3、不同控制组合下的算术与逻辑运算的输出结果 四、实验设备: EL-JY-II型计算机原理实验系统 五、实验步骤: 1、在系统断电的情况下,按实验指导书接线图完成本次实验的接线; 2、系统上电,拨动清零开关,系统清零; 3、从数据输入开关电路输入第一个8位数据,开放数据总线,使数据进入暂存寄存器A; 4、从数据输入开关电路输入第二个8位数据,开放数据总线,使数据进入暂存寄存器B; 5、关闭数据输入开关,开启ALU输出,检查两个8位数据正确与否,有错通过步骤3改正; 6、拨动功能选择端S3,S2,S1,S0 进行算术运算,记录ALU输出结果; 7、重复步骤6,直到S3,S2,S1,S0所有组合(16种)被完成; 8、对实验结果进行检查,如有错误,找出原因,重做实验,直到正确为止。 六、实验结果 整个实验记录的实验结果如下:

七、分析讨论 S0, S1,S2,S3是功能选择控制端,决定是做加、减、逻辑与、逻辑或、逻辑异或、移位等运算,表一的实验结果与手工验算完全一致,从而验正了整个ALU的算术/逻辑运算功能和移位处理功能。灵活运用S0,S1,S2,S3的不同组合可以实现许多其它功能,如通过移位运算可以实现数据的乘2(左移一位)和除2运算(右移一位),此外选择S3S2S1S0=0000或S3S2S1S0=0001将操作数A 或B可以直接送到ALU的输出,这样可以直接验证输入数据是否正确。本次实验通过算术加法运算观察到对进位位FC和零标志FZ的影响,和手工验算的结果一致。实验也涉及到了数据总线,总线有三个性质:公共性、驱动性和三态性,在数据输入时利用控制开关来控制三态,有效时输出数据,无效时数据输入缓冲器呈高阻(相当断开)与数据总线隔离;公共性是总线的最根本的属性,所有传输的数据都通过共享数据线分时完成的,何时完成靠控制信号来区分,如输入的两个8位数据就是通过数据总线分两次(分时)传送的。(不少于100字) 八、心得体会 这是计算机组成原理的第一个实验,虽然还有点陌生,但基本熟悉了整个实验系统的基本结构,了解了该实验装置按功能分成几大区,学会何时操作各种开关、按键。最重要的是通过实验掌握了运算器工作原理,熟悉了算术/逻辑运算的运算过程以及控制这种运算的方法,了解了进位对算术与逻辑运算结果的影响,对时序是如何起作用的没太弄清楚,相信随着后续实验的进行一定会搞清楚的。 (蓝色字部分学生根据具体实验的实验指导书及实验内容和过程自己填写)

计算机组成原理移位寄存实验报告

计算机组成原理实验二 移位寄存实验 一、实验目的: 1、了解移位寄存器的硬件电路,验证移位控制与寄存的组合功能。 2、利用寄存器进行数据传输。 二、实验要求: 实现寄存器移位操作,了解通用寄存器的运用。 三、实验原理: 移位运算实验原理图 移位运算实验原理如图所示,使用了一片74LS299作为移位发生

器,其八输入/输出端以排针方式和总线单元连接。299—B信号控制其使能端,T4时序为其时钟脉冲,实验时将“W/R UNIT”中的T4接至“STATE UNIT”中的KK2单脉冲发生器,由S0、S1、M控制信号控制其功能状态,其列表如下: 299—B S 1 S 0 M 功能 0 0 0 任意保持 0 1 0 0 循环右移 0 1 0 1 带进位循环右移 0 0 1 0 循环左移 0 0 1 1 带进位循环左移 任意 1 1 任意装数 四、实验连接: 1.运算器控制信号连接: S0,S1,M,LDCZY,LDR0,/SW-B,/SR-B,/R0-B 2.完成连接并检查无误后接通电源。 五、实验仪器状态设定: 在闪动的“P.”状态下按动“增址”命令键,使LED显示器自左向右第一位显示提示符“H”,表示本装置已进入手动单元实验状态。 五、实验项目: (一)移位寄存器置数 首先置CBA=000,然后按下面流程操作: 数据开关(01101011)三态门置数 (01101011) 三态门

[CBA=001] [S0=1,S1=1] [CBA=111] [ “按STEP” ] (二)寄存器移位 置CBA=001并输入数据,然后置CBA=111,参照实验原理中的移位寄存器控制特性表改变S0、S1、M,按动“单步”命令键,实验发现数据移位正确。 (三)移位结果寄存 我们选取R0,把移位寄存器移位后的内容寄存到通用寄存器。 在移位操作后保持CBA=111,S0=0,S1=0,然后令LDR0=1,再按动“单步”命令键,完成移位结果保存。 (四)移位结果读出 置CBA=100,总线指示灯显示R0内容,与上步中存的数一致。 六、实验总结: 通过本次实验的数据和理论分析进行比较、验证,我们验证了移位控制与寄存的组合功能,并熟悉了移位寄存器的数据传输方式。

实验一基本运算器实验

山西大学计算机与信息技术学院 实验一基本运算器实验 一、实验目的: (1 )了解运算器的组成结构 (2 )掌握运算器的工作原理 二、实验内容: 1、实验原理: 本实验的原理如图1-1所示。运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器 A和暂存器B,三个部件同时接受来自 A和B的数据各部件对操作数进行何种运算由控制信号S3,S0和 CN来决定,任何时候,多路选择开关只选择三部件中一 个部件的结果作为 ALU的输出。如果是影响进位的运算,还将置进位标志 FC,在运算结果输出前,置ALU零标志。ALU 中所有模 块集成在 一片 运算器部件由一片 CPLD实现。ALU的输入和输出通过三态门74LS245连到CPU内总线上,另 外还有指示灯标明进位标志FC和零标志FZ。图中除T4和CLR其余信号均来自于 ALU单元的排线 座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4, CLR都连接至 CON 单元的CLR按钮。T4由时序单元的TS4提供,其余控制信号均由 CON单元的二进制数据开关模拟给出。控制信号中除 T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。 表1-1运算器逻辑功能表(表中“ X ”为任意态,下同) 运算类型S3 S2 S1 S0CN 功能 逻辑运算0000 X 台匕 F=A (直通)能0001 X F=B (直通) 课程名称 2011级计算机科学与技术计算机组成原理课程设计实验日期 批改日期 实验名称学号专业班级指导教师 CPLD

0100 X F= A' (FZ ) 0101 X F=A 不带进位循环右移 B (取低 3位)位 (FZ ) 0110 0 F=A 逻辑右移一位 (FZ ) 移位运算 1 F=A 带进位循环右移一位 (FC ,FZ ) 0111 0 F=A 逻辑左移一位 (FZ ) 1 F=A 带进位循环左移一位 (FC ,FZ ) 1000 X 置 FC=CN (FC ) 1001 X F=A 加 B (FC ,FZ ) 1010 X F=A 加B 加FC (FC , FZ ) 算术运算 1011 X F=A 减 B (FC , FZ ) 1100 X F=A 减 1 (FC , FZ ) 1101 X F=A 加 1 (FC , FZ ) 1110 X (保留) 1111 X (保留) 算器零标志,表中功能栏内的 FC FZ 表示当前运算会影响到该标志。 ST 按钮,产生一个 T4上升沿,则将二进制数置入暂 中,暂存器A 的值通过ALU 单元的A7,A0八位 LED 灯显 示。 用输入开关向暂存器 B 置数。 拨动CON 单元的SD27,SD20数据开关,形成另外一个二进制数。 置LDA=0,LDB=1,连续按动时序单元的 ST 按钮,产生一个 T4上升沿,则将二进制数置入暂 中,暂存器B 的值通过ALU 单元的B7,B0八位 LED 灯显示。 改变运算器的功能设置,观察运算器的输出。置 ALU_B=0、LDA=0 LDB=0,然后按表1-1置 S3、S2、S1、S0和Cn 的数值,并观察数据总线 LED 显示灯显示的结果。 2、实验步骤: ⑴ ⑶ 查接线, ⑷ ① KK1、KK3置为’运行’档。 打开电源开关,如果听到有’嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检 直到错误排除。然后按动 CON 单元的 用输入开关向暂存器 A 置数。 拨动CON 单元的SD27,SD20数据开关, CLR 按钮,将运算器的 A 、B 和FC 、FZ 清零。 形成用户指定的二进制数,数据显示亮为’1',灭 为‘ 0'。 ② 存器A (5) ① ② 存器B 置LDA=1, LDB=0连续按动时序单元的 按图1-2连接实验电路,并检查无误。

基本模型机的设计与实现和带移位运算的模型机的设计及实现

一、基本模型机的设计与实现 (一)实验目的: 1、清晰地建立计算机的整机概念,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。 2、为其定义五条机器指令:IN、ADD、STA、OUT、JMP,并编写相应的微程序,具体上机调试掌握整机概念。 3、学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。 (二)、实验设备 TDN-CM+计算机组成原理教学实验系统一台。 (三)、实验原理 本实验定义五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下: 助记符机器指令码说明 IN 0000 0000 “I NPUT DEVICE”→R0 ADD addr 0001 0000 ××××××××R0+[addr] →R0 STA addr 0010 0000 ××××××××R0→ [addr] OUT addr 0011 0000 ××××××××[addr] →BUS JMP addr 0100 0000 ××××××××addr→PC 其中IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。 为了向RAM写入、读出机器指令,并能启动程序执行,还须设计三个控制台操作微程序。 存储器读(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“0 0”时,按START微动开关,可对RAM连续手动读操作。 存储器写(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“0 1”时,按START微动开关,可对RAM连续手动写操作。 启动程序(RP):拨动总清开关CLR后,控制台开关SWB、SWA为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运-

计算机组成原理实验-运算器实验报告

1.逻辑运算 (1)S3S2S1S0=0000时,F=A,例如:当A=00010101,B=01101001时 F=00010101; 当A=01011000时,B=01011110时 F=01011000 (2)S3S2S1S0=0001时,F=B,例如: 当A=10110111,B=01110010时 F=01110010 当A=11100011,B=01010110 F=01010110 (3)S3S2S1S0=0010时,F=AB。例如:当A=10110010,B=10010111时 F=10010010 当A=11000011,B=00111100时 F=00000000 (4)S3S2S1S0=0011时,F=A+B。例如:当A=00110101,B=11001010时, F=11111111 当A=01011011,B=11000101时 F=11011111 (5)S3S2S1S0=0100时,F=/A。例如:

当A=00110100,B=11010010时, F=11001011 当A=01001111,B=10100101时 F=10110000 2.移位运算 (1)S3S2S1S0=0101时,F=A逻辑右移B(取低三位)位。例如: 当A=01000101,B=00000010时, F=00010001 当A=01011011,B=00000101时 F=00000010 (2)S3S2S1S0=0110时,F=A逻辑左移B(取低三位)位。例如: 当A=00110101,B=00000011时, F=10101000 当A=01101011,B=00000001时 F=11010110 (3)S3S2S1S0=0111时,F=A算术右移B位。例如:当A=01110101,B=00000010时, F=00011101 当A=01000111,B=00000101时

实验四 移位运算器实验

实验四移位运算器实验 一、实验目的 验证移位控制器的组合功能 二、实验内容 1、实验原理 移位运算实验原理如图3-4所示,使用了一片74L S299(U34)作为移位发生器,其八位输入/输出端通过74L S245引到总线,总线控制方式见图1—6,J A4接通时输出到总线。299B`信号由开关299B提供,控制其使能端,T4为其时钟脉冲,手动方式实验时将T4与手动脉发生器输出端S D相连,即J23跳线器上T4连S D。由信号S0、S1、M控制其功能状态,详细见下表3—3。 2、实验接线 1、J20,J21,J22,接上短路片, 2、J24,J25,J26接左边; 3、J27,J28 右边; 4、J23 置右边T4选“SD” 5、JA5 置“接通”; 6、JA6 置“手动”; 7、JA3,JA4 置“接通”; 8、JA1,JA2,置“高阻”; 9、JA8 置上面“微地址” 10、EXJ1接BUS3 11、CE、ALU_B 置“1”, 12、299B 置“0”

3、实验步骤 ⑴ 连接实验线 路,仔细查线无误后接通电源。 ⑵ 置数,具体步骤如下: ⑶ 移位,参照上表改变S 0、 S 1、 M 、 299B 的状态,按动手动脉冲开关以产生时钟脉冲T 4,观察移位结果。 四、实验数据 Q08I/O07I/O113I/O26I/O314I/O45I/O515I/O64I/O716Q7 17 OE12OE13S01S119CLK 12CLR 9DS011DS7 18 U34 74LS299 299B`S0S1VCC GND AQ0 AQ7T4 UN1A 74LS08 UN1B 74LS08 UN2A 74LS32 UN2B 74LS32UN2C 74LS32 UN3A 74LS04 M QCY 3 2 1 654 3 2 1 218109 6 54 R4910K VCC CLK 11 D 12S D 10 C D 13 Q 9 Q 8UN5B 74LS74 UN4B UN4C 299B` UN1D 74LS08UN1A 74LS08UN1B 74LS08 UN1C 74LS08 AQ7AQ0 UN3B 74LS32 UN4D UN4E AR T4M S0S1CN4QCY UN2C 74LS08CY UN2A 74LS08UN3B UN3A 74LS3274LS32 CY 56123 312 431234 5 6 45 910 8111011 1213 8910 4 5 6 LZD 0-LZD 7 图3-4 BU SD0--D 7

计算机组成原理实验

计算机组成原理上机实验指导

一、实验准备和实验注意事项 1.本课程实验使用专门的TDN-CM++计算机组成原理教学实验设备,使用前后均应仔细检查主机板,防止导线、元件等物品落入装置内导致线路短路、元件损坏。 2.完成本实验的方法是先找到实验板上相应的丝印字及其对应的引出排针,将排针用电缆线连接起来,连接时要注意电缆线的方向,不能反向连接;如果实验装置中引出排针上已表明两针相连,表明两根引出线内部已经连接起来,此时可以只使用一根线连接。 3.为了弄清计算机各部件的工作原理,前面几个实验的控制信号由开关单元“SWITCH UNIT”模拟输入;只有在模型机实验中才真正由控制器对指令译码产生控制信号。在每个实验开始时需将所有的开关置为初始状态“1”。 4.本实验装置的发光二极管的指示灯亮时表示信号为“0”,灯灭时表示信号为“1”。 5.实验接线图中带有圆圈的连线为实验中要接的线。 6.电源关闭后,不能立即重新开启,关闭与重启之间至少应有30秒间隔。 7.电源线应放置在机内专用线盒中。 8.保证设备的整洁。

二、实验设备的数据通路结构 利用本实验装置构造的模型机的数据通路结构框图如下图。其中各单元内部已经连接好,单元之间可能已经连接好,其它一些单元之间的连线需要根据实验目的用排线连接。 图0-2 模型机数据通路结构框图

实验一运算器实验:算术逻辑运算实验 一.实验目的 1.了解运算器的组成结构; 2.掌握运算器的工作原理; 3.掌握简单运算器的数据传送通路。 4.验证运算功能发生器(74LSl81)的组合功能。 二.实验设备 TDN-CM++计算机组成原理教学实验系统一台,排线若干。 三.实验原理 实验中所用的运算器数据通路如图1-l所示。其中两片74LSl81以串行方式构成8位字长的ALU,ALU的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-B控制,控制运算器运算的结果能否送往总线,低电平有效。 为实现双操作数的运算,ALU的两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。要将数据总线上的数据锁存到DR1、DR2中,锁存器的控制端LDDR1和LDDR2必须为高电平,同时由T4脉冲到来。 数据开关(“INPUT DEVICE”)用来给出参与运算的数据,经过三态门(74LS245)后送入数据总线,三态门由SW-B控制,低电平有效。数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线上的内容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT”的相应时序信号引出端,因此,在进行实验时,只需将“W/R UNIT”的T4接至“STATE UNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 ALU运算所需的电平控制信号S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B均由“SWITCH UNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDRl、LDDR2为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

计算机组成原理运算器实验报告

一.实验目的及要求 (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 二.实验模块及实验原理 本实验的原理如图1-1-1所示。 运算器部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B ,三个部件同时接受来自 A 和B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部

件对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片CPLD 中。 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。图中显示的是一个4X4 的矩阵(系统中是一个8X8 的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连, 而没有同任何输入相连的则输出连接0 。 (2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4 位矩阵中使用‘右1 ’和‘左 3 ’对角线来实现右循环 1 位。 (3) 对于未连接的输出位,移位时使用符号扩展或是0 填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。 运算器部件由一片CPLD 实现。ALU的输入和输出通过三态门74LS245 连到CPU 总线上,另外还有指示灯标明进位标志FC和零标志FZ。请注意:实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。图中除T4和CLR ,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR 都连接至CON 单元的CLR 按钮。T4由时序单元的TS4 提供(时序单元的介绍见附录二),其余控制信号均由CON单元的二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。 暂存器A 和暂存器B 的数据能在LED 灯上实时显示,原理如图1-1-3所示(以A0为例,其它相同)。进位标志FC、零标志FZ和数据总线D7…D0的显示原理也是如此。 ALU和外围电路的连接如图1-1-4所示,图中的小方框代表排针座。 运算器的逻辑功能表如表1-1-1所示,其中S3 S2 S1 S0 CN 为控制信号,FC 为进位标志,FZ为运算器零标志,表中功能栏的FC、FZ表示当前运算会影响到该标志。

计算机组成原理运算器实验

实验一运算器实验 计算机的一个最主要的功能就是处理各种算术和逻辑运算,这个功能要由CPU中的运算器来完成,运算器也称作算术逻辑部件ALU。本章首先安排一个基本的运算器实验,了解运算器的基本结构,然后再设计一个加法器和一个乘法器。 一、实验目的 (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 二、实验设备 PC机一台,TD-CMA实验系统一套。 三、实验原理 本实验的原理如图1-1所示。 运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片CPLD中。 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-2所示。图中显示的是一个4×4的矩阵(系统中是一个8×8的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。 (2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。 (3) 对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。

开放式CPU 运算器部件实验 移位器

运算器部件实验 移位器 一、实验目的 1、理解寄存器、移位器的原理。 2、掌握5种移位器及其用途。 二、实验原理 1、算术左移SAL (shift arithmetical left )、算术右移SAR(shift arithmetical right) 把操作数看成带符号数,对寄存器操作数进行移位,左移时空出的位补0,右移时空出的位补与最高位相同的1或0,如下图 2、逻辑左移SLL (shift logical left )、逻辑右移SLR (shift logical right ) 把操作数看成无符号数,对寄存器操作数进行移位。左移时空出的位补0,右移时空出的位补0,如下图 3、循环左移ROF (rotation left )、循环右移ROR (rotation right ) 循环左右移其实是一样的,比如说8位的操作数,左移n (0≤n ≤8)位和右移n-8位结果是一样的。左移时,移出的最高位移回到最低位;右移时,移出的最低位移回到最高位,如下图 三、实验步骤 循环右移 循环左移 算术右移 ‘0 0’ 逻辑左移 0’

1、打开QuartusⅡ,安装ByteBlaster Ⅱ。 2、将子板上的JTAG端口和PC机的并行口用下载电缆连接。打开试验台电源。 3、执行Tools—Programmer 命令,将shifter.sof下载到FPGA中。 4、在实验台上通过模式开关选择FPGA-CPU独立调试模式010。 四、输入输出规则 1、将开关CLKSEL拨到1,将短路子DZ3短接且短路子DZ4断开,使FPGA-CPU 所需要的时钟使用正单脉冲时钟。 2、输入的8位操作数D7~D0对应开关SD15~SD8。 3、移动的位数n(3位数)对应开关SD7~SD5。 4、方向dir(左移还是右移)对应开关SD4,0代表左移,1代表右移。 5、移位类型kind(2位)对应开关SD3~SD2,00代表算数移,01代表逻辑移,10代表循环移。 6、在按下实验台上的单脉冲按钮后,对操作数移位的结果在灯A7~A0上体现。 五、实验结果 1.对8位数10110100进行移位操作,结果如下表1。 表1 第一组数据:10110110 2.对8位数01001101进行移位操作,结果如下表2。 表2 第二组数据:01001101

2015计算机组成原理实验报告

课程名称:计算机组成原理专业班级: 学号:201200 学生姓名: 指导教师:闫宏印 2015年06月29日

实验一运算器 【实验目的与要求】 1.掌握运算器的组成、功能及工作原理; 2.验证由74LS181组成的16位ALU的功能,进一步验证带初始进位的ALU的功能; 3. 熟悉运算器执行算术运算操作和逻辑运算操作的具体实现过程。 【实验设备和环境】 本实验使用EL-JY-II型计算机组成原理实验挂箱一组连接线。 【实验内容】 一.实验原理 算术逻辑单元ALU是运算器的核心。集成电路74LS181是4位ALU,四片74LS181以串行方式构成16位运算器。它可以对两个16位二进制数进行多种算术或逻辑运算,74LS181 有高电平和低电平两种工作方式,高电平方式采用原码输入输出,低电平方式采用反码输入输出,这里采用高电平方式。 三态门74LS244作为输出缓冲器由ALU-G信号控制,ALU-G 为“0”时,三态门开通,此时其输出等于其输入;ALU-G 为“1”时,三态门关闭,此时其输出呈高阻。 四片74LS273作为两个16数据暂存器,其控制信号分别为LDR1和LDR2,当LDR1和LDR2 为高电平有效时,在T4脉冲的前沿,总线上的数据被送入暂存器保存。 运算器的结构见图1-1:

图1-1 运算器实验原理 74LS181功能见表1-1,其中符号“+”表示逻辑“或”运算,符号“*”表示逻辑“与”运算,符号“/”表示逻辑“非”运算,汉字“加”表示算术加运算,汉字“减”表示算术减运算。 表1-1 74LS181功能表

74LS181的功能控制条件由S3、S2、S1、S0、M、Cn决定。高电平方式的74LS181的管脚分配和引出端功能符号见图1-2。 图1-2 74LS181的管脚分配和引出端功能 二.实验步骤 1. 实验连线 按图1-3接线图接线,连线时应注意:为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。

运算器组成实验

实验二 运算器组成实验 1.算术逻辑运算实验 一.实验目的 1. 了解简单运算器的数据传输通路。 2. 验证运算功能发生器的组合功能。 3. 掌握算术逻辑运算加、减、与的工作原理。 4. 验证实验台运算的8位加、减、与、直通功能。 5. 按给定数据,完成几种指定的算术和逻辑运算。 二.实验内容 1.实验原理 算术逻辑单元ALU 的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL 硬件描述语言编辑而成,构成8位字长的ALU 。参加运算的两个8位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16种组合决定,而S[3..0]的值由4位2进制计数器LPM_COUNTER 产生,计数时钟是Sclk (图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,C N 为低位的进位位;F[7..0]为输出结果,C O 为运算后的输出进位位。两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁入,ALU 功能如表2-1所示。 表2-1 ALU181的运算功能 选择端 高电平作用数据 S3 S2 S1 S0 M=H M=L 算术操作 逻辑功能 Cn=L (无进位) Cn=H (有进位) 0 0 0 0 A F = A F = 1加A F = 0 0 0 1 B A F += B A F += )(B A F +=加1 0 0 1 0 B A F = B A F += B A F +=+1 0 0 1 1 0=F =F 减1(2的补码) 0=F 0 1 0 0 AB F = B A A F 加= B A A F 加=加1 0 1 0 1 B F = )(B A F +=加B A )(B A F +=加B A +1 0 1 1 0 B A F ⊕= B A F 减= 1减减B A F = 0 1 1 1 B A F = B A F += 1)(减B A F += 1 0 0 0 B A F += AB A F 加= AB A F 加=加1 1 0 0 1 B A F ⊕= B A F 加= B A F 加=加1 1 0 1 0 B F = AB B A F )加(+= AB B A F 加)(+=加1 1 0 1 1 AB F = AB F = 1减AB F = 1 1 0 0 1=F A A F 加=* 1加加A A F = 1 1 0 1 B A F += A B A F )加(+= A B A F )加(+=加1 1 1 1 0 B A F += A B A F )加(+= A B A F )加(+=加1 1 1 1 1 A F = A F = 1减A F = 注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加 注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。 三.实验步骤 (1)设计ALU 元件 在Quartus II 环境下,用文本输入编辑器Text Editor 输入ALU181.VHD 算术逻辑单元文件,编译VHDL 文件,并将ALU181.VHD 文件制作成一个可调用的原理图元件。 (2)以原理图方式建立顶层文件工程

计算机组成原理实验报告

实验报告

运算器实验 一、实验目的 掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能。 二、实验要求 完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。 三、实验原理 实验中所用的运算器数据通路如图2-3-1所示。ALU运算器由CPLD描述。运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。 图2-3-1运算器数据通路 图中A WR、BWR在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的脉冲把总线上的数据打入,实现运算源寄存器A、暂存器B的写入操作。 四、运算器功能编码 算术运算逻辑运算

K23~K0置“1”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制路。 表2.3.2 运算实验电路搭接表 算术运算 1.运算源寄存器写流程 通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下: 2.运算源寄存器读流程 关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。 3.加法与减法运算 令M S2 S1 S0(K15 K13~K11=0100),为算术加,FUN及总线单元显示A+B的结果令M S2 S1 S0(K15 K13~K11=0101),为算术减,FUN及总线单元显示A-B的结果。 逻辑运算 1.运算源寄存器写流程 通过“I/O输入输出单元”开关向寄存器A和B置数,具体操作步骤如下: 2.运算源寄存器读流程 关闭A、B写使能,令K17= K18=1,按下流程分别读A、B。

相关主题