8位CPU设计与实现

合集下载

8位移位寄存器的电路设计与版图实现要点

8位移位寄存器的电路设计与版图实现要点

8位移位寄存器的电路设计与版图实现要点8位移位寄存器的电路设计与版图实现摘要电⼦设计⾃动化,缩写为EDA,主要是以计算机为主要⼯具,⽽Tanner EDA则是⼀种在计算机windows平台上完成集成电路设计的⼀种软件,基本包括S-Edit,T-Spice,W-Edit,L-Edit与LVS等⼦软件,其S-Edit以及L-Edit为常⽤软件,前者主要实现电路设计,后者主要针对的是已知电路的版图绘制,⽽T-Spice主要可实现电路图及版图的仿真,可以⽤Tanner EDA实现电路的设计布局以及版图实现等⼀系列完整过程。

本⽂⽤Tanner EDA⼯具主要设计的是8位移位寄存器,移位寄存器主要是⽤来实现数据的并⾏和串⾏之间的转换以及对数据进⾏运算或专业处理的⼯具,主要结构构成是触发器,触发器是具有储存功能的,可以⽤来储存多进制代码,⼀般N 位寄存器就是由N个触发器构成,移位寄存器⼯作原理主要是数据在其脉冲的作⽤下实现左移或者右移的效果,输⼊输出的⽅式表现为串⾏及并⾏⾃由组合,本设计就是在Tanner EDA的软件平台上进⾏对8位移位寄存器的电路设计仿真,再根据电路图在专门的L-Edit 平台上完成此电路的版图实现,直⾄完成的结果和预期结果保持⼀致。

关键词:Tanner EDA;L-Edit;移位寄存器,S-Edit8 bits shift register circuit design and layoutAbstractElectronic design automation,referred to as EDA,it is based on computers as the main tool,and Tanner EDA is a kind of software that complete the integrated circuit design on Windows platforms.Its Sub-Softwares include S-Edit,T-Spice,W-Edit,L-Edit and LVS and so on.S-Edit and L-Edit are commonly used software,S-Edit is primarily designed to achieve circuit,the latter is aimed primarily known circuit layout drawing,T-Spice can achieve schematic and layout simulation.We can achieve layout of the circuit design and a series of complete process layout used Tanner EDA tools.In this paper, Tanner EDA tools are mainly designed an 8-bit shift register.The shift register is mainly used for data conversion between parallel and serial, and the data processing tool operation or professional,its main structure is the trigger composition,flip-flop is a storage function,it can be used to store more hexadecimal code,In general N-bits register is composed of N trigger.Working principle of the shift register data under the action of the pulse, mainly the effect of the shift to the left or right,input and output of the way of serial and parallel free combination.This design is in Tanner on the EDA software platform to 8 bits shift register circuit design and simulation,then according to the circuit diagram on special L - Edit platform to complete the circuit layout implementation,until the finish is consistent with the results and expected results.Keywords:Tanner EDA;L-Edit;Shift register,S-Edit⽬录1 前⾔ (1)1.1 课题的背景和⽬的 (1)1.2课题的设计内容 (1)2 设计软件简介 (2)2.1EDA技术的介绍 (2)2.2T ANNER EDA T OOLS的简述 (2)2.3T ANNER软件的组成及发展 (3)2.3.1 Tanner的设计流程 (4)2.3.2 Tanner软件的发展 (5)2.3.3 L-Edit软件的介绍 (6)2.48位移位寄存器的⼯作原理和设计要求 (9)2.4.1 ⼯作原理 (9)2.4.2 电路结构与设计 (11)3 8位移位寄存器的电路设计与版图实现过程 (13)3.1各个模块的设计与仿真 (13)3.1.1 带复位端D触发器的设计与版图实现 (13)3.1.2 与或⾮门的设计与版图实现 (16)3.28位移位寄存器的电路设计与版图实现 (18)3.2.1 8位移位寄存器的电路结构 (18)3.2.2 8位移位寄存器的版图实现 (19)3.2.3 LVS对⽐ (21)4 结束语 (21)参考⽂献 (22)巢湖学院2013届本科毕业论⽂(设计)1 前⾔1.1 课题的背景和⽬的随着科技的进步,近⼏个世纪寄存器技术不断成熟,在数字电路中,寄存器已经是⼀个经常被提出的概念,它主要指的是⽤来存放⼆进制数据或者代码的电路。

8位CPU的设计与实现

8位CPU的设计与实现

计算机组成原理实验题目8位CPU得系统设计学号1115106046姓名魏忠淋班级 11电子B 班指导老师凌朝东华侨大学电子工程系8位CPU得系统设计一、实验要求与任务完成从指令系统到CPU得设计,编写测试程序,通过运行测试程序对CPU设计进行正确性评定。

具体内容包括:典型指令系统(包括运算类、转移类、访存类)设计;CPU结构设计;规则文件与调试程序设计;CPU调试及测试程序运行。

1。

1设计指标能实现加减法、左右移位、逻辑运算、数据存取、有无条件跳转、内存访问等指令;1、2设计要求画出电路原理图、仿真波形图;二、CPU得组成结构三、元器件得选择1.运算部件(ALU)ALU181得程序代码:LIBRARY IEEE;USEIEEE、STD_LOGIC_1164。

ALL;USEIEEE、STD_LOGIC_UNSIGNED.ALL;ENTITY ALU181 ISPORT(S: IN STD_LOGIC_VECTOR(3 DOWNTO0 );A:IN STD_LOGIC_VECTOR(7 DOWNTO0);B: INSTD_LOGIC_VECTOR(7DOWNTO 0);F : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);ﻩCOUT:OUTSTD_LOGIC_VECTOR(3 DOWNTO0);M :INSTD_LOGIC;CN : IN STD_LOGIC;CO,FZ:OUT STD_LOGIC );END ALU181;ARCHITECTURE behav OF ALU181 ISSIGNALA9 :STD_LOGIC_VECTOR(8DOWNTO 0);SIGNAL B9 : STD_LOGIC_VECTOR(8 DOWNTO0);SIGNALF9: STD_LOGIC_VECTOR(8 DOWNTO0);BEGINA9<= '0'& A; B9 <= ’0’&B;PROCESS(M,CN,A9,B9)BEGINCASE S ISWHEN "0000" =〉IF M='0’THEN F9<=A9 + CN ; ELSE F9<=NOT A9; E NDIF;WHEN "0001" =>IF M='0’THEN F9<=(A9 orB9)+ CN ;ELSE F9〈=NOT(A9OR B9);END IF;WHEN ”0010"=> IF M=’0’THEN F9〈=(A9 or(NOT B9))+C N; ELSE F9<=(NOT A9) ANDB9; ENDIF;WHEN "0011"=> IF M='0’THEN F9<= ”000000000"—CN ;ELSEF9<="000000000”;END IF;WHEN"0100”=> IFM='0'THENF9<=A9+(A9 ANDNOT B9)+ CN; ELSE F9〈=NOT(A9 ANDB9);END IF;WHEN ”0101”=>IFM='0' THENF9<=(A9orB9)+(A9 AND NOTB9)+CN ;ELSEF9<=NOT B9; END IF;WHEN"0110" =>IFM=’0’THEN F9〈=(A9- B9) -CN ;ELSE F9〈=A9XOR B9; ENDIF;WHEN”0111"=>IF M='0' THEN F9〈=(A9 or(NOT B9)) -CN ;ELSE F9<=A9 and (NOT B9); END IF;WHEN"1000" =>IFM='0'THEN F9<=A9+ (A9AND B9)+CN ; ELSE F9〈=(NOTA9)and B9; END IF;WHEN "1001”=> IF M=’0’THEN F9〈=A9+ B9 + CN ; ELSE F9<=NOT(A9 XOR B9); ENDIF;WHEN ”1010"=>IF M=’0'THEN F9〈=(A9or(NOTB9))+(A 9AND B9)+CN ; ELSEF9<=B9;END IF;WHEN "1011”=〉IF M='0'THENF9<=(A9 AND B9)- C N; ELSE F9<=A9 ANDB9; ENDIF;WHEN ”1100”=〉IF M='0'THENF9<=(A9 +A9) + CN; ELSEF9〈="000000001"; END IF;WHEN "1101”=〉IF M='0' THEN F9〈=(A9or B9)+ A9 + CN;ELSEF9〈=A9 OR (NOTB9); END IF;WHEN "1110"=>IF M='0'THENF9<=((A9 or (NOTB9)) +A9) + CN; ELSE F9〈=A9OR B9;END IF;WHEN”1111”=〉IFM=’0'THENF9<=A9 —CN ;ELSE F9<=A9 ; END IF;WHEN OTHERS=> F9<= ”000000000" ;ENDCASE;IF(A9=B9) THENFZ<=’0';END IF;ﻩEND PROCESS;F<=F9(7DOWNTO0) ;CO<= F9(8) ;COUT<="0000"WHEN F9(8)=’0'ELSE"0001";END behav;ALU得原理图:2、微控制器实现信息传送要靠微命令得控制,因此在CPU 中设置微命令产生部件,根据控制信息产生微命令序列,对指令功能所要求得数据传送进行控制,同时在数据传送至运算部件时控制完成运算处理。

8位ALU设计

8位ALU设计

8位算术逻辑单元设计电子12-112060401248位算术逻辑单元设计1.概述算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路,简称ALU。

算术逻辑单元(Arithmetic&logical Unit)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate"(与门)和"Or Gate"(或门)构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。

基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。

通常而言,ALU具有对处理器控制器、内存及输入输出设备的直接读入读出权限。

输入输出是通过总线进行的。

输入指令包含一个指令字,有时被称为机器指令字,其中包括操作码,单个或多个操作数,有时还会有格式码;操作码指示ALU机要执行什么操作,在此操作中要执行多少个操作数。

比如,两个操作数可以进行比较,也可以进行加法操作。

格式码可与操作码结合,告知这是一个定点还是浮点指令;输出包括存放在存储寄存器中的结果及显示操作是否成功的设置。

如操作失败,则在机器状态字中会有相应的状态显示。

大部分ALU都可以完成以下运算∶整数算术运算(加、减,有时还包括乘和除),位逻辑运算(与、或、非、异或),移位运算。

2.ALU设计2.1设计目标设计要求该处理器的数据宽度是8bit,可以实现算术加法、算术减法、逻辑与、逻辑或、逻辑非、逻辑与非、逻辑或非和逻辑异或等8种运算。

2.2逻辑分析依照ALU的原理与逻辑结构原理图,用超前进位的方法能实现下面八种功能操作的4位ALU,并对电路进行封装。

设定:输入信号:A4-A1、B4-B1、F3-F1、低位进位端C0、(级联控制端G);输出信号:S4-S1、进位C4 4位ALU的八种功能如下:把低位的进位连接到高一位的本位上,而当F3F2F1的值为001、011、101 时,C0的值为1,其余为0,于是C0应满足:C0=GF1/F1F2F3+C0/G。

8位ALU设计.doc

8位ALU设计.doc

8位算术逻辑单元设计电子12-18位算术逻辑单元设计1.概述算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路,简称ALU。

算术逻辑单元(Arithmetic&logical Unit)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate"(与门)和"Or Gate"(或门)构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。

基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。

通常而言,ALU具有对处理器控制器、内存及输入输出设备的直接读入读出权限。

输入输出是通过总线进行的。

输入指令包含一个指令字,有时被称为机器指令字,其中包括操作码,单个或多个操作数,有时还会有格式码;操作码指示ALU机要执行什么操作,在此操作中要执行多少个操作数。

比如,两个操作数可以进行比较,也可以进行加法操作。

格式码可与操作码结合,告知这是一个定点还是浮点指令;输出包括存放在存储寄存器中的结果及显示操作是否成功的设置。

如操作失败,则在机器状态字中会有相应的状态显示。

大部分ALU都可以完成以下运算∶整数算术运算(加、减,有时还包括乘和除),位逻辑运算(与、或、非、异或),移位运算。

2.ALU设计2.1设计目标设计要求该处理器的数据宽度是8bit,可以实现算术加法、算术减法、逻辑与、逻辑或、逻辑非、逻辑与非、逻辑或非和逻辑异或等8种运算。

2.2逻辑分析依照ALU的原理与逻辑结构原理图,用超前进位的方法能实现下面八种功能操作的4位ALU,并对电路进行封装。

设定:输入信号:A4-A1、B4-B1、F3-F1、低位进位端C0、(级联控制端G);输出信号:S4-S1、进位C4 4位ALU的八种功能如下:把低位的进位连接到高一位的本位上,而当F3F2F1的值为001、011、101 时,C0的值为1,其余为0,于是C0应满足:C0=GF1/F1F2F3+C0/G。

8位CISC微处理器的设计与实现

8位CISC微处理器的设计与实现

c tg re o aa ta s sin, r h t a d lgc p rt n , r c s c n o ,n u d o tu . e i lto rs l h ws ae ois f d t r miso ai me c n o i n t i o eai s p o es o t lip t a up t s o r n Th muain eut o s
台具有数据传送 、 算逻运算 、 程序控制和输入输 出4 种功 能的 3 条指令的 系统 。在 QU R USI O A T I 系统上仿真成功 , 结果表明该微
处理 器 系统 可以运行在 10MH 时钟 工作频率下 , 0 z 能快速 准确地 完成各种指令组成的程序 。
关键 词 : 场 可 编 程 门阵 列 ( P A)复 杂 指 令 集 计 算机 ( IC ; 高 速 集 成 电路 硬 件 描 述 语 言 ( DL ; 真 现 FG ; CS )超 VH )仿 DO :03 7 0i n10 .3 1 0 0 00 7 文 章 编 号 :0 28 3 (0 02 .0 00 文献 标 识 码 : 巾图 分 类  ̄ : P 2 I 1. 8 .s . 283 . 1 . .1 7 s 0 2 2 10 —3 12 1 )00 6 -4 A T 33
1 引言
随着电子工业和超大规模集成 电路 ( s) VL I技术的高速发 展, 要求专用集成 电路( I 的功能越来越 强 , Asc) 功耗越来越低 ,
过微控制 器转换 成相应 的命令信 号 , 从而使 内部部件 完成相 应的操作 ;
生产周期越来越短 , 这些都对芯 片设计提 出了 巨大 的挑 战 , 传 统 的芯 片设计方 法 已经不 能适应 复杂 的应 用需求 了 。在这 种环境下 , 现场可编程 门阵 列( P A) 件以其灵活的可重配 FG 器

8位CPU总线采样记录仪的设计

8位CPU总线采样记录仪的设计

4 2・
《 测控技 术 ̄0 2年 第 3 21 1卷 第 2期
8位 C U总 线 采 样 记 录仪 的 设 计 P
程 耀 林 ,魏 华 兵 ,伍 时促 ,王 锐 ,陈 锟
( 中南 民族大学 电子信息工程学 院 , 湖北 武汉 4 07 ) 3 0 4
摘要 : 计 了一种 8位 C U 总线 采样 记 录仪 , 5 设 P 对 l单 片机 总 线进 行 采样 , 中提 取 如 下 4种信 息并 存 从
The De in fBu t a pl n S o i n t um e o sg o sDa a S m i a d t rng I sr ng ntf r
CPU t 8 bi S wih . t BU
C HENG o l , EI Hu - i g W U S iC , ANG i C Ya —i W a b n , n h— U W Ru , HE Ku N n ( c ol f l t nca d If m t n E gn eig S uhC nrl n es yfr a o a t s Wu a 3 0 4 C i ) S h o o e r i n n r ai n i r , o t— e t i ri t n li , h n4 0 7 , hn E co o o e n a U v t o N i ie a
储 : 外程 序代 码 和地 址 、 片 片外 数据 存储 器的数据 和地 址 。 它基 于 A t a 司提 供 的 D 0开发 板 , lr 公 e E 外接
A 8 S2单 片机 最 小 系统 , T95 带触摸 L D和 s C D卡 , F G 内实现 总线采 集模 块 , 同构 建 了一 个 S P 在 PA 共 OC 系统 , 过 在 No 通 i I s I中运 行 的软件 对数据进 行 存储 、 处理 。测试 结 果表 明 , 采集 的数 据 可使 用 T T文件 X

高速8位微处理器设计

高速8位微处理器设计

高速8位微处理器设计陈明敏;易清明;石敏【摘要】针对当前MCS51指令集的微处理器指令执行效率低问题,设计一款高速微处理器.其特点是:首先,采用快速乘除器和基4快速除法器,其计算速度是传统乘法器和除法器计算速度的48倍;其次,采用32位指令总线,能一次从ROM读取4个字节,覆盖所有指令长度,减少取指周期数;此外,使用五级流水线,能在单周期完成大多数指令;在Altera EP3C16 FPGA芯片上进行物理验证,根据Dhrystone 2.1性能测试,在相同的时钟频率下其综合性能是传统MCS51微处理器的12倍.实验结果表明,通过上面3种改进方法,微处理器指令执行效率得到极大提高.【期刊名称】《计算机应用与软件》【年(卷),期】2016(033)001【总页数】4页(P240-243)【关键词】微处理器;快速除法器;快速乘法器;流水线【作者】陈明敏;易清明;石敏【作者单位】暨南大学信息科学技术学院广东广州510632;暨南大学信息科学技术学院广东广州510632;暨南大学信息科学技术学院广东广州510632【正文语种】中文【中图分类】TP331FPGA中嵌入式CPU有硬核和软核,目前嵌入硬核有高性能cortexA9双核。

嵌入式软核有Altera公司的NIOS,Xilinx公司的Micro Blaze,以及改进后的MCS51 IP核。

前两个都是免费的IP核,可灵活配置,但是需要用各自的编译器,且编译时间漫长,不便于修改,应用非常少。

嵌入式硬核只有高端器件上面才有,不适用于大多数要求,且价格昂贵。

随着SOC(System On Chip)技术发展,基于IP核的SOC设计有利于增加新功能和缩短上市时间的特点,越来越得到广泛地应用。

在单片机家族中MCS51是一种经典的单片机,历经30多年至今应用依然很广。

由于其占用逻辑资源少,在FPGA应用越来越广。

传统的MCS51引入了机器周期,每个机器周期需要12个时钟,每条指令需要不同的机器周期来完成。

8位高速微控制器IP软核的设计与实现

8位高速微控制器IP软核的设计与实现

指 令 周期 避 免 了 深度 流 水 线 增加 电
路结 构 复杂 性 和芯 片 面积 。 该 微 处 理器 在 结 构 上 可 以划 分
为 四 个 子 系统 ,分 别 为 控 制 单元 、
2 0 . 电 子 设 计应 用 ww .a .o cl 07 3 w e w c m.,
维普资讯
维普资讯
_


鬈 譬

■ 成 都 电子科 技 大 学微 电子与 固体 电子 学 院 耿 磊 李 平 陈勇 杜 涛
8位 高 速 微 控 制 器 I 核 的 设 计 与 实 现 P软
摘 要 :本 文介 绍 了一 种8 高速 微 控 制器 I 软核 的设 计 , P 用 哈佛 总线 和 二 级流 水 线 , 令 集 与PC 6 66 位 P 该I 采 指 I 1F 7
兼 容 。本 文 按 照 自顶 而 下 的设 计 流 程 ,首 先定 义 了该 MCU I P核 的 顶层 功 能和 体 系结 构 ,然 后对 各 单 元模 块 进 行 了详 细 的设 计 ,讲 述 了 I 核 的 设计 方 法 及 其仿 真 验 证 ,并对 该 微 控 制器 的读 / 时序 进 P软 写
令译码单元 , 用空 操 作 指 令 N P O 代 同时 把 GOTO指 令跳 转 后 指 向地 址
替 。这样 ,控 制 逻 辑 不 需要 做 太 大 对 应 的指 令 取 出 来 ,在 下个 指令 周
MCU I 的 时 序 设计 P核
时钟 网络 的 时序 设 计 本设 计 的 时序 设 计 部 分 采 用 内 部 包含 4个 节 拍 时 钟 的结 构 ,时 钟 网 络模 块 在 复位 结 束 后 会 利 用两 级 嵌 套 的 D触 发器 将 外 部 时 钟( K) CL
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机组成原理论文姓名:某某班级:计科一班学号:8位CPU的设计与实现论文CPU 的主要功能是执行指令,控制完成计算机的各项操作,包括运算操作、传送操作、输入/输出操作等。

作为模型计算机设计,将重点放在寄存器组,采取较简单的组成模式,以尽量简洁的设计帮助读者掌握CPU 的基本原理。

此次设计CPU就是为了了解CPU运行的原理,从而完成从指令系统到CPU 的设计,并且通过仿真对CPU设计进行正确性评定。

关键词:CPU,设计指标,电路原理图,运算部件,寄存器组,模型机指令系统,微命令序列,数据通路1. 设计的任务与要求1.1设计指标1. 能实现IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)这五种指令;2. 整个系统能正常稳定工作。

1.2 设计要求1. 画出电路原理图;2.写出设计的全过程,附上有关资料和图纸(也可直接写在相关章节中),有心得体会。

2. 方案论证与选择2.1 CPU的系统方案CPU 主要由算术逻辑单元ALU,数据暂存寄存器DR1、DR2,数据寄存器R0~R2,程序计数器PC,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器IR,微控制器uC,输入单元INPUT 和输出单元OUTPUT 所组成。

图中虚线框内部分包括运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以在单片FPGA 中实现。

虚线框外部分主要是输入/输出装置,包括键盘、数码管、LCD 显示器等,用于向CPU 输入数据,或CPU 向外输出数据,以及观察CPU 内部工作情况及运算结果。

1.运算部件运算部件的任务是对操作数进行加工处理。

主要由三部分组成:(1)输入逻辑。

(2)算术/逻辑运算部件ALU。

(3)输出逻辑2.寄存器组计算机工作时,CPU 需要处理大量的控制信息和数据信息。

例如对指令信息进行译码,以便产生相应控制命令对操作数进行算术或逻辑运算加工,并且根据运算结果决定后续操作等。

因此,在CPU 中需要设置若干寄存器,暂时存放这些信息。

在模型CPU中,寄存器组由R0、R1、R2 所组成。

3.指令寄存器指令寄存器(IR)指令寄存器指令寄存器(IR)用来存放当前正在执行的指令,它的输出包括操作码信息、地址信息等,是产生微命令的主要逻辑依据。

4.程序计数器程序计数器(PC)程序计数器程序计数器也称指令指针,用来指示指令在存储器中的存放位置。

当程序顺序执行时,每次从主存取出一条指令,PC 内容就增量计数,指向下一条指令的地址。

增量值取决于现行指令所占的存储单元数。

如果现行指令只占一个存储单元,则PC 内容加1;若现行指令占了两个存储单元,那么PC 内容就要加2。

当程序需要转移时,将转移地址送入PC,使PC 指向新的指令地址。

因此,当现行指令执行完,PC 中存放的总是后续指令的地址;将该地址送往主存的地址寄存器AR,便可从存储器读取下一条指令。

5.地址寄存器CPU 访问存储器,首先要找到需要访问的存储单元,因此设置地址寄存器(AR)来存放被访单元的地址。

当需要读取指令时,CPU 先将PC 的内容送入AR,再由AR将指令地址送往存储器。

当需要读取或存放数据时,也要先将该数据的有效地址送入AR,再对存储器进行读写操作。

6.标志寄存器标志寄存器F是用来记录现行程序的运行状态和指示程序的工作方式的,标志位则用来反映当前程序的执行状态。

一条指令执行后,CPU 根据执行结果设置相应特征位,作为决定程序流向的判断依据。

例如,当特征位的状态与转移条件符合时,程序就进行转移;如果不符合,则顺序执行。

在后面将要介绍的较复杂模型计算机设计中设置了两个标志位:进位Fc、零位Fz。

7.微指令产生部件实现信息传送要靠微命令的控制,因此在CPU 中设置微命令产生部件,根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控制,同时在数据传送至运算部件时控制完成运算处理。

微命令产生部件可由若干组合逻辑电路组成,也可以由专门的存储逻辑组成。

产生微命令的方式可分为组合逻辑控制方式和微程序控制方式两种。

在本章所介绍的8 位模型CPU 设计中,采用微程序控制方式通过微程序控制器和微指令存储器产生微命令,因此此CPU 属于复杂指令CISC CPU。

8.时序系统计算机的工作常常是分步执行的,那么就需要有一种时间信号作为分步执行的标志,如周期、节拍等。

节拍是执行一个单步操作所需的时间,一个周期可能包含几个节拍。

这样,一条指令在执行过程中,根据不同的周期、节拍信号,就能在不同的时间发出不同的微命令完成不同的微操作。

周期、节拍、脉冲等信号称为时序信号,产生时序信号的部件称为时序发生器或时序系统,它由一组触发器组成。

由石英晶体振荡器输出频率稳定的脉冲信号,也称时钟脉冲,为CPU 提供时钟基准。

时钟脉冲经过一系列计数分频,产生所需的节拍(时钟周期)信号。

时钟脉冲与周期、节拍信号和有关控制条件相结合,可以产生所需的各种工作脉冲。

2.2模型机指令系统一条指令必须包含下列信息:操作码、操作数的地址、操作结果的存储地址、下一条指令的地址。

指令的基本格式op-code 为操作码,rs为源寄存器,rd 为目的寄存器寄存器操作数模型机指令系统,及其指令编码形式设模型机指令系统中包含有五条基本指令,分为算术运算指令、存取指令和控制转移指令等三种类型。

五条机器指令分别是:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)。

IN 为单字长(8 位二进制),其余为双字长指令,XX H 为addr对应的十六进制地址码。

2.3 拟定指令流程和微命令序列(计算机设计中最关键步骤)1.微程序控制概念(1)微命令和微操作一条机器指令可以分解成一个微操作序列,这些微操作是计算机中最基本的,不可再分解的操作。

在微程序控制的计算机中,将控制部件向执行部件发出的各种控制命令叫做微命令,它是构成控制序列的最小单位。

因此,微命令是控制计算机各部件完成某个基本微操作的命令。

微命令和微操作是一一对应的。

微命令是微操作的控制信号,微操作是微命令的操作过程。

微命令有兼容性和互斥性之分。

兼容性微命令是指那些可以同时产生,共同完成某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令。

兼容和互斥都是相对的,一个微命令可以和一些微命令兼容,和另一些微命令互斥。

对于单独一个微命令,就无所谓兼容性或互斥性了。

(2)微指令、微地址微指令是指控制存储器中的一个单元的内容,即控制字,是若干个微命令的集合,存放控制字的控制存储器的单元地址就称为微地址。

一条微指令通常至少包含两大部分信息:微操作码字段,又称操作控制字段,该字段指出微指令执行的微操作;微地址码字段,又称顺序控制字段,指出下一条要执行的微指令的地址。

(3)微周期所谓微周期是指从控存中读取出一条微指令并执行规定的相应操作所需的时间。

(4)微程序一系列微指令的有序集合就是微程序。

若干条有序的微指令构成了微程序。

微程序可以控制实现一条机器指令的功能。

或者说一条机器指令可以分解为特定的微指令序列。

一旦机器的指令系统确定以后,每条指令所对应的微程序被设计好并且存入控存后,控存总是处于只读的工作状态,所以控存一般采用只读存储器(ROM)存放。

重新设计控存内容就能增加、删除、修改机器指令系统。

在FPGA 中通常采用嵌入式阵列块构成的LPM_ROM 作为控存,存放微指令。

2.微指令格式(1)水平型微指令一次能定义并执行多个并行操作微命令的微指令。

按照操作控制字段的编码方法不同,水平型微命令又分为三种:第一种是全水平型(不译码法)微指令,第二种是字段译码法水平型微指令,第三种是直接和字段译码相混合的水平型微指令。

(2)垂直型微指令垂直型微指令中设置操作码字段,由微操作码规定微指令的功能。

垂直型微指令的结构类似于机器指令的结构。

在一条微指令中只存一二个微命令,每条微指令的功能比较简单。

因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是采用较长的微程序结构去换取较短的微指令结构。

3.模型机的微指令uA5~uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。

S3、S2、Sl、S0:由微程序控制器输出的ALU 操作选择信号,以控制执行16 种算术操作或16 种逻辑操作中的某一种操作。

M:微程序控制输出的ALU 操作方式选择信号。

M=0 执行算术操作;M=l 执行逻辑操作。

Cn:微程序控制器输出的进位标志信号,Cn=0 表示ALU 运算时最低位有进位;Cn=1 则表示无进位。

WE:微程序控制器输出的RAM 控制信号。

当CE=0 时,如WE=0,为存储器读;如WE=1,为存储器写。

A9、A8:译码后产生CS0、CS1、CS2 信号,分别作为SW_B、RAM、LED 的选通控制信号。

A 字段(15、14、13):译码后产生与总线相连接的各单元的输入选通信号。

B 字段(12、11、10):译码后产生与总线相连接的各单元的输出选通信号。

C 字段(9、8、7):译码后产生分支判断测试信号P(1)~P(4)和LDPC 信号。

4.微指令的执行方式执行一条微指令的过程类似于机器指令的执行过程。

首先,将微指令从控存CM 中取出,称为取微指令。

对于垂直型微指令还应包括微操作码的译码时间。

然后,执行微指令所规定的各个微操作。

根据微指令的执行方式可分为串行执行和并行执行两种。

5.时序安排由于CPU 的工作是分步进行的,而且需要严格定时控制,因此设置时序信号,以便在不同的时间发出不同的微命令,控制完成不同的操作。

组合逻辑控制方式和微程序控制方式在时序安排上有区别,前者多采用三级时序划分,而后者往往采用两级时序。

6.拟定指令流程和微命令序列这是设计中最关键的步骤,这是由于需要根据这一步的设计结果形成最后的控制逻辑。

拟定指令流程是将指令执行过程中的每步传送操作(寄存器之间的信息传送),用流程图的形式描述出来,拟定微命令序列是用操作时间表列出每步操作所需的微命令及其产生条件。

7.形成控制逻辑设计的最后一步。

采用组合逻辑控制方式或采用程序控制方式,有各自不同的设计方法。

在组合逻辑控制方式中,将产生微命令的条件进行综合、化简,形成逻辑式,从而构成控制器的核心逻辑电路。

在微程序控制方式中,则是根据微命令来编写微指令,组成微程序,从而构成以控制存储器为核心的控制逻辑。

2.4 微程序设计1.IN指令为了执行输入指令,CPU 要做两件事情。

首先,由INPUT 输入装置的数据开关SW输入数据送到数据总线上;其次,通过数据总线将输入的数据写入寄存器R0 中。

2.ADD指令 R0←R0+(MEM)存储单元的地址是存放在紧跟在操作码后的字节中的,因此,首先要以该字节的内容为地址,即将该单元内容送地址寄存器AR;然后,从AR 所指向的RAM 存储单元取出操作数送给DR2。

相关文档
最新文档