文档库 最新最全的文档下载
当前位置:文档库 › 如何利用OB1的临时变量读取CPU系统时钟

如何利用OB1的临时变量读取CPU系统时钟

如何利用OB1的临时变量读取CPU系统时钟
如何利用OB1的临时变量读取CPU系统时钟

首先Date_And_Time是一复杂数据类型,包含8个字节,Byte0-Byte7对应年、月、日、时、分、秒、毫秒、星期,对应关系如下表所示:

Byte6和Byte7的高4位组合成毫秒,格式是BCD码,Byte6是高位,Byte7是低位

我们可以在DB块里定义time1和time2变量,数据类型是DATE_AND_TIME,如下图:

在符号表中定义DB1的符号名为system-time,如下图:

然后调用SFC0和SFC1就可以了,大家可以参考下面的程序(可以将程序拷贝到Step7中,然后可以转成梯形图程序),具体使用时间时可以直接寻址DB1.DBB0 –年……DB1.DBB7(低4位) –星期,DB1.DBB8 –年……DB1.DBB15(低4位) –星期。(这段程序和用户解释了很长时间,用户就是理解不了,难啊。。。)

OB1:"Main Program Sweep (Cycle)"

Network1:

A M 10.0

JNB _001

CALL SFC 0

PDT :="system-time".time1

RET_V AL:=MW100

_001: NOP 0

Network2:

CALL "READ_CLK"

RET_V AL:=MW102

CDT :="system-time".time2

NOP 0

因为客户用SFC1读取时钟不是很清楚,还有就是他对时间误差的要求到分就可以,所以推荐一种简单的方法,不知大家之前用过没有,就是使用OB1的临时变量OB1_DA TE_TIME(在OB1的Interface –TEMP 中可以找到),此变量也是DATE_AND_TIME的数据类型,对应的临时变量地址是LB12 –LB19,同样对应年–星期,符合上面表格中的结构,我们只需要使用Move指令就可以得到PLC的系统时间了。

例如我们可以将LD12 Move 到MD0、LD16 Move 到MD4中,然后在程序中寻址MB0 –MB7就可以了。您可以参考下面的程序(可以将程序拷贝到Step7中,然后可以转成梯形图程序)。需要注意,OB1临时变量读出的时间会受OB1扫描周期的影响,例如OB1扫描周期是15ms左右,那么从OB1中读出的时间精度应该就是15ms左右。

OB1:"Main Program Sweep (Cycle)"

Network1:

A(

L LD 12

T MD 0

SET

SA VE

CLR

A BR

)

JNB _002

L LD 16

T MD 4

_002: NOP 0

如果需要设置系统时钟,还需要使用SFC0来实现。

数字时钟设计原理

数字时钟设计——原理图一.实验目的 设计一个多功能数字中电路,基本功能为:①准确计时,以数字形式显示分、秒的时间;②分和秒的计时要求为60进位;③校正时间。 二.设计框图和工作原理 由振荡器产生高稳定的高频脉冲信号,作为数字钟的时间基准(系统时钟),再经分频器输出标准秒脉冲信号。秒计数器计满60后向分计数器进位,分计数器计满60后重新开始计时。计数器的输出经译码器送显示器。计时出现误差时可以用校时电路进行校分。 三.设计方案

1.振荡器的设计 振荡器是数字钟的核心。振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路。一般来说,振荡器的频率越高,计时精度越高。 在这里我们选用由集成电路定时器555与RC组成的多谐振荡器。这里选用555构成的多谐振荡器,输出振荡频率v0=1KHz的脉冲,电路参数如下图所示。 2.分频器的设计 选用3片中规模集成电路计数器74LS90可以完成分频功能。因为每片为1/10分频,3片级联则可获得所需要的频率信号,即第1片的Q3端输出频率为100HZ,第2片的Q3端输出为10Hz,第3片的Q3端输出为1Hz。分频电路如下图所示:

3.分秒计数器的设计 分和秒计数器都是模M=60的计数器,其计数规律为:00-01-… -58-59-00…选74LS92作十位计数器,74LS90作个位计数器。再将它们级联组成模数M=60的计数器。分秒计数电路如下: 74LS90的原理图如下: 74LS92的原理图如下: 4.校时电路的设计 当数字钟接通电源或者计时出现误差时,需要校正时间(或称校时)。校时是数字钟应具备的基本功能。一般电子手表都具有时、分、秒等校时功能。为使

MIPS单周期CPU设计2018版体会

11条MIPS指令单周期CPU设计 2018元月份,我按照袁春风老师的第三版教材,又重新设计了11条MIPS 指令的单周期CPU。这次的设计与我2017年7月份的单周期CPU还是有些区别。2017年7月份设计的CPU主要是参考《计算机组成与设计-硬件/软件接口David A.Patterson》。 设计中的几点体会如下: 一.基本流程 1.首先要分析清楚这11条指令的格式和特点。按照MIPS指令的格式和特 点,完全掌握它们的功能和执行的过程。 2.这些指令执行过程中需要哪些硬件部件和控制信号,这些部件如何连接 构成数据通路。 3.对所有需要的控制信号进行归纳分析,列出真值表,设计相应的控制电 路。 二.具体设计过程 1.ALU的设计。ALU的设计重点在于先设计出32位的加法器,减法运算是利用 加法的“变反加一”。同时要产生各种运算结果的信号:溢出(OF)、进位(CF)、符号位(SF)、零符号位(Zero)。OF=C n⊕C n-1;CF=C out⊕C in。至于需要其它的运算指令,如逻辑运算、移位运算、乘除法运算,都可以直接调用logisim库中的器件,添加到ALU中,这些运算的结果可以同时产生,只是最后用多路选择器来选择那种指令的结果输出,用的控制信号是OPctr。在ALU中需要设计一个控制信号生成部件,用于产生ALU内部需要的各种控制信号。见袁春风老师教材P155。(第一次实验:ALU部件的设计)(ALU设计中,现在的加法器只是串行的,可以让好的学生用先行进位加法器)

图1:ALU电路图 2.设计寄存器部件。设计一个32个*32位的寄存器部件。两路输入和两路输出, 可读写。(第二次实验:寄存器部件的设计) 图2:寄存器电路图 3.数据通路的设计。通路的设计不能急于求成,要一条指令一条指令来分析和 设计。首先设计R-type中的add、sub、subu、slt、sltu等的通路。要注意是否要判断溢出。在此基础上,再分析I-type带立即数运算指令的数据通路,分析出需要添加哪些部件。再分析sw、lw指令的数据通路,分支指

单周期CPU实验报告

MIPS-CPU设计实验报告

实验名称:32位单周期MIPS-CPU设计 姓名学号:刘高斯11072205 实验日期:2014年12月19日 目录 前言 MIPS简介------------------------------------------------------------- 3 实验目的------------------------------------------------------------- 3 第一部分VERILOG HDL 语言实现部分 实验内容------------------------------------------------------------- 4 试验环境------------------------------------------------------------- 4 模块简介------------------------------------------------------------- 4 实验截图------------------------------------------------------------- 5 实验感想------------------------------------------------------------- 5 实验代码------------------------------------------------------------- 6 第二部分LOGISIM 语言实现部分 实验内容------------------------------------------------------------- 16 实验环境------------------------------------------------------------- 16

计算机组成原理实验报告单周期cpu的设计与实现

1个时钟周期 Clock 电子科技大学计算机科学与工程学院 标 准 实 验 报 告 (实验)课程名称: 计算机组成原理实验 电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告 学生姓名: 郫县尼克杨 学 号: 2014 指导教师:陈虹 实验地点: 主楼A2-411 实验时间:12周-15周 一、 实验室名称: 主楼A2-411 二、 实验项目名称: 单周期CPU 的设计与实现。 三、 实验学时: 8学时 四、 实验原理: (一) 概述 单周期(Single Cycle )CPU 是指CPU 从取出1条指令到执行完该指令只需1个时钟

周期。 一条指令的执行过程包括:取指令→分析指令→取操作数→执行指令→保存结果。对于单周期CPU 来说,这些执行步骤均在一个时钟周期内完成。 (二) 单周期cpu 总体电路 本实验所设计的单周期CPU 的总体电路结构如下。 (三) MIPS 指令格式化 MIPS 指令系统结构有MIPS-32和MIPS-64两种。本实验的MIPS 指令选用MIPS-32。以下所说的MIPS 指令均指MIPS-32。 MIPS 的指令格式为32位。下图给出MIPS 指令的3种格式。 本实验只选取了9条典型的MIPS 指令来描述CPU 逻辑电路的设计方法。下图列出了本实验的所涉及到的9条MIPS 指令。 五、 实验目的 1、掌握单周期CPU 的工作原理、实现方法及其组成部件的原理和设计方法,如控制器、26 31 221 216 15 11 1 6 5 0 op rs rt rd sa func R 型指令 26 31 221 216 15 0 op rs rt immediate I 型指令 26 31 20 op address J 型指令

主板时钟电路工作原理

时钟电路工作原理:3.3v电源经过二极管和电感进入分频器后,分频器开始工作,和晶体一起产生振荡,在晶体的两脚均可以看到波形。晶体的两脚之间的阻值在450---700欧之间。在它的两脚各有1V左右的电压,由分频器提供。晶体两脚常生的频率总和是14.318M。 总频(OSC)在分频器出来后送到PCI槽的B16脚和ISA的B30脚。这两脚叫OSC测试脚。也有的还送到南桥,目的是使南桥的频率更加稳定。在总频OSC线上还电容。总频线的对地阻值在450---700欧之间,总频时钟波形幅度一定要大于2V电平。如果开机数码卡上的OSC灯不亮,先查晶体两脚的电压和波形;有电压有波形,在总频线路正常的情况下,为分频器坏;无电压无波形,在分频器电源正常情况下,为分频器坏;有电压无波形,为晶体坏。 没有总频,南、北桥、CPU、CACHE、I/O、内存上就没有频率。有了总频,也不一定有频率。总频一定正常,可以说明晶体和分频器基本上正常,主要是晶体的振荡电路已经完全正常, 反之就不正常。 当总频产生后,分频器开始分频,R2将分频器分过来的频率送到南桥,在南桥处理过后送到P CI槽B8和ISA的B20脚,这两脚叫系统测试脚,这个测试脚可以反映主板上所有的时钟是否正常。系统时钟的波形幅度一定要大于1.5V,这两脚的阻值在450---700欧之间,由南桥提供。 在主板上RESET和CLK者是南桥处理的,在总频正常下,如果RESET和CLK都没有,在南桥电源正常情况下,为南桥坏。主板不开机,RESET不正常,先查总频。在主板上,时钟线 比AD线要粗一些,并带有弯曲。 二、主板时钟芯片电路及时序关系讲解 1、概述 主板时钟芯片电路提供给CPU,主板芯片组和各级总线(CPU总线,AGP总线,PCI总线,ISA总线等)和主板各个接口部分基本工作频率,有了它,电脑才能在CPU控制下,按步就班,协调地完成各项功能工作: 2、石英晶体多谐振荡器 a、解释说明,主板时钟芯片即分频器的原始工作振荡频率,由石英晶体多谐振荡器的谐振频率来产生,提供给分频率一个基准的14.318MHZ的振荡频率,它是一个多谐振荡器的正反馈环电路,也就是说它把输入作为输出,把输出作为输入的反馈频率,象这样一个永无休止的循环自激过程。 b、基本电路部分: c、分频器(时钟芯片)电路部分:分频器基本工作条件;石英晶体多谐振荡器提供14.318MHZ基准频率.;VCC(3.3V)工作电压(依具体时钟芯片而定);V SS接地线(~);滤波电容(对分频器产生的各级频率进行标正微调;分频器产生的各级总线时钟;CPU外部总线时钟频率(CPU CLOCK):66MHZ.100MHZ.133MHZ内存控制管理器总线时钟频率(DIMM):66MHZ.100.133MHZ;AGP总线时钟频率:66MH Z;PCI总线时钟频率:33MHZ;ISA总线时钟频率:8MHZ。 d、基本时序关系: CPU 66、100、133 PCI(33MHZ) ISA(8MHZ) 三、图解 频率发生器芯片

单周期CPU设计

信息科学与工程学院 课程设计报告 课程名称:计算机组成原理与结构题目:单周期CPU逻辑设计年级/专业:XXXXXXXXXXXXXXX X 学生姓名:王侠侠、李怀民 学号:XXXXXXXXXXXXXXXXXXX 指导老师:XXXX 开始时间:2016年9月15日 结束时间:2016年11月15日

摘要 一、设计目的与目标 1.1 设计目的 1.2 设计目标 二、课程设计器材 2.1 硬件平台 2.2 软件平台 三、CPU逻辑设计总体方案 3.1 指令模块 3.2 部件模块 四、模块详细设计 4.1 指令设计模块 4.2 部件设计模块 五、实验数据 5.1 初始数据 5.2 指令数据 六、结论和体会 七、参考文献

本CPU设计实验以Quartus II 9.0为软件设计平台,以Cyclone 采III型号EP3C16F484C6为FPGA实测板。此CPU设计采用模块化设计方案,首先设计指令格式模块,此模块决定CPU各个部件的接口数据容量及数量,再对CPU各个部件独立设计实现,主要涉及的部件有:寄存器组、控制器、存储器、PC计数器、数据选择器、ALU单元以及扩展单元。分部件的设计通过软件平台模拟仿真各部件的功能,在确保各部件功能正确的情况下,将所有部件模块整合在一起实现16位指令的CPU功能。再按照指令格式设计的要求,设计出一套能完整运行的指令,加载到指令存储器中,最终通过在FPGA实测板上实现了加2减1的循环运算效果,若要实现其他效果,也可更改指令存储器或数据存储器的数据而不需要对内部部件进行更改元件。 关键词:CPU设计、16位指令格式、模块化设计、Quartus软件、CPU各部件

单片机实时时钟电路的原理及应用

单片机实时时钟电路的原理及应用 1 引言现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485 等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的 实时时钟电路DS1302 是DALLAS 公司的一种具有涓细电流充电能力的电路, 主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并 且可以关闭充电功能。采用普通32.768kHz 晶振。 2 DS1302 的结构及工作原理DS1302 是美国DALLAS 公司推出的一种高性能、低功耗、带RAM 的实 时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补 偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU 进行同步通信,并可 采用突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302 内部有一个31×8的用于临时性存放数据的RAM 寄存器。DS1302 是DS1202 的升级产品,与DS1202 兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电 源进行涓细电流充电的能力。 2.1 引脚功能及结构图1 示出DS1302 的引脚排列,其中Vcc1 为后备电源,VCC2 为主电源。在主电源关闭的情况下,也能 保持时钟的连续运行。DS1302 由Vcc1 或Vcc2 两者中的较大者供电。当Vcc2 大于Vcc1+0.2V 时,Vcc2 给DS1302 供电。当Vcc2 小于Vcc1 时,DS1302 由Vcc1 供电。X1 和X2 是振荡源,外接32.768kHz 晶振。RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当RST 为高电平时,所有的数据传 送被初始化,允许对DS1302 进行操作。如果在传送过程中RST 置为低电平, 则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST 必须保持低电平。只有在SCLK 为低电平时,才能将RST 置为高电平。

大工计算机原理-第3章 8086微处理器的指令系统(1)

第3章8086微处理器的指令系统(1) 3.1 指令系统概述 ●指令系统是一台计算机所能(识别和执行)的全部指令的集合。它与(微处理器)有着密切的关系,不同的 微处理器有不同的指令系统。8086CPU包含133条指令 ●指令是使计算机执行某种(特定操作)的二进制编码。 指令一般包括两个部分:(操作码域)和(地址域)。填空 操作码域:存放指令的操作码,即指明该指令应由计算机完成何种操作。 地址域:确定操作数的值或地址、操作结果的地址,有的指令的地址域还指出下一条指令的地址。 ●机器指令:计算机能(直接识别)的二进制代码。 ●汇编语言:汇编语言是一种符号语言,用助记符表示操作码,用符号或符号地址表示操作数或操作数地址, 它与机器指令是一一对应的 ●汇编程序:将汇编语言源程序翻译成机器语言(就是一条一条的机器指令),即目标程序。 3.2寻址方式 ●根据(指令内容)确定(操作数地址)的过程,称为寻址。 ●根据寻址方式计算所得到的地址叫做(有效地址EA),也就是(段内偏移地址)。有效地址还需要与相应的(段 基地址)组合才是20位的(物理地址PA) ,该工作由微处理器来完成。 牢记什么是EA?什么是PA?怎么计算? 后面有关于EA和PA的解释及计算方法! ●寻址方式在两种方式下被涉及:(操作数)的寻址方式和(指令)的寻址方式。 如果没有特别说明,寻址方式是指源操作数的寻址方式。 1、隐含寻址(隐含了规定的操作数) 例:DAA指令 ,只有操作码,无操作数。规定对AL中的内容进行压缩BCD码转换。 2、立即寻址(操作数(立即数)直接放在指令中,不需访问存储器) 例:MOV AX ,1234H (若CS=1000H ,IP=100H) 3、寄存器寻址(操作数就放在内部寄存器中, 例:INC CX ;(CX)←(CX)+1 MOV AX ,BX ;执行后BX 4、直接寻址(指令中直接给出操作数的存放地址) 例1:MOV AX ,[4000H] (DS=3000H) ?操作数寻址

多功能数字钟电路设计

多功能数字钟电路设计 一、数字电子钟设计摘要 (2) 二、数字电子钟方案框图 (2) 三、单元电路设计及相关元器件的选择 (3) 1.6进制计数器电路的设计 (3) 2.10进制计数器电路的设计 (4) 3.60进制计数器电路的设计 (4) 4.时间计数器电路的设计 (5) 5.校正电路的设计 (6) 6.时钟电路的设计 (7) 7.整点报时电路设计 (8) 8. 译码驱动及单元显示电路 (9) 四、系统电路总图及原理 (9) 五、经验体会 (10) 六、参考文献 (10) 附录A:系统电路原理图 附录B:元器件清单

一、数字电子钟设计摘要 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 此次设计数字钟就是为了了解数字钟的原理,从而学会制作数字钟。而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。且由于数字钟包括组合逻辑电路和时叙电路。通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。 二、数字电子钟方案框图 图1 数字电子钟方案框图

三、单元电路设计和元器件的选择 1. 6进制计数器电路的设计 现要设计一个6进制的计数器,采用一片中规模集成电路74LS90N芯片,先接成十进制,再转换成6进制,利用“反馈清零”的方法即可实现6进制计数,如图2所示。 图2

2. 10进制电路设计 图3 3. 60 进数器电路的设计 “秒”计数器与“分”计数器都是六十进制,它由一级十进制计数器和一级六进制计数器连接而成,如图4所示,采用两片中规模集成电路74LS90N串接起来构成“秒”“分”计数器。

时钟电路基本原理

1时钟供电组成 时钟电路主要由时钟发生器(时钟芯片)、、、和等组成。 ● 时钟芯片时钟芯片主要有S. Winbond、 PhaseLink. C-Medi a、IC. IMI等几个品牌,主板上见得最多的是ICS和Winbond两种,如图6-1、图6-2所示。 ● 晶振 时钟芯片通常使用的晶振,如图6-3所示。 晶振与组成一个谐振回路,从晶振的两脚之问产生的输入到时钟芯片,如图6-4所示。 判断品振是否工作,可以用测量晶振两脚分别对地是否有(以上),这是晶振工作的前提条件,再用示波器测量晶振任意一脚是否有与标称频率相同的振荡正弦波输出(这是最准确的方法)。在没有示波器的情况下,可以直接更换新的晶振和谐振电容,用替换法来排除故障。 2 时钟电路工作原理 时钟电路的1=作原理图,如图6-5所示。 时钟芯片有电压输入后(有的时钟芯片还有一组电压),再有一个好信号,表示主板各部位所有的供电止常,于是时钟芯片开始工作。 晶振两脚产生的基本频率输入到时钟芯片内部的,从振荡器出来的基本频率经过“频率扩展锁相网路”进行频率扩展后输入到各个,

最后得到不同频率的时钟输出。 初始默认输出频率由频率选择锁存器输入引脚FS(4:0)设置,之后可以通过IIC总线再进行设置。 多数时钟芯片都支持IIC总线控制,通过一根双向的数据线(SD ATA)和一根时钟线( SCLK)对芯片的时钟输出频率进行设置。 图6-5中: 48MHz USB与48MHz DOT为固定48MHz时钟输出;3V66(3:1)共3组为的66MHz时钟输出: CPUCLKT (2:0)共3组为CPU时钟输出;CPUCLKC (2:0)共3组为CPU时钟输出,与CPUCLKT互为;CLK (6:0)共7组为 33MHz 的PCI时钟输出,输出到PCI插槽,有多少个PCI插槽就使用多少组。 主板的时钟分布如图6-6所示,内存总线时钟由北桥供给,部分主板电路设计有独立的内存时钟发生器,如图中虚线所示。 外频进入CPU后,乘以CPU的就是CPU实际的运行频率。例如外频是200MHz,CPU的倍频是14,那么CPU的实际运行频率是:200MHz ×14=。前端总线的频率是外频的整倍数。例如外频足133MHz,CPU 需要使用的前端总线频率是533MHz,那么就必须将133MHz外频4倍扩展,即133MHz×4=532MHz≈533MHz。 3 时钟电路故障检测 时钟电路故障通常足:全部无时钟,部分无时钟,时钟信号幅值(最高点电压)偏低。 其表现是开机无显示或不能开机。 诊断卡只能诊断PCI插槽或插槽有无时钟信号,并不代表主板其他部分的时钟就正常。最好使用示波器测量各个插槽的时钟输入脚或时钟芯片的各个时钟输出脚,看其频率和幅值是否符合,这是最准确的方法。 现在的CPU外频都已达到200MHz或更高,所以要测量CPU外频,要求示波器的带宽应在200MHz以上。

第二章微处理器和指令系统习题选解

2.9如果GDT寄存器值为0013000000FFH,装人LDTR的选择符为0040H,试问装人描述符高速缓存的LDT描述符的起始地址是多少? 解:GDT寄存器的高32位和低16位分别为GDT的基址和段限,所以:GDT的基址=00130000H LDTR选择符的高13位D15~D3=000000001000B是该LDT描述符在GDT中的序号,所以: LDT描述符的起始地址= GDT的基址 十LDT描述符相对于GDT基址的偏移值 =00130000H+8×8=00130040H 2.10假定80486工作在实模式下,(DS)=1000H, (SS)=2000H, ( SI ) = El07FH, ( BX )=0040H, (BP) = 0016H,变量TABLE的偏移地址为0100H。请间下列指令的源操作数字段是什么寻址方式?它的有效地址(EA)和物理地址(PA)分别是多少? (1)MOV AX,[1234H ] (2) MOV AX, TABLE (3) MOV AX,[BX+100H] (4) MOV AX,TABLE[BPI[SI] 解:(1)直接寻址,EA=1234H , PA =(DS)×16+EA=11234H。 (2)直接寻址,EA= O100H,PA= (DS)×16+EA=10100H。 (3)基址寻址,EA=( EBX)+100H =0140H,PA= (DS) × 16+EA=10140H。 (4)带位移的荃址加变址寻址。(EA)= (BP)+[SI]十TABLE的偏移地址=0195H PA=(SS)×16+EA=20195H} 2.11下列指令的源操作数字段是什么寻址方式? (1)MOV EAX , EBX (2)MOV EAX,[ ECX] [EBX ] (3) MOV EAX,[ESI][EDX * 2] (4)MOV EAx,[ ESI*8] 解:(1)寄存器寻址。 (2)基址加变址寻址。 (3)基址加比例变址寻址。 (4)比例变址寻址。 2.12分别指出下列指令中源操作和目的操作数的寻址方式。 式表示出EA和PA。 (1)MOV SI,2100H (2)MOV CX, DISP[BX] (3) MOV [SI] ,AX (4)ADC AX,[BX][SI] (5)AND AX,DX (6) MOV AX,[BX+10H] (7) MOV AX,ES:[BX] (8) MOV Ax, [BX+SI+20H] (9) MOV [BP ].CX (10) PUSH DS 解:(1) 源操作数是立即数寻址;目的操作数是寄存器寻址。 (2)源操作数是基址寻址,EA=(BX)+DISP,PA=(DS)×16+(BX)+DISP 目的操作数是寄存器寻址。 (3)源操作数是寄存器寻址; 目的操作数是寄存器间接寻址,EA=(SI).PA=(DS) × 16十(SI)。 (4)操作数是基址加变址寻址,EA= (BX)+(SI).PA= (DS) × 16十(BX)+(SI) 目的操作数是寄存器寻址。 (5)源操作数和目的操作数均为寄存器寻址。 (6)源操作数是基址寻址,EA=(BX)+10H.PA= (DS) × 16十(BX)+10H 目的操作数是寄存器寻址。 (7)源操作数是寄存器间接寻.EA= (Bx).PA= (ES) × 16+(BX)

MIPS单周期CPU实验报告

《计算机组成原理实验》 实验报告 (实验二) 学院名称: 专业(班级): 学生姓名: 学号: 时间:2017年11月25日

成绩: 实验二:单周期CPU设计与实现 一.实验目的 (1) 掌握单周期CPU数据通路图的构成、原理及其设计方法; (2) 掌握单周期CPU的实现方法,代码实现方法; (3) 认识和掌握指令与CPU的关系; (4) 掌握测试单周期CPU的方法; (5) 掌握单周期CPU的实现方法。 二.实验内容 设计一个单周期的MIPSCPU,使其能实现下列指令: ==> 算术运算指令 功能:rd←rs + rt。reserved为预留部分,即未用,一般填“0”。 功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。 (3)sub rd , rs , rt 功能:rd←rs - rt ==> 逻辑运算指令 功能:rt←rs | (zero-extend)immediate;immediate做“0”扩展再参加“或”运算。 (5)and rd , rs , rt

功能:rd←rs & rt;逻辑与运算。 (6)or rd , rs , rt 功能:rd←rs | rt;逻辑或运算。 ==>移位指令 功能:rd<-rt<<(zero-extend)sa,左移sa位,(zero-extend)sa ==>比较指令 功能:if (rs 存储器读/写指令 功能:memory[rs+ (sign-extend)immediate]←rt;immediate符号扩展再相加。即将rt寄存器的内容保存到rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中。 (10) lw rt , immediate(rs) 读存储器 功能:rt ← memory[rs + (sign-extend)immediate];immediate符号扩展再相加。 即读取rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中的数,然后保存到rt寄存器中。 ==> 分支指令 (11)beq rs,rt,immediate 功能:if(rs=rt) pc←pc + 4 + (sign-extend)immediate <<2 else pc ←pc + 4

大工计算机原理第3章8086微处理器的指令系统(1)资料

第3章 8086微处理器的指令系统(1) 3.1 指令系统概述 ● 指令系统是一台计算机所能(识别和执行)的全部指令的集合。它与(微处理器)有着密切的关系,不同的微处理器有不同的指令系统。8086CPU 包含133条指令 ● 指令是使计算机执行某种(特定操作)的二进制编码。 指令一般包括两个部分:(操作码域)和(地址域)。填空 操作码域:存放指令的操作码,即指明该指令应由计算机完成何种操作。 地址域:确定操作数的值或地址、操作结果的地址,有的指令的地址域还指出下一条指令的地址。 ● 机器指令:计算机能(直接识别)的二进制代码。 ● 汇编语言:汇编语言是一种符号语言,用助记符表示操作码,用符号或符号地址表示操作数或操作数地址,它与 机器指令是一一对应的 ● 汇编程序:将汇编语言源程序翻译成 机器语言(就是一条一条的机器指令),即目标程序。 3.2寻址方式 ● 根据(指令内容)确定(操作数地址)的过程,称为寻址。 ● 根据寻址方式计算所得到的地址叫做(有效地址EA ),也就是(段内偏移地址)。有效地址还需要与相应的(段基地址)组合才是20位的(物理地址PA) ,该工作由微处理器来完成。 牢记什么是EA ?什么是PA ?怎么计算? 后面有关于EA 和PA 的解释及计算方法! ● 寻址方式在两种方式下被涉及:(操作数)的寻址方式和(指令)的寻址方式。 如果没有特别说明,寻址方式是指源操作数的寻址方式。 1、隐含寻址(隐含了规定的操作数) 例:DAA 指令,只有操作码,无操作数。规定对AL 中的内容进行压缩BCD 码转换。 2、立即寻址(操作数(立即数)直接放在指令中,不需访问存储器) 例:MOV AX ,1234H (若CS=1000H ,IP=100H ) 3、寄存器寻址(操作数就放在内部寄存器中,不需访问存储器) 例:INC CX ;(CX)←(CX)+1 MOV AX ,BX ;执行后BX 内容不变 4、直接寻址(指令中直接给出操作数的存放地址) 例1:MOV AX ,[4000H] (DS =3000H ) ?操作数寻址 可以进行寄存器寻址的寄存器: (16位)AX 、BX 、CX 、DX 、SI 、DI 、SP 、BP (8位) AH 、AL 、BH 、BL 、CH 、CL 、DH 、DL

台式机时钟电路的工作原理浅析

台式机时钟电路的工作原理浅析: DC3。5V电源给过二极管和L1(L1可以用0欧电阻代替)进入分频器后,分频器开始工作。,和晶体一起产生振荡,在晶体的两脚均可以看到波形。晶体的两脚之间的阻值在450-700之间。在它的两脚各有1V左右的电压,由分频器提供。晶体产生的频率总和是14。318M。总频OSC在分频器出来后送到PCI的B16脚和ISA的B30脚,这两脚叫OSC测试脚。也有的还送到南桥,目的是使南桥的频率更加稳定。在总频OSC的线上还有电容,总频线的对地阻值在450-700欧之间。总频的时钟波形幅度一定要大于2V。如果开机数码卡上的OSC灯不亮,先查晶体两的电压和波形。有电压有波形,在总频线路正常的情况下,为分频器坏;无电压无波形,在分频器电源正常的情况下,为分频器坏;有电压无波形为晶体坏。没有总频,南、北桥、CPU、CACHE、I/O、内存上就没有频率。有了总频,南、北桥、内存、CPU、CACHE、I/O上不一定有频率。总频一旦正常,分频器开始分频,R2将分频器分过来的频率送到南桥,在面桥处理过后送到PCI的B39脚(PCICLK)和ISA的B20脚(SYSCLK),这两脚叫系统时钟测试脚。这个测试脚可以反映主板上所有的时钟是否正常。系统时钟的波形幅度一定要大于1。5V,这两脚的阻值在450-700欧之间,由南桥提供。在主板上,RST和CLK都是由南桥处理的,在总频正常,如果RST和CLK都没有,在南桥电源正常的情况下,为南桥坏。 主板不开,RST不正常,是先查总频。在数码卡上有OSC灯和RST灯,没有CLK灯的故障:先查R3输出的分频有没有,没有,在线路正常的情况下,分频器坏。CLK的波形幅度不够:查R3输出的幅度够不够,不够,分频器坏。够,查南桥的电压够不够,够南桥坏;不够,查电源电路。R1将分频器分过来的频率送给CPU的第六脚(在CPU上RST脚旁边,见图纸),这个脚为CPU 时钟脚。CPU如果没有时钟,是绝对不会工作的,CPU的时钟有可能是由北桥提供。如果南桥上有CLK信号而CPU上没有,就可能是分频器或南桥坏。R4为I/O提供频率。 在主板上,时钟线比AD线要粗一些,并带有弯曲。频率发生偏移,是晶体电容所导致的,它的现象是,刚一开机就会死机,运行98出错。分频器本身坏了,会导致频率上不上去。和晶体无关。CPU 的两边为控制处(位置见图),控制南桥和分频器,当频率发生偏移,会自动调整。 说明:此文选自江湖郎中主板维修,看后大有受益,推荐文友浏览。绝无剽窃之意。

《单周期CPU设计》实验报告

《计算机组成原理与接口技术实验》 实验报告 学院名称: 学生姓名: 学号: 专业(班级): 合作者:

时间:2016年4月25日 成绩: 实验二: 一.实验目的 1.掌握单周期CPU数据通路图的构成、原理及其设计方法; 2.掌握单周期CPU的实现方法,代码实现方法; 3.认识和掌握指令与CPU的关系; 4.掌握测试单周期CPU的方法。 二.实验内容 设计一个单周期CPU,该CPU至少能实现以下指令功能操作。需设计的指令与格式如下: ==> 算术运算指令 (1)add rd , rs, rt(说明:以助记符表示,是汇编指令;以代码表示,是机器指令)

功能:rd←rs + rt。reserved为预留部分,即未用,一般填“0”。 (2)addi rt , rs ,immediate 功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。 (3)sub rd , rs , rt 完成功能:rd←rs - rt ==> 逻辑运算指令 (4)ori rt , rs ,immediate

功能:rt←rs | (zero-extend)immediate;immediate做“0”扩展再参加“或”运算。 (5)and rd , rs , rt 功能:rd←rs & rt;逻辑与运算。 (6)or rd , rs , rt 功能:rd←rs | rt;逻辑或运算。 ==> 传送指令 (7)move rd , rs 功能:rd←rs + $0 ;$0=$zero=0。 ==> 存储器读/写指令 (8)sw rt ,immediate(rs) 写存储器

类MIPS单周期处理器

一、实验目的 1.了解微处理器的基本结构。 2.掌握哈佛结构的计算机工作原理。 3.学会设计简单的微处理器。 4.了解软件控制硬件工作的基本原理。 二、实验任务 利用HDL语言,基于Xilinx FPGA nexys4实验平台,设计一个能够执行以下MIPS指令集的单周期类MIPS处理器,要求完成所有支持指令的功能仿真,验证指令执行的正确性,要求编写汇编程序将本人学号的ASCII码存入RAM的连续内存区域。 (1)支持基本的算术逻辑运算如add,sub,and,or,slt,andi指令 (2)支持基本的内存操作如lw,sw指令 (3)支持基本的程序控制如beq,j指令 三、实验过程 1、建立工程 在ISE 14.7软件中建立名为Lab1 的工程文件。芯片系列选择Artix7,具体

芯片型号选择XC7A100T,封装类型选择CSG324,速度信息选择-1。 2、分模块设计 1)指令存储器ROM设计 新建IP core Generator,命名为irom。设定的指令存储器大小为128字,指令存储器模块在顶层模块中被调用。输入为指令指针(PC)与时钟信号(clkin),输出为32位的机器指令,并将输出的机器指令送到后续的寄存器组模块、控制器模块、立即数符号扩展模块进行相应的处理。 然后制作COE文件。先使用UltraEdit编辑代码,代码如下 main: addi $2,$0,85 sw $2,0($3) addi $2,$0,50 sw $2,4($3) addi $2,$0,48 sw $2,8($3) addi $2,$0,49 sw $2,12($3) addi $2,$0,53 # sw $2,16($3) addi $2,$0,49 # sw $2,20($3) addi $2,$0,51 # sw $2,24($3) addi $2,$0,52 # sw $2,28($3) addi $2,$0,54 # sw $2,32($3)

主板时钟电路工作原理

主板时钟电路工作原理 时钟电路工作原理: DC3.5V电源经过二极管和L1(L1可以用0Ω电阻代替)进入分频器后,分频器开始工作,和晶体一起产生振荡。在晶体的两脚均可以看到波形。晶体的两脚之间的阻值在450-700Ω之间。在它的两脚各有1V左右的电压,由分频器提供。晶体两脚产生的频率总和是14.318M。 总频OSC在分频器出来后送到PCI槽的B16脚和ISA槽的B30脚(这两个脚叫OSC 测试脚)。也有的还送到南桥,目的是使南桥的频率更加稳定。在总频OSC的线上还有电容,总频线的对地电阻在450-700Ω之间。总频的时钟波形幅度一定要大于2V。 如果开机数码卡上的OSC灯不亮,先查晶体两脚的电压和波形。有电压有波形,在总频线路正常的情况下,为分频器坏。若无电压无波形,在分频器电源正常的情况下,为分频器坏;有电压无波形,为晶体坏。 没有总频,南、北桥、CPU、CACHE、I/O、内存上就没有频率,有了总频,南、北桥、内存、CPU、CACHE、I/O上不一定有频率。总频一旦正常,可以说明晶体和分频器基本正常,主要是晶体的振荡电路已经完全正常,反之就不正常。 当分频产生后,分频器开始分频,R2经分频器过来的频率送到南桥,在南桥处理过后送到PCI槽的B39脚(PCICLK)和ISA槽的B20脚(SYSCLK),这两脚叫系统时钟测试脚。这个测试脚可以反映主板上所有的时钟是否正常。系统时钟的波形幅度一定要大于1.5V。 在主板上,RST和CLK都是由南桥处理的。若总频正常,如果RST和CLK都没有,在南桥电源正常的情况下,为南桥坏。 主板不开机,RST灯不正常,要先查总频。如果在数码卡上有OSC灯和RST灯,没有CLK灯的话,先查R3输出的分频有没有。若没有,在线路正常的情况下,一般是分频器坏。如果CLK的波形幅度不够,那得先查R3输出的幅度够不够。若不够,一般为分频器坏。若够,查南桥的电压够不够。若够,南桥坏;不够,查电源电路。 R1将分频器分过来的频率送给CPU的第6脚(在CPU上RST较旁边,见图纸),这

单周期处理器

实验八单周期处理器的实现 实验目的: 进一步理解数据通路、控制通路等基本概念 掌握处理器中控制器的基本设计方法 进一步理解单周期处理器以及多周期处理器的工作原理和设计思路实验要求: 设计和实现一个单周期处理器(60%) 可执行至少7条MIPS指令,add、sub、ori、lw、sw、beq、j 编写测试程序的二进制代码,测试实现的电路 撰写实验报告,dead line:5.19 设计和实现一个多周期处理器(40%) Dead line:6.6 。 实验报告: (1)实验过程 1 控制器的设计与实现 控制器的功能 根据当前指令,生成处理器内部各部件所需要的控制信号 控制器的输入输出

输入:op[5:0],func[5:0] 输出:RegDst,ALUSrc,MemtoReg,RegWrite,MemWrite,Branch,Jump,ExtOp,ALUctr[2:0] 图表1 主控的设计 图表2 ALUCTR的设计

图表3 控制器的封装 2 ALU的设计与实现 ALU的功能 根据控制信号ALUctr[2:0],将输入端口的两个32位的数据进行加、减、与、或操作,并判断结果是否为0 ALU的输入输出 输入:A[31:0],B[31:0],ALUctr[2:0] 输出:OUT[31:0],Zero ALU的实现 将运算器实验中实现的加减法扩展为32位

增加32位与、或功能 增加结果判零电路 根据ALUctr[2:0]信号确定ALU的输出 图表4 加法器的设计与封装 (由于上一个实验已做成ALU,这里不再赘述加法器的制作) 根据ADD/SUB信号判断实现加法或是减法,并且设置Zero 项输出,用作Beq指令的判定依据

1602电子时钟电路_原理图_PCB图

XXXXX学院 电 子 线 路 课 程 设 计 【带LCD显示的电子时钟】 班级:XX 姓名:XX 学号:XX 指导老师:XX XX年XX月XX 日

摘要 在当代繁忙的学习与生活中,数字钟已成为人们日常生活中必不可少的必需品,被广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。数字电路采用数字电路,实现对时、分、秒时钟显示的计时装置,具有走时准确、性能稳定、携带方便等优点 它还用于计时、自动报时及自动控制等各个领域。 单片机具有体积小、功能强可靠性高、价格低廉等一系列优点 基于单片机的定时器功能完成的数字钟电路的设计,结构简单,便于携带。也利于我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路、写程序、调试电路的能力。研究数字钟以及扩大其应用,具有非常现实的意义。 此设计中的数字钟不仅可以显示普通的年、月、日、时、分、秒外,还可加入蜂鸣器、按键复位等功能。 关键字:LCD1602 单片机电子时钟定时复位

一.任务要求 设计一个时钟电路。以单片机为核心模块,LCD1602为显示模块,通过控制使1602显示时间、字符。 1.1基本要求 1).第一行显示自己的名字 2).第二行显示时间 1.2发挥部分 1).加入按键,实现调时功能 2).加入蜂鸣器,实现闹钟功能

二.系统分析 2.1 系统总体方框图 2.2 系统总体分析 本设计由ST89C51单片机、复位电路、晶振电路、外部中断和显示电路5个模块组成。其中以单片机模块为核心模块,主导其余四个模块工作,1602显示模块用来显示秒、分、时计数单位中的值。利用AT89c51单片机内部的定时/计数器进行中断定时,配合软件延时,实现电路的总体功能。 ST89C51 复位电路 晶振电路 显示电路 外部中断

时钟电路原理图

AT89C2051组成的时钟电路原理图 2010-04-09 15:42:37 来源:21ic 关键字:AT89C2051 时钟定时器 我们以一个实际的时钟电路来说明定时器的软件编程方法,时钟就是我们最为常见的显示时、分、秒为单位的计时工具,它是典型的应用代表。 时钟的最小计时单位是秒,但使用单片机定时器来进行计时,若使用6.0MHz的晶振,即使按工作方式1工作,最大的计时时间也只能到131ms,所以我们可把每个定时时间取125ms,这样定时器溢出8次(125ms╳8=1000ms)就得到最小的计时单位秒。而要实现8次计数用软件方法实现是轻而易举的。 我们使用定时器1,以工作方式1工作,定时器进行125ms定时。采用中断方法进行溢出次数的累计,当计满8次即得到1秒的计时。 一个时钟的计时累加,要实现分、时的进位,要用到多种进制,秒、分、时中的进位是十进制,秒向分进位和分想时进位却是六十进制,而每天又有十二小时制或二十四小时制,它们分别又是十二进制和二十四进制。从秒到分和从分到小时可以通过软件累加和数值比较方法实现。 在单片机的内部RAM中,需要设置显示缓冲区,显示的时、分、秒值是从显示缓冲区中取出的,在RAM中设置四个单元作为显示缓冲区,分别是7AH、7BH、7CH。为使电路和原理叙述方便,我们这里不显示秒值,秒的进位我们通过闪烁分值实现。这样我们一共有四位LED分别显示时和分值。同时时钟都需要校准的。在程序中还需设置显示码表,要显示的数值通过查表指令将显示用的真正码值送到LED上。我们用单片机A T89C2051的PP3.4和P3.5两个I/O口外接微动开关来实现时和分的校正,每按一次小时或分值加1,连续按下数值累计下去,实现时钟的校准。 在电路中我们还设置了一个蜂鸣器,用作简单报时用,如可设早上7:30分起床,中午1点30分再有起床报时,每次响时1分钟,响1秒,停2秒的方式,而不是连续响铃。这个程序我们采用12小时制,为此,要在程序中设置相应的标志,以利于主程序识别。同样计时程序中还会有几个相关的标志,主要是控制程序流的转向。程序中我们都作了较详细的注释,这里不再赘述。 硬件电路,我们还是以低价的AT89C2051单片机为微处理单元,这个芯片兼容C51指令系统,在C51上编写的程序,无需任何修改即可方便地移植到这个芯片上来。我们以P0口作为LED的字段位驱动输出,秒的“进位”采用分值闪烁提示,亮0.5秒,熄0.5秒。,P3.1—P3.3用于位驱动,使用动态扫描方式显示,每位LED的显示时间10—25ms之间均可,扫描频率不能太高,否则每位LED显示的时间过短,亮度太低,不易于观看,以肉眼不感觉到LED闪烁为宜。为了直观,我们的驱动输出没有采用集成电路,而是使用了分立元件—三极管,但工作原理却是一致的。 这个电路结构决定LED采用共阳极的数码管,可以采用LQ5101BS普通的发光二极管,驱动三极管可采用易得的2SA1015和2SC1815等型号,当然也可使用象S9012,S9013,S9014,2N5401,2N5555等小功率三极管,其它器件没有特殊要求。为便于实验,单片机AT89C2051可采用DIP20P插座,程序编制好后,调试无错,即可烧写到AT89C2051中,值得一提的是,A T89C2051是Flash程序存储器,程序可反复擦写,对于做实验是非常方便的。 (本文转自电子工程世界:https://www.wendangku.net/doc/954428337.html,/mcu/2010/0409/article_1946.html)

相关文档