组成原理课设-指令寄存器和八位奇偶校验

合集下载

8位移位寄存器原理

8位移位寄存器原理

8位移位寄存器原理8位移位寄存器(8-bit shift register)是一种经典的数字电路元件,在计算机和电子系统中被广泛应用。

它能够将输入数据按位进行移动和暂时存储,并且可以通过控制信号来控制移位方向和操作模式。

本文将详细介绍8位移位寄存器的工作原理及其应用。

1.基本原理8位移位寄存器由8个触发器组成,每个触发器负责存储并传输一个位数据。

这些触发器可以是D触发器、JK触发器或T触发器,具体根据设计的需要来确定。

移位寄存器将相邻触发器的输出与输入连接起来,形成一个环形结构。

2.移位操作(1)串行移位:在串行移位模式下,数据从最低位(LSB)依次向最高位(MSB)移动。

数据可以从一个输入端(如D输入)输入,也可以从上一个触发器输出传输过来。

通过控制时钟输入信号,每个时钟周期,数据向左或向右移动一个位,新的数据进入移位寄存器的最低位,最高位的数据被移出。

移入的数据可以是新的输入数据,也可以是上一个触发器的输出数据。

这样,移位寄存器就可以暂时存储输入数据,并实现数据的移动,同时保持之前的数据不变。

(2)并行移位:在并行移位模式下,整个数据可以一次性输入或输出。

可以通过并行输入信号一次性输入8位数据,或者通过并行输出信号一次性输出8位数据。

3.移位方向4.控制信号控制信号是控制8位移位寄存器工作的重要因素,主要有以下几个:(1)时钟信号:用于控制数据的移动速度和时序,每个时钟周期移动一个位。

(2) 重置信号(Reset):用于清除移位寄存器中存储的数据,将所有触发器的输出设为0。

(3) 并行输入信号(Shift/Load):用于选择是进行串行移位还是并行移位。

当选择串行移位时,输入信号会逐位移入,否则,输入信号通过并行输入端一次性加载到移位寄存器。

(4) 移位方向信号(Shift Left/Right):用于选择移位方向。

当设置为左移时,数据从最低位向最高位移动;当设置为右移时,数据从最高位向最低位移动。

(完整版)计算机组成原理习题答案(蒋本珊)

(完整版)计算机组成原理习题答案(蒋本珊)

第一章1.电子数字计算机和电子模拟计算机的区别在哪里?解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。

2.冯·诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。

第③点是最主要的一点。

3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。

它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。

②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。

③存储器:用来存放程序和数据。

④运算器:对信息进行处理和运算。

⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。

4.什么叫总线?简述单总线结构的特点。

解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。

单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。

CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU 的干预。

5.简单描述计算机的层次结构,说明各层次的主要特点。

解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。

第0级为硬件组成的实体。

第1级是微程序级。

这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。

第2级是传统机器级。

这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。

计算机组成原理课程设计

计算机组成原理课程设计

课程设计报告课程设计名称:计算机组成原理系:学生姓名:班级:学号:成绩:指导教师:开课时间:2011-2012学年2 学期一、设计题目计算机组成原理课程设计——简单模型机的微程序设计二、主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计;3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。

5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计三.具体要求1.通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。

必须充分理解并正确解释下些问题:(1)微程序中的微指令的各个字段的作用。

哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。

(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。

什么情况下,次地址字段才是将要执行的微指令的地址。

(3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解决与其它指令的微指令的微地址冲突。

(4)哪些微指令是执行所有指令都要用到的。

(5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?(6)为什么读写一次内存总要用两条微指令完成?(7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?2.在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。

新增加的机器指令的功能是:求反指令NOT RS,RD :/(RS) →(RD)与指令AND RD,(addr):(RD)与(addr)→(RD)异或指令XOR RD,(addr):(addr)异或(RD)→(RD)或指令OR RD,(addr):(RD)或(addr)→(RD)减法指令SUB RD,RS :(RS)减(RD)→(RD)其中的RS、RD可以是R0、R1、R2中的任何一个。

计算机组成原理 实验二 八位寄存器 实验报告

计算机组成原理 实验二 八位寄存器 实验报告

实验报告成绩课程名称计算机组成原理指导教师实验日期院(系) 计算机科学与技术学院专业班级实验地点学生姓名学号同组人实验项目名称实验二八位寄存器一、实验目的和要求实验目的:1.了解寄存器的工作原理和构成;2.熟悉 EDA 工具软件的使用方法。

实验要求:1.电源选用+5V,注意D触发器的置0端和置1端必须接高电平,即+5V电源。

否则D触发器工作不正常。

2. D触发器可以选用 74LS74(7474 也可),其逻辑符号(图中SD为置1端,接低电平有效;图中CD为置0端,接低电平有效;CP为脉冲)。

二、实验原理设计一个八位寄存器,该寄存器具有一个时钟输入端CLK,一个复位端RE,八个并行数据输入端d7,d6,…d0和八个数据输出端q7,q6,…q0,当时钟脉冲到来时,并行数据输入端的数据被送入寄存器中。

寄存器框图如图所示。

三、主要仪器设备1.操作系统为WINDOWS的计算机一台;2.数字逻辑与计算机组成原理实验箱一台;3.基本D触发器7474。

四、实验方法与步骤1. 原理图输入:采用图形输入法在计算机上完成实验电路的原理图输入。

2. 管脚定义:根据硬件实验平台资源示意图和附录一“平台资源和FPGA引脚连接表”完成原理图中输入、输出管脚的定义。

将寄存器的输出q7-q0分别锁定在LD7-LD0上。

将寄存器的输入d7-d0分别锁定在K7-K0上。

将寄存器的输入脉冲CLK锁定在单脉冲(Pin 132引脚)上。

3.原理图编译、适配和下载:在QuartusⅡ环境中选择EP2C8Q208C8器件,进行原理图的编译和适配,无误后完成下载。

4.功能测试:改变K7-K0的状态,按动一次单脉冲键,LD7-LD0的显示将与K7-K0相对应,若有错则重新调试。

5.生成元件符号。

五、实验结果分析六、实验心得通过本次实验,了解了寄存器的工作原理和构成;熟悉了EDA工具软件的使用方法。

在实验中,用一个锁定在开关k8上的输入端用来控制置0端,我认为VCC也需要使用一个输入端表示,否则在引脚分配时无法对VCC进行分配。

8位移位寄存器原理

8位移位寄存器原理

8位移位寄存器原理8位移位寄存器是一种数字电路器件,用于在计算机和通信系统中实现数据的有序传输和存储。

它主要用于数据的移位操作,可以将输入信号按照一定的规律传输到输出端,同时可以在寄存器内部存储数据。

接下来,我将详细介绍8位移位寄存器的原理及其工作原理。

1.原理概述8位移位寄存器由8个单独的存储元件(例如D触发器)连接而成。

每个存储元件可以存储一个二进制位。

这些存储元件串联在一起,形成一个移位寄存器。

通过给移位寄存器提供时钟信号和控制信号,可以实现数据的移位操作。

2.功能模块-数据输入:接受外部输入信号,将数据加载到移位寄存器中。

通常通过并行输入引脚实现。

-数据输出:将移位寄存器中的数据输出到外部。

-移位控制:控制数据在移位寄存器中的各个存储元件之间的传输方向。

-时钟控制:提供时钟信号的输入,用于控制数据的移位操作。

3.工作原理-并行加载:首先将需要加载的数据同时输入到移位寄存器的每个存储元件中。

这可以通过并行输入引脚实现。

然后,通过时钟信号将数据写入存储元件。

-数据输出:通过将存储元件之一的输出引脚连接到输出端口,可以将移位寄存器中的数据输出到外部。

-时序控制:通过时钟信号的控制,可以确定数据在移位寄存器中传输和存储的时钟周期。

4.应用-数据传输:移位寄存器在通信系统中常用于将数据从输入端传输到输出端,通过移位操作可以实现数据的有序传输。

比如,在串行通信中,数据先经过并行串行转换器,然后通过移位寄存器按位传输。

-编码和解码:移位寄存器可以用于编码和解码操作。

通过移位操作和逻辑门电路,可以将输入的数据编码为特定的编码形式。

反之,也可以通过类似的方式将编码数据解码成普通二进制数据。

-时序控制:移位寄存器在时序电路中也经常被使用。

通过移位操作和时钟信号的控制,可以实现各种时序控制功能,如计数器、状态机等。

总结:8位移位寄存器是一种常见的数字电路器件,用于实现数据的有序传输和存储。

它由8个存储元件连接而成,可以通过移位控制和时钟控制实现数据的移位和存储操作。

《计算机组成原理》实验报告---8位算术逻辑运算实验

《计算机组成原理》实验报告---8位算术逻辑运算实验

计算机专业类课程实验报告课程名称:计算机组成原理学院:信息与软件工程学院专业:软件工程学生姓名:学号:指导教师:日期:2012 年12 月15 日电子科技大学实验报告一、实验名称:8位算术逻辑运算实验二、实验学时:2三、实验内容、目的和实验原理:实验目的:1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理。

2.掌握模型机运算器的数据传送通路组成原理。

3.验证74LS181的组合功能。

4.按给定数据,完成实验指导书中的算术/逻辑运算。

实验内容:使用模型机运算器,置入两个数据DR1=35,DR2=48,改变运算器的功能设定,观察运算器的输出,记录到实验表格中,将实验结果对比分析,得出结论。

实验原理:1.运算器由两片74LS181以并/串形式构成8位字长的ALU。

2.运算器的输出经过一个三态门(74LS245)和数据总线相连。

3.运算器的两个数据输入端分别由两个锁存器(74LS273)锁存。

4.锁存器的输入连至数据总线,数据开关(INPUT DEVICE)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连。

5.数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内容。

实验器材(设备、元器件):模型机运算器四、实验步骤:1. 仔细查看试验箱,按以下步骤连线1)ALUBUS连EXJ32) ALU01连BUS13) SJ2连UJ24) 跳线器J23上T4连SD5) LDDR1,LDDR2,ALUB,SWB四个跳线器拨在左边6) AR跳线器拨在左边,同时开关AR拨在“1”电平2. 核对线路,核对正确后接通电源3. 用二进制数据开关KD0-KD7向DR1和DR2寄存器置入8位运算数据。

①调拨8位数据开关KD0-KD7为01100101(35H),准备向DR1送二进制数据。

②数据输出三态缓冲器门控信号ALUB=1(关闭)。

③数据输入三态缓冲器门控信号SWB=0(打开)。

④数据锁存DRi控制信号LDDR1=1(打开),同时,LDDR2=0(关闭)。

8位奇偶校验电路[1]

8位奇偶校验电路[1]

实验报告学院:专业:班级:姓名学号实验组实验时间指导教师成绩实验项目名称8位的奇偶校验实验目的1.学习组合逻辑电路、编码器的功能与定义,学习Verilog和VHDL语言2.熟悉利用Quartus II开发数字电路的基本流程和Quartus II软件的相关操作3.学会使用Vector Wave波形仿真实验要求按照老师的要求完成实验,编写实验报告实验原理此奇偶校验电路时用来计算一个八位数里存在奇数个1还是偶数个1.本实验采用与tmp=0异或的方法来实现计数。

如果结果输出为1,则有奇数个一。

输出结果为零则有偶数个一。

实验仪器软件:Altera Quartus II 9.0 集成开发环境。

实验步骤 1.选择“开始”→“所有程序”→“Altera”→“Quartus II 9.0”→“Quartus II 9.0(32bit)”,启动软件。

2.选择“File”→“New Project Wizard”,出现“Introduction”页面,如图所示,该页面介绍所要完成的具体任务。

3.单击“Next”按钮,进入工程名称的设定、工作目录的选择。

4.在对话框中第一行选择工程路径;第二行输入工程名,第三行输入顶层文件的实体名(注意:工程名必须与顶层实体名相同,工程目录可以随意设置,但必须是英文的目录,工程名跟顶层实体名必须也是英文开头。

不要将文件夹设在计算机已有的安装目录中,更不要将工程文件直接放在安装目录中。

文件夹所在的路径名和文件夹名不能用中文,不能用空格,不能用括号,也不能以数字开头)6.新建设计文件,选择“File|New”,在New对话框中选择Device DesignFiles下的Verilog File,单击OK,完成新建设计文件。

7.在新建设计文件中输入Verilog程序.8.结果仿真实验内容编写四选一电路的VHDL代码并仿真,编译下载验证实验数据一:试验程序:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY parity_check ISPORT(a:IN STD_LOGIC_VECTOR (7 DOWNTO 0);y:OUT STD_LOGIC);END parity_check ;ARCHITECTURE rtl OF parity_check ISBEGINPROCESS(a)V ARIABLE tmp:STD_LOGICBEGINtmp:=‘0’;FOR i IN 0 TO 7 LOOPtmp:= tmp XOR a(i);END LOOP;y <= tmp;- -y=1,a为奇数个‘1’。

关于单片机串口通信的奇偶校验

关于单片机串口通信的奇偶校验

关于单片机串口通信的奇偶校验(C语言的解决方案)2011-07-05 18:29最近做了一个项目,是关于51单片机与计算机之间的通信问题,上位机来控制下位机。

在通信中要求单字节偶校验,很少碰到在这里校验的,一般都是帧校验就可以了,但是为了提高精度,就加了偶校验。

那么用C语言怎么来处理单片机收发的偶校验问题呢?直接使用项目中的要求:波特率:9600,偶检验,停止位1,数据位8。

现在开始:单片机的奇偶校验使用串口工作方式2或者3,在有于波特率要求9600,所以使用串口方式3,这些设置自己查资料解决。

偶校验:就是发送的8个数据位的1的个数为偶数时,TB8=0;为奇数时,TB8=1;奇校验:与偶校验相反的TB8。

先讲发送字节时的偶校验:先看下汇编的解决方案是什么:MOV A,@R0MOV C,PMOV TB8,CMOV SBUF,@R0再看下C语言的解决方案:void chk_even(uchar dat)//要发送的数据位dat{ACC=dat;TB8=P;SBUF=dat;while(TI==0);TI=0;}这只是发送的一个字节的偶校验,接收时的为RB8位,学过的同学应该能看懂,要是还是感觉吃力的话,就继续查资料。

(程序中去掉了注释,请大家自己理解,加深印象。

)关于C语言的接受数据偶校验如下:void chk_even(uchar dat)//要接收的数据位dat{while(RI==0);RI=0;dat=SBUF;ACC=dat;if(RB8==P) chk_flag=0;else chk_flag=1;}。

单片机串行通信的奇偶校验位

单片机串行通信的奇偶校验位

单片机串行通信的奇偶校验位在单片机的串行通信中,为了保证数据的正确性,通常会使用奇偶校验位来进行数据校验。

奇偶校验位是一种简单有效的数据校验方法,它可以检测出数据传输过程中的错误,并进行纠正。

本文将从奇偶校验位的原理、应用和实现方法三个方面进行介绍。

一、奇偶校验位的原理奇偶校验位是通过在数据传输时添加一个校验位来实现的。

校验位的值可以是0或1,它的值是根据数据位中1的个数来确定的。

如果数据位中1的个数是偶数,那么校验位的值就是0;如果数据位中1的个数是奇数,那么校验位的值就是1。

在接收端,接收到数据后,再次计算数据位中1的个数,如果计算出来的结果与接收到的校验位不一致,就说明数据传输过程中出现了错误。

二、奇偶校验位的应用奇偶校验位广泛应用于串行通信中,例如RS232、RS485、SPI、I2C等通信协议中。

在这些通信协议中,奇偶校验位可以有效地检测出数据传输过程中的错误,从而保证数据的正确性。

在实际应用中,奇偶校验位通常被用于传输重要的数据,例如密码、控制指令等。

三、奇偶校验位的实现方法在单片机中实现奇偶校验位通常有两种方法:硬件实现和软件实现。

硬件实现是通过单片机内部的硬件电路来实现奇偶校验位的计算和校验。

在硬件实现中,单片机内部的UART模块通常都会提供奇偶校验位的功能。

在使用UART进行串行通信时,只需要设置相应的参数即可开启奇偶校验位的功能。

软件实现是通过单片机的程序来实现奇偶校验位的计算和校验。

在软件实现中,需要编写相应的程序来计算数据位中1的个数,并根据计算结果来确定校验位的值。

在接收端,同样需要编写相应的程序来计算接收到的数据位中1的个数,并与接收到的校验位进行比较,从而判断数据传输是否正确。

总之,奇偶校验位是一种简单有效的数据校验方法,它可以在串行通信中保证数据的正确性。

在实际应用中,我们可以根据具体的需求选择硬件实现或软件实现的方法来实现奇偶校验位的功能。

计算机组成原理习题答案

计算机组成原理习题答案

计算机组成原理习题答案文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]第一章1.电子数字计算机和电子模拟计算机的区别在哪里解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。

2.冯·诺依曼计算机的特点是什么其中最主要的一点是什么解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。

第③点是最主要的一点。

3.计算机的硬件是由哪些部件组成的它们各有哪些功能解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。

它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。

②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。

③存储器:用来存放程序和数据。

④运算器:对信息进行处理和运算。

⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。

4.什么叫总线简述单总线结构的特点。

解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。

单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。

CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU 的干预。

5.简单描述计算机的层次结构,说明各层次的主要特点。

解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。

第0级为硬件组成的实体。

第1级是微程序级。

这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。

《计算机组成原理》课后题答案_清华大学出版_秦磊华_吴非··

《计算机组成原理》课后题答案_清华大学出版_秦磊华_吴非··

1.l 解释下列名词摩尔定律:对集成电路上可容纳的晶体管数目、性能和价格等发展趋势的预测,其主要内容是:成集电路上可容纳的晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半。

主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取。

控制器:计算机的指挥中心,它使计算机各部件自动协调地工作。

时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。

多核处理器:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。

字长:运算器一次运算处理的二进制位数。

存储容量: 存储器中可存二进制信息的总量。

CPI:指执行每条指令所需要的平均时钟周期数。

MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。

CPU时间:计算某个任务时CPU实际消耗的时间,也即CPU真正花费在某程序上的时间。

计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。

基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。

软/硬件功能的等价性:从逻辑功能的角度来看,硬件和软件在完成某项功能上是相同的,称为软/硬件功能是等价的,如浮点运算既可以由软件实现,也可以由专门的硬件实现。

固件:是一种软件的固化,其目的是为了加快软件的执行速度。

可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。

产品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。

MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。

MTTR:系统的平均修复时间。

MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。

可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系统的可用性。

设计8位双向移位寄存器电路

设计8位双向移位寄存器电路

目录1多功能双向移位寄存器 (1)1.1基本工作原理 (1)1.2 基本实现方案 (1)2电路图设计 (2)2.1 电路结构 (2)2.2真值表 (3)3移位寄存器的Verilog建模 (3)3.1Verilog建模基础 (4)3.2 8位双向移位寄存器Verilog描述 (5)4程序仿真 (6)5心得体会 (8)参考文献 (10)附录 (11)摘要使用硬件描述语言Verilog,在EDA工具QuartussII中,对8位双向移位寄存器进行行为级描述,根据设计语言进行功能时序仿真,验证设计的正确性与可行性。

通过本基本设计熟悉QuartusII环境下的硬件描述操作流程,掌握基本的Verilog语法与编写风格。

关键字:Verilog QuartusII 移位寄存器设计8位双向移位寄存器电路1多功能双向移位寄存器1.1基本工作原理移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。

但有时候需要对移位寄存器的数据流向加以控制,实现数据的双向移动,其中一个方向称为右移,另一个方向称为左移,这种移位寄存器就称为双向移位寄存器。

根据国家标准规定,逻辑图中的最低有效位(LSB)到最高有效位(MSB)的电路排列顺序应从上到下,从左到右。

因此定义移位寄存器中的数据从低位触发器移向高位为右移,移向低位为左移。

为了扩展逻辑功能和增加使用的灵活性,某些双向移位寄存器集成电路产品又附加了并行输入、并行输出等功能。

下图所示是上述几种工作模式的简化示意图。

并行输入 并行输出右移串行输入(D IR 左移串行输出(D OL 右移串行输出(D OR ) D IL )0123图1-1 多功能移位寄存器工作模式简图1.2 基本实现方案图1-2所示是实现数据保持、右移、左移、并行置入和并行输出的一种电路方案。

图中的D 触发器m FF 是N 为移位寄存器中的第m 位触发器,在其数据输入端插入了一个4选1数据选择器m MUX ,用2位编码输入10S S 、控制m MUX ,来选择触发器输入信号m D 的来源。

8位的奇偶校验

8位的奇偶校验

8位的奇偶校验-vhdl2009-08-14 12:23综合优化(synthesize)是指将HDL语言,原理图等设计输入翻译成由与或非门,RAM,触发器等基本逻辑单元组成的逻辑连接,也就是所谓的逻辑网表,并根据目标与要求(约束条件)优化所生成的逻辑连接,输出edf和edn等文件。

综合过程包括两个内容,一是对硬件语言源代码输入进行编译与逻辑层次上的优化,二是对编译结果进行逻辑映射与结构层次上的优化,最后生成逻辑网表。

综合结果的优劣直接影响布局布线结果的最终效能。

综合结果的优劣是以使设计芯片的物理面积最小和工作频率最高为指标。

当两者发生冲突时,一般采用速度优先的原则。

*********************************************************************************该程序实现了8位的奇偶校验**************************************************************************************************************************** library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity parity_check isgeneric(size : integer :=8);port(data_in:in std_logic_vector(size - 1 downto 0);even_odd:in std_logic;pa_out:out std_logic_vector(size downto 0));end parity_check;architecture Behavioral of parity_check issignal temp:std_logic;beginprocess(even_odd,data_in)beginif(even_odd='1') thentemp<=data_in(7) xor data_in(6) xor data_in(5) xor data_in(4) xor data_in(3)xor data_in(2) xor data_in(1) xor data_in(0);elsetemp<=data_in(7) xor data_in(6) xor data_in(5) xor data_in(4) xor data_in(3)xor data_in(2) xor data_in(1) xor data_in(0) xor '1';end if;end process;pa_out<=temp&data_in;end Behavioral;******************************************************************************* LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;ENTITY test_vhd ISEND test_vhd;ARCHITECTURE behavior OF test_vhd IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT parity_checkgeneric(size : integer := 8);PORT(data_in : IN std_logic_vector(size-1 downto 0);even_odd : IN std_logic;pa_out : OUT std_logic_vector(size downto 0));END COMPONENT;--InputsSIGNAL even_odd : std_logic := '0';SIGNAL data_in : std_logic_vector(7 downto 0) := (others=>'0');--OutputsSIGNAL pa_out : std_logic_vector(8 downto 0);BEGIN-- Instantiate the Unit Under Test (UUT)uut: parity_check PORT MAP(data_in => data_in,even_odd => even_odd,pa_out => pa_out);tb : PROCESSBEGIN-- Wait 100 ns for global reset to finishwait for 100 ns;data_in(7 downto 0)<="10001111";even_odd<='1';wait for 100 ns;data_in(7 downto 0)<="11110000";even_odd<='0';wait for 100 ns;data_in(7 downto 0)<="10001111";even_odd<='0';wait for 100 ns;data_in(7 downto 0)<="11110000";even_odd<='1';wait; -- will wait foreverEND PROCESSEND;******************************************************************************* 使用verilog 语言编写的奇偶校验`define DELAY 1module parity_check(data_in,pa_in,even_odd,pa_out,error);input[7:0];input pa_in;input even_odd;output pa_out;output error;wire [7:0] data_in;wire pa_in;wire even_odd;wire pa_out;wire error;assign #`DELAY pa_out=even_odd ? ^data_in[7:0]:~^data_in[7:0];assign #`DELAY error=even_odd ? ^(data_in[7:0],pa_in):~^(data_in[7:0],pa_in); endmodule;******************************************************************************* library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity parity_check1 isgeneric(size : integer :=8);port(data_in:in std_logic_vector(size-1 downto 0);pa_in:in std_logic;even_odd:in std_logic;error:out std_logic;pa_out:out std_logic);end parity_check1;architecture Behavioral of parity_check1 isbeginprocess(data_in,pa_in,even_odd)beginif(even_odd='0') thenpa_out<= not (data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8));error<=not (pa_in xor data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8));elsepa_out<= data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8);error<=pa_in xor data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8);end if;end process;end Behavioral;。

8位移位寄存器原理

8位移位寄存器原理

8位移位寄存器原理
8位移位寄存器是一种数字电路,用于将8位数据进行位移操作,通常包括左移(Shift Left)和右移(Shift Right)操作。

这种寄存器的原理如下:
1.寄存器结构:8位移位寄存器由8个触发器(Flip-Flop)组成,每个触发器存储一个位的数据。

这些触发器按顺序连接,构成一个8位的寄存器。

2.输入数据:8位数据输入进入寄存器的最低位(LSB),同时高位数据可能丢失或移动到其他地方,取决于具体的位移操作。

3.位移操作:寄存器可以执行两种常见的位移操作,即左移和右移。

-左移(Shift Left):数据向左移动一位,最高位被丢弃,最低位被填充零。

-右移(Shift Right):数据向右移动一位,最低位被丢弃,最高位被填充零。

4.控制逻辑:8位移位寄存器需要一个控制逻辑来确定位移方向和步数。

通常,它包括一个控制输入,可以指示是左移还是右移,并且可以指定连续的位移操作。

5.输出数据:8位移位寄存器的输出可以用于其他电路或处理器的输入,或者它可以被连接到其他寄存器以进行进一步的数据处理。

8位移位寄存器常用于数字信号处理、微处理器中的移位指令、数据加密等应用,因为它们可以方便地执行位移操作。

通过控制寄存器的位移方向和步数,可以实现不同的位移效果,从而满足不同的应用需求。

计算机组成原理习题答案解析

计算机组成原理习题答案解析

第一章1.电子数字计算机和电子模拟计算机的区别在哪里?解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。

2.冯·诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。

第③点是最主要的一点。

3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。

它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。

②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。

③存储器:用来存放程序和数据。

④运算器:对信息进行处理和运算。

⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。

4.什么叫总线?简述单总线结构的特点。

解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。

单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。

CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU 的干预。

5.简单描述计算机的层次结构,说明各层次的主要特点。

解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。

第0级为硬件组成的实体。

第1级是微程序级。

这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。

第2级是传统机器级。

这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。

8位移位寄存器原理

8位移位寄存器原理

8位移位寄存器原理详解寄存器的基本概念在计算机系统中,寄存器是一种用于暂时存储数据的硬件设备。

它可以在短时间内快速读取和写入数据,并且可以进行各种操作,如移位、逻辑运算等。

寄存器通常是由触发器构成的,触发器是一种能够存储一个比特位(0或1)的电子设备。

移位寄存器的基本原理移位寄存器是一种特殊类型的寄存器,它可以将数据按照一定规则进行移动。

8位移位寄存器就是指具有8个触发器的移位寄存器。

1. 数据输入8位移位寄存器具有一个数据输入端,用于输入待操作的数据。

这个输入端可以接受一个8位二进制数作为输入。

2. 数据输出8位移位寄存器具有一个数据输出端,用于输出经过操作后得到的结果。

这个输出端也是一个8位二进制数。

3. 移动方向控制8位移位寄存器有两个控制信号:Shift Left和Shift Right,分别用于控制向左移动和向右移动。

当Shift Left信号为高电平时,寄存器中的数据将向左移动一位;当Shift Right信号为高电平时,寄存器中的数据将向右移动一位。

4. 移位操作当移位方向控制信号确定后,8位移位寄存器会根据这个信号将其中的数据进行移动。

具体的移动方式有以下几种:•向左循环移动(Shift Left Circular):最左边的比特位被移到最右边,其余比特位按顺序向左移动。

•向右循环移动(Shift Right Circular):最右边的比特位被移到最左边,其余比特位按顺序向右移动。

•向左非循环移动(Shift Left Non-Circular):所有比特位都向左移动一位,最左边的比特位丢失。

•向右非循环移动(Shift Right Non-Circular):所有比特位都向右移动一位,最右边的比特位丢失。

5. 控制时钟8位移位寄存器通常还有一个控制时钟信号。

这个时钟信号用来同步触发器,在时钟脉冲到达时执行相应操作。

每当时钟脉冲到达时,寄存器会根据当前控制信号进行相应的操作。

移位寄存器应用举例1. 数据缓存移位寄存器可以用作数据缓存,将数据从输入端输入到寄存器中,并根据需要进行移位操作。

计算机组成原理包健版答案

计算机组成原理包健版答案

1.1 概述数字计算机的发展经过了哪几个代?各代的基本特征是什么?略。

1.2 你学习计算机知识后,准备做哪方面的应用?略。

1.3 试举一个你所熟悉的计算机应用例子。

略。

1.4 计算机通常有哪些分类方法?你比较了解的有哪些类型的计算机?` 。

1.5 计算机硬件系统的主要指标有哪些?答:机器字长、存储容量、运算速度、可配置外设等。

答:计算机硬件系统的主要指标有:机器字长、存储容量、运算速度等。

1.6 什么是机器字长?它对计算机性能有哪些影响?答:指CPU一次能处理的数据位数。

它影响着计算机的运算速度,硬件成本、指令系统功能,数据处理精度等。

1.7 什么是存储容量?什么是主存?什么是辅存?答:存储容量指的是存储器可以存放数据的数量(如字节数)。

它包括主存容量和辅存容量。

主存指的是CPU能够通过地址线直接访问的存储器。

如内存等。

辅存指的是CPU不能直接访问,必须通过I/O接口和地址变换等方法才能访问的存储器,如硬盘,u盘等。

1.8 根据下列题目的描述,找出最匹配的词或短语,每个词或短语只能使用一次。

(1)为个人使用而设计的计算机,通常有图形显示器、键盘和鼠标。

(2)计算机中的核心部件,它执行程序中的指令。

它具有加法、测试和控制其他部件的功能。

(3)计算机的一个组成部分,运行态的程序和相关数据置于其中。

(4)处理器中根据程序的指令指示运算器、存储器和I/O设备做什么的部件。

(5)嵌入在其他设备中的计算机,运行设计好的应用程序实现相应功能。

(6)在一个芯片中集成几十万到上百万个晶体管的工艺。

(7)管理计算机中的资源以便程序在其中运行的程序。

(8)将高级语言翻译成机器语言的程序。

(9)将指令从助记符号的形式翻译成二进制码的程序。

(10)计算机硬件与其底层软件的特定连接纽带。

供选择的词或短语:1、汇编器2、嵌入式系统3、中央处理器(CPU)4、编译器5、操作系统6、控制器7、机器指令8、台式机或个人计算机9、主存储器 10、VLSI答:(1)8,(2)3,(3)9,(4)6,(5)2,(6)10,(7)5,(8)4,(9)1,(10)7计算机系统有哪些部分组成?硬件由哪些构成?答:计算机系统硬件系统和软件系统组成。

知识点 计算机组成原理

知识点   计算机组成原理

知识点计算机组成原理知识点-计算机组成原理计算机组成原理重要知识点第一章绪论一、冯.诺依曼思想体系――计算机(硬件)由运算器、控制器、存储器、输入输出设备五部分组成,存储程序,按地址出访、顺序继续执行二、总线的概念。

按传送信息的不同如何划分;按逻辑结构如何划分三、冯.诺依曼结构(普林斯顿结构)与哈弗结构的存储器设计思想四、计算机系统的概念,软件与硬件的关系、计算机系统的层次结构(实际机器与交互式机器)五、计算机的主要性能指标的含义(机器字长,数据通路宽度,主存容量,运算速度)六、cpu和主机两个术语的含义,完备的计算机系统的概念,硬件、软件的功能分割七、总线概念和总线分时共享资源的特点、三态门与总线电路第二章数据的机器层次表示一、真值和机器数的概念数的真值变为机器码时存有四种则表示方法:原码表示法,反码表示法,补码表示法,移码则表示码。

其中移码主要用作则表示浮点数的阶码e,以利比较两个指数的大小和对阶操作方式二、一个定点数由符号位和数值域两部分组成。

按小数点位置不同,定点数有纯小数和纯整数两种表示方法。

几种定点机器数的数值则表示范围。

三、浮点数浮点数的标准表示法:符号位s、阶码e、尾数m三个域组成。

其中阶码e通常用移码表示(其值等于指数的真值e加上一个固定偏移值)。

规格化浮点数(原码,补码则表示的规格化浮点数的区别)五、处理字符信息(符号数据即非数值信息),七、常用的bcd码:8421码、2421码、余3码、格雷码(有权码,无权码,特点)八、检错纠错码:奇偶校验(掌握奇偶校验原理及校验位的形成及检测方法),海明码的纠错原理(理解)第三章指令系统一、指令格式:指令的基本格式,指令的地址码结构(3、2、1、0地址指令的区别),非规整型指令的操作码(扩展览会操作码)二、编址方式(位,字节,字…)三、操作数串行方式――立即串行、轻易串行、间接串行、寄存器串行、寄存器间接串行、相对串行、基址寻址、变址寻址、页面寻址四、指令串行方式――顺序对串行方式、弹跳串行方式五、指令类型及功能六、不同的计算机的i/o指令差别很大,通常有两种方式:独立编址方式,统一编址方式第四章数值的机器运算一、为运算器构造的简单性,运算方法中算术运算通常采用补码加减法,原码乘除法或补码乘除法。

计算机组成原理实验指导书-8位算术逻辑运算实验

计算机组成原理实验指导书-8位算术逻辑运算实验

从本页开始至最后一页,要求每人必须打印从本页开始至最后一页,要求每人必须打印从本页开始至最后一页,要求每人必须打印从本页开始至最后一页,要求每人必须打印8位算术逻辑运算实验一、实验目的1、掌握算术逻辑运算器单元ALU(74LS181)的工作原理。

2、掌握简单运算器的数据传送通路组成原理。

3、验证算术逻辑运算功能发生器74LSl8l的组合功能。

4、按给定数据,完成实验指导书中的算术/逻辑运算。

二、实验内容1、实验原理实验中所用的运算器数据通路如图1.1所示。

其中运算器由两片74LS181以并/串形成8位字长的ALU构成。

运算器的输出经过一个三态门74LS245 (U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUSl~6中的任一个相连,内部数据总线通过LZDO~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJl~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。

图1.1中算术逻辑运算功能发生器74LS18l(U3l、U32)的功能控制信号S3、S2、Sl、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LSl8l(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDRl、LDDR2、ALUB’、SWB’以手动方式用二进制开关LDDRl、LDDR2、ALUB、SWB 来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB’、SWB’为低电平有效,LDDRl、LDDR2为高电平有效。

8位的奇偶校验

8位的奇偶校验

8位的奇偶校验-vhdl2009-08-14 12:23综合优化(synthesize)是指将HDL语言,原理图等设计输入翻译成由与或非门,RAM,触发器等基本逻辑单元组成的逻辑连接,也就是所谓的逻辑网表,并根据目标与要求(约束条件)优化所生成的逻辑连接,输出edf和edn等文件。

综合过程包括两个内容,一是对硬件语言源代码输入进行编译与逻辑层次上的优化,二是对编译结果进行逻辑映射与结构层次上的优化,最后生成逻辑网表。

综合结果的优劣直接影响布局布线结果的最终效能。

综合结果的优劣是以使设计芯片的物理面积最小和工作频率最高为指标。

当两者发生冲突时,一般采用速度优先的原则。

*********************************************************************************该程序实现了8位的奇偶校验**************************************************************************************************************************** library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity parity_check isgeneric(size : integer :=8);port(data_in:in std_logic_vector(size - 1 downto 0);even_odd:in std_logic;pa_out:out std_logic_vector(size downto 0));end parity_check;architecture Behavioral of parity_check issignal temp:std_logic;beginprocess(even_odd,data_in)beginif(even_odd='1') thentemp<=data_in(7) xor data_in(6) xor data_in(5) xor data_in(4) xor data_in(3)xor data_in(2) xor data_in(1) xor data_in(0);elsetemp<=data_in(7) xor data_in(6) xor data_in(5) xor data_in(4) xor data_in(3)xor data_in(2) xor data_in(1) xor data_in(0) xor '1';end if;end process;pa_out<=temp&data_in;end Behavioral;******************************************************************************* LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;ENTITY test_vhd ISEND test_vhd;ARCHITECTURE behavior OF test_vhd IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT parity_checkgeneric(size : integer := 8);PORT(data_in : IN std_logic_vector(size-1 downto 0);even_odd : IN std_logic;pa_out : OUT std_logic_vector(size downto 0));END COMPONENT;--InputsSIGNAL even_odd : std_logic := '0';SIGNAL data_in : std_logic_vector(7 downto 0) := (others=>'0');--OutputsSIGNAL pa_out : std_logic_vector(8 downto 0);BEGIN-- Instantiate the Unit Under Test (UUT)uut: parity_check PORT MAP(data_in => data_in,even_odd => even_odd,pa_out => pa_out);tb : PROCESSBEGIN-- Wait 100 ns for global reset to finishwait for 100 ns;data_in(7 downto 0)<="10001111";even_odd<='1';wait for 100 ns;data_in(7 downto 0)<="11110000";even_odd<='0';wait for 100 ns;data_in(7 downto 0)<="10001111";even_odd<='0';wait for 100 ns;data_in(7 downto 0)<="11110000";even_odd<='1';wait; -- will wait foreverEND PROCESSEND;******************************************************************************* 使用verilog 语言编写的奇偶校验`define DELAY 1module parity_check(data_in,pa_in,even_odd,pa_out,error);input[7:0];input pa_in;input even_odd;output pa_out;output error;wire [7:0] data_in;wire pa_in;wire even_odd;wire pa_out;wire error;assign #`DELAY pa_out=even_odd ? ^data_in[7:0]:~^data_in[7:0];assign #`DELAY error=even_odd ? ^(data_in[7:0],pa_in):~^(data_in[7:0],pa_in); endmodule;******************************************************************************* library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity parity_check1 isgeneric(size : integer :=8);port(data_in:in std_logic_vector(size-1 downto 0);pa_in:in std_logic;even_odd:in std_logic;error:out std_logic;pa_out:out std_logic);end parity_check1;architecture Behavioral of parity_check1 isbeginprocess(data_in,pa_in,even_odd)beginif(even_odd='0') thenpa_out<= not (data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8));error<=not (pa_in xor data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8));elsepa_out<= data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8);error<=pa_in xor data_in(size-1) xor data_in(size -2) xor data_in(size-3) xor data_in(size-4) xor data_in(size-5) xor data_in(size-6) xor data_in(size-7) xor data_in(size-8);end if;end process;end Behavioral;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东北大学秦皇岛分校电子信息系专业名称计算机科学与技术班级学号学生姓名指导教师袁静波设计时间2011.1214~2011.1226课程设计任务书专业:计算机科学与技术学号:学生姓名:设计题目:指令系统及指令寄存器及8位奇偶校验电路设计一、设计实验条件综合实验楼二、设计任务及要求1.指令:6,19,28,46号指令2.指令寄存器3.8位奇偶校验电路三、设计报告的内容1.设计题目与设计任务题目:指令系统及ALU设计1. 6,19,28,46号指令指令的设计。

2. 指令寄存器设计。

3. 8位奇偶校验电路2.前言融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。

3.设计主体【模型机设计】1.指令系统设计:第19号指令:助记符:SUBC A,MM;格式:操作码和地址码。

功能:从累加器A中减去MM地址的值,减进位。

寻址方式:寄存器间接寻址方式。

第6号指令:助记符:ADD A, @R?格式:操作码和地址码。

功能:将间址存储器的值加入累加器A中寻址方式:寄存器间接寻址第28号指令:助记符:OR A, #II格式:操作码和地址码。

功能:累加器A“或”立即数II。

寻址方式:直接寻址方式。

第46号指令:助记符:CMP A, R?格式:操作码,地址码功能:比较A与R?是否相等,即A-R,置标志位Z寻址方式:寄存器直接寻址2.模型机硬件设计题目:指令寄存器IR设计功能:保存当前正在执行的指令由一片74LS273构成:其输入端接自总线单元(BUS UNIT)的D7-D0。

输出端为I7~I0即指令码,操作码供INS UNIT单元的指令译码电路使用,寄存器地址字段SR、DR供寄存器译码电路使用。

控制信号:LIR,在T3节拍有效,将数据总线上的数据(指令码)打入IR。

3.逻辑电路设计:题目:8位奇偶校验电路功能:N=8,便是8位奇偶校验电路【系统设计】1.模型机逻辑框图图1 整机逻辑框图图2芯片引脚逻辑框图图3 CPU逻辑框图2. 指令系统设计及微操作控制信号1、XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。

2、EMWR:程序存储器EM写信号。

3、EMRD:程序存储器EM读信号。

4、PCOE:将程序计数器PC的值送到地址总线ABUS上(MAR)。

5、EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD 决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。

6、IREN:将程序存储器EM读出的数据打入指令寄存器IR。

7、EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。

8、ELP: PC打入允许,与指令寄存器IR3、IR2位结合,控制程序跳转。

9、FSTC:进位置1,CY=110、 FCLC:进位置0,CY=011、MAREN:将地址总线ABUS上的地址打入地址寄存器MAR。

12、MAROE:将地址寄存器MAR的值送到地址总线ABUS上。

13、OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。

14、STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。

15、 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

16、 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

17、 CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。

18、 FEN:将标志位存入ALU内部的标志寄存器。

19、 WEN:将数据总线DBUS的值打入工作寄存器W中。

20、 AEN:将数据总线DBUS的值打入累加器A中。

21-23: X2~ X0 : X2、X1、X0三位组合来译码选择将数据送到DBUS 上的寄存器。

24-26: S2~ S0 : S2、S1、S0三位组合决定ALU做何种运算。

3.指令执行流程:第10,24,34号指令用表格表示如下:【系统实现】1、指令寄存器(1)RTL逻辑电路功能描述:通过clk,rst,LIR来控制dbus对IR的输入(2)系统实现library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity IREGISTER isPort ( clk : in STD_LOGIC;rst : in STD_LOGIC;LIR : in STD_LOGIC;IR : out STD_LOGIC_VECTOR (15 downto 0);D_BUS : in STD_LOGIC_VECTOR (15 downto 0)); end IREGISTER;architecture Behavioral of IREGISTER isbeginPROCESS(clk, rst, LIR)BEGINIF rst = '1' THENIR <= (OTHERS=>'0');ELSIF clk'EVENT AND clk = '1' THENIF (LIR = '0') THENIR <= D_BUS;END IF;END IF;END PROCESS;end Behavioral;2、八位奇偶校验电路设计(1)RTL级逻辑电路8位奇偶校验电路(2)系统实现library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity x isport(a:in std_logic_vector(7 downto 0);y:out std_logic );end x;architecture Behavioral of x isBEGINPROCESS(a)variable tmp:std_logic;BEGINtmp :='0';FOR n IN 0 TO 7 LOOPtmp := tmp XOR a(n);END LOOP ;y<= tmp;END PROCESS;end Behavioral;【系统测试】(一)、指令寄存器1、功能仿真仿真过程如下:●在sources窗口处右击,加入新的源文件●创建波形仿真激励文件.tbw:选Test Bench Waveform,并输入文件名test_ir●初始化时钟周期及相关参数→finash●右侧会出现.tbw文件窗口,设置输入引脚的值,存盘●左侧sources窗口选择“behavioral simulation”,下面processes窗口会自动出现"Modelsim Simulator"●双击其中的“Simulate behavioral model”会自动调用“Modelsim ”进行仿真,观察仿真波形由此图可知,当rst=0,LIR=0时,dbus按时序信号clk输入IR,符合设计要求由此图可知,当LIR=1时,dbus不能输入IR,rst=0时,IR重置为全0,符合设计要求通过仿真证实:上述程序能够实现指令寄存器的设计图8 RTL级逻辑电路(二)八位奇偶校验电路1、功能仿真仿真过程如下:●在sources窗口处右击,加入新的源文件●创建波形仿真激励文件.tbw:选Test Bench Waveform,并输入文件名test_8b●初始化时钟周期及相关参数→finash●右侧会出现.tbw文件窗口,设置输入引脚的值,存盘●左侧sources窗口选择“behavioral simulation”,下面processes窗口会自动出现"Modelsim Simulator"●双击其中的“Simulate behavioral model”会自动调用“Modelsim ”进行仿真,观察波形窗口,观察是否正确分析图可知当输入数据中的个数位奇数时,输出为1,输入数中1的个数为偶数时输出为为0,符合设计要求通过仿真证实:上述程序能够实现8位奇偶校验电路的设计四.心得体会通过此次课程设计我学习到了运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点,同时培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。

但是在此过程中也遇到了很多困难,比如在设计开始的阶段对于XILINX ISE 和Modelsim SE这两个软件就不会用,通过和同学交流我大概了解了软件的用法,学习到了很多知识五.参考文献[1] 袁静波. 计算机组成与结构机械工业出版社,2011.[2] 汤小丹计算机操作系统西安电子电子科技大学出版社。

相关文档
最新文档