8位CISC计算机设计
CISC与RISC
CISC与RISC复杂指令集计算机(CISC)长期以来,计算机性能的提高往往是通过增加硬件的复杂性来获得。
随着集成电路技术,特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式。
甚至某些指令可支持高级语言语句归类后的复杂操作。
至使硬件越来越复杂,造价也相应提高。
为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外,还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能,处理器在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Complex Instruction Set Computer-CISC)结构。
一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条。
精简指令集计算机(RISC)采用复杂指令系统的计算机有着较强的处理高级语言的能力。
这对提高计算机的性能是有益的。
当计算机的设计沿着这条道路发展时,有些人没有随波逐流,他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法。
IBM公司设在纽约Yorktown的JhomasI.Wason研究中心于1975年组织力量研究指令系统的合理性问题。
因为当时已感到,日趋庞杂的指令系统不但不易实现,而且还可能降低系统性能。
1979年以帕特逊教授为首的一批科学家也开始在美国加州大学伯克莱分校开展这一研究。
结果表明,CISC存在许多缺点。
首先,在这种计算机中,各种指令的使用率相差悬殊。
一个典型程序的运算过程所使用的80%指令。
只占一个处理器指令系统的20%。
事实上最频繁使用的指令是取、存和加这些最简单的指令。
这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器。
同时,复杂的指令系统必然带来结构的复杂性。
这不但增加了设计的时间与成本还容易造成设计失误。
计算机系统结构课后答案chap2-answer
第二章计算机指令集结构设计名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。
2.累加型机器——CPU中存储操作数的单元是累加器的机器。
3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。
4.CISC——复杂指令集计算机。
5.RISC——精简指令集计算机。
@2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点2.3常见的三种通用寄存器型机器的优缺点各有哪些指令集结构设计所涉及的内容有哪些(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
(5)((6)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
简述CISC计算机结构指令集功能设计的主要目标。
从当前的计算机技术观点来看,CISC结构有什么缺点CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
(5)^(6)在结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。
课件:软件工程--05指令系统
5. 输入输出
入
端口地址
CPU 的寄存器
如 IN AL, n IN AX, n IN AL, DX IN AX, DX
出 CPU 的寄存器
端口地址
如 OUT n, AL OUT n, AX OUT DX, AL OUT DX, AX
五、操作码编码
操作码的编码有两种方式 - Fixed Length Opcodes (定长操作码法) - Expanding Opcodes (扩展操作码编法)
ADD D + ( N -1 ) DIV # N STA ANS 共 N + 2 条指令
LDA # 0 LDX # 0 M ADD X, D INX CPX # N BNE M DIV # N STA ANS 共 8 条指令
X 为变址寄存器 D 为形式地址 (X) +1 X (X) 和 #N 比较 结果不为零则转
10. 堆栈寻址
(1) 堆栈的特点 硬堆栈
堆栈 软堆栈
多个寄存器 指定的存储空间
先进后出(一个入出口) 栈顶地址 由 SP 指出
进栈 (SP)– 1 SP 出栈 (SP)+ 1 SP
SP
1FFFH 2000 H
12F0F0F0 H
–1
进栈
栈顶 栈顶
SP
1FFFH 2000 H
12F0F00F HH
无条件转移;……
二、操作数类型
地址
无符号整数
数字 定点数、浮点数、十进制数 位、位串、字符和字符串 ASCII 逻辑数 逻辑运算
三、寻址方式
确定 本条指令 的 操作数地址
数据寻址
下一条 欲执行 指令 的 指令地址 指令寻址 • 指令的寻址——简单
cisc risc vliw 通俗理解 指令系统划分
cisc risc vliw 通俗理解指令系统划分计算机指令系统是计算机硬件能够识别和执行的一组指令,它是计算机软件和硬件之间的接口。
指令系统的设计直接影响到计算机的性能、功能和成本。
根据指令系统的特点,可以将指令系统划分为CISC(Complex Instruction Set Computing,复杂指令集计算)、RISC(Reduced Instruction Set Computing,精简指令集计算)和VLIW(Very Long Instruction Word,超长指令字)三种类型。
1. CISC(复杂指令集计算)CISC是一种早期的指令系统设计方法,其主要特点是指令长度不固定,一条指令可以完成多个操作。
CISC指令系统中的指令通常包括数据操作、逻辑操作、控制转移等多种功能。
这种设计使得程序员可以用较少的指令完成复杂的任务,提高了编程的灵活性。
然而,CISC指令系统的复杂性也带来了一些问题:- 指令长度不固定导致硬件设计的复杂度增加,降低了处理器的运行速度;- 由于一条指令可以完成多个操作,需要更多的时钟周期来执行,降低了处理器的性能;- 程序中存在大量复杂的指令,使得编译器难以优化代码,降低了程序的执行效率。
2. RISC(精简指令集计算)为了解决CISC指令系统中存在的问题,研究人员提出了RISC指令系统设计方法。
RISC的主要特点是指令长度固定,一条指令只完成一个基本操作。
这使得硬件设计变得简单,提高了处理器的运行速度和性能。
RISC指令系统中的指令主要包括数据操作、逻辑操作和控制转移等基本操作。
与CISC相比,RISC具有以下优点:- 指令长度固定,简化了硬件设计,提高了处理器的运行速度;- 一条指令只完成一个基本操作,减少了时钟周期的数量,提高了处理器的性能;- 程序中的基本操作较为简单,便于编译器优化代码,提高了程序的执行效率。
然而,RISC指令系统的局限性在于其编程灵活性较低,程序员需要使用较多的指令来完成复杂的任务。
计算机系统结构第2章
计算机系统结构第2章第⼆章指令系统第⼀节指令系统设计概述⼀、指令系统概述1、指令系统的设计、应⽤及实现(1)指令系统的设计*机器指令:计算机硬件实现的运算或操作的命令;第i 种格式:OP i A 1A 2编码⽰例:00110 000~111 000~111功能⽰例:A 1←(A 1)+(A 2)第j 种格式:OP j A 编码⽰例:10110 000~111功能⽰例:A←(A)+1*指令系统设计:定义所有机器指令的格式(含编码)。
*指令系统:所有机器指令的集合;第1种:第2种:…第n 种:OP 1A 1A 2OP 2A OP n A 1A 2…(2)指令系统的应⽤第i种指令应⽤⽰例a:00110 000 001 功能AH←(AH)+(AL)⽰例b:00110 011 000 功能BL←(BL)+(AH)应⽤程序⽰例:从主存地址为2000H开始的100个元素累加求和机器指令格式机器指令程序汇编程序1011wreg data 1011001001100100 CX←1001011100100000000 00100000LP:BX←2000H1011000000000000 AL←0 0000000w mod reg r/m 0000000100000111AL←AL+[BX] 01000reg 01000001 BX←BX+1 11100010 disp 11100010 11111000 LOOP LP*指令系统应⽤:按指令格式要求,根据应⽤需要、编写程序中的指令(即指令格式的实例)。
(3)指令系统的实现指令功能实现步骤—ID 对IR 的OP 译码,⽤输出信号控制某⼀部件⼯作;ID 对IR 的A 译码,⽤输出信号控制相关REG 的读/写;信号有效时间由时序部件及该指令功能实现步骤决定。
指令操作或运算—部件功能实现及数据传递等的组合。
*指令系统实现:按指令格式要求,⽤硬件实现指令功能。
*设计/应⽤实现三者关系:类似C 语⾔设计、⽤C 语⾔编程、C 语⾔编译及执⾏平台!☆指令系统的实质—软件与硬件之间的界⾯(“约定”)!指令译码器ID I OP A 内部总线CPU ID D 功能部件1功能部件n …寄存器1寄存器m…指令寄存器IR :……存储总线MAR/MDR2、指令系统涉及内容(1)指令格式包含信息分析第i种指令格式:OP i A1A2②数据:(A1)=OP i⽀持类型的地址为A1的数据①操作:A1←(A1) OP i(A2) 或A 2←(A2) OP i(A1)硬件⽀持的数据类型(含数据长度)可存放数据部件类型、部件的编址⽅式部件中同⼀数据地址的表⽰⽅式(2)涉及内容*指令集结构:指令集总体框架,如存放部件、寄存器数量;*指令集功能:⽀持操作的类型;*数据表⽰:操作⽀持的数据类型、数据存储格式等。
CISC
编辑词条CISCCISC的英文全称为“Complex Instruction Set Computer”,即“复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式。
早期的桌面软件是按CISC 设计的,并一直沿续到现在。
目前,桌面计算机流行的x86体系结构即使用CISC。
微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD,还有其他一些现在已经更名的厂商,如TI(德州仪器)、Cyrix以及VIA(威盛)等。
在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。
顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。
CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用。
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。
它们的区别在于不同的CPU设计理念和方法。
早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。
比如对于乘法运算,在CISC架构的CPU上,您可能需要这样一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中。
将ADDRA, ADDRB 中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。
这种架构会增加CPU结构的复杂性和对CPU工艺的要求,但对于编译器的开发十分有利。
比如上面的例子,C程序中的a*=b就可以直接编译为一条乘法指令。
今天只有Intel及其兼容CPU还在使用CISC架构。
RISC架构要求软件来指定各个操作步骤。
上面的例子如果要在RISC架构上实现,将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作都必须由软件来实现,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。
计算机系统结构作业答案
计算机系统结构计算机系统结构作业1第1章计算机系统结构的基本概念一、解释下列术语:计算机系统结构;计算机组成;计算机实现;透明性;系列机;软件兼容;兼容机;模拟;仿真;虚拟机;宿主机;Amdahl定律;CPI;MIPS;MFLOPS。
【答案】计算机系统结构、计算机组成和计算机实现是三个不同的概念。
系统结构定义为由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性,这里的程序设计者所看到的计算机属性是指为机器语言或编译程序设计者所看到的计算机属性,是硬件子系统的概念性结构及其功能特性,它是计算机系统的软、硬件的界面。
计算机组成是计算机系统结构的逻辑实现,包括机器内部的数据流和控制流的组成以及逻辑设计等。
计算机实现是指计算机组成的物理实现。
透明性:在计算机技术中,一种本来是存在的事物或属性,但从某种角度看似乎不存在,成为透明性现象。
所谓系列机是指在一个厂家内生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。
不同公司厂家生产的具有相同系统结构的计算机称为兼容机。
软件兼容:在新的计算机系统出台后,原先已开发的软件仍能继续在升档换代的新型号机器上使用,这就是软件兼容。
系列机方法能够在具有相同系统结构的各种机器之间实现软件移植,为了实现软件在不同系统结构的机器之间的相互移植,可以采用模拟和仿真。
模拟方法是指用软件方法在一台现有的计算机上实现另一台计算机的指令系统。
仿真是指用微程序直接解释另一种机器指令系统的方法。
虚拟机是被模拟的机器;宿主机是进行模拟的机器。
Amdahl 定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。
Fe=(改进前可改进部分占用的时间)/(改进前整个任务的执行时间) Se=(改进前可改进部分的执行时间)/(改进后改进部分的执行时间) 则,改进后整个系统加速比为ee e n S F F s /)1(1+-=。
体系结构试题及答案
一.名词解释计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。
堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。
累加器型机器:CPU 中存储操作数的单元是累加器的机器。
通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。
数据相关:考虑两条指令i和j,i在j的前面,如果下述条件之一成立,则称指令j与指令i数据相关:(1)指令j使用指令i产生的结果;(2)指令j与指令k数据相关,而指令k又与指令i数据相关。
定向:用来解决写后读冲突的。
在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。
如果能够将该计算结果从其产生的地方直接送到其它指令需要它的地方,那么就可以避免停顿。
向量处理机:指令级并行:简称ILP。
是指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。
指令的动态调度:是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。
是由硬件在程序实际运行时实施的。
指令的静态调度:是指依靠编译器对代码进行静态调度,以减少相关和冲突。
它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。
失效率:CPU访存时,在一级存储器中找不到所需信息的概率。
失效开销:CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。
强制性失效:当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。
容量失效:如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。
计算机系统结构课后答案chap2-answer
第二章计算机指令集结构设计2.1 名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。
2.累加型机器——CPU中存储操作数的单元是累加器的机器。
3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。
4.CISC——复杂指令集计算机。
5.RISC——精简指令集计算机。
2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点?2.3常见的三种通用寄存器型机器的优缺点各有哪些?2.4 指令集结构设计所涉及的内容有哪些?(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
(5)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
2.5 简述CISC计算机结构指令集功能设计的主要目标。
从当前的计算机技术观点来看,CISC结构有什么缺点?CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
复杂指令和精简指令
复杂指令(CISC)系统和精简指令(RISC)系统复杂指令(CISC)系统复杂指令系统计算机(ComplexInstructionSetComputer)简称(CISC),微处理器是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。
指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。
这些指令被称为微理器的微代码(microcode),不同制造商的微处理器有不同的微代码系统,制造商可按自己的意愿使微代码做得简单或复杂。
指令系统越丰富,微处理器编程就越简单,然而,执行速度也相应越慢。
概述复杂指令集计算机(CISC),长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能,傲处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(ComplexInstructionSetComputer-CISC)结构.一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条.传统计算机大多数为复杂指令系统计算机CISC(ComplexInstructionSetComputer),机器结构以存储器为中心,认为机器执行速度和程序代码大小成比例,绝大多数指令需要多个时钟周期执行完毕。
计算机指令系统十分庞大和复杂(指令条数多,寻址方式多,指令格式也很多),如1973年的IBM370/168基本指令208条,寻址方式4种,指令格式2~6个字节。
1978年的VAXII/780基本指令304条,24种寻址方式,指令格式2~57个字节,其中微代码存储器大小约480KB。
汇编语言程序设计习题答案
第一章微型计算机系统概述1.3习题与综合练习1.解释和区别下列名词术语(1)微处理器(MP):具有中央处理器功能的大规模集成电路器件微型计算机(MC)微型计算机系统(MCS)(2)硬件:硬件是计算机系统的躯体,由控制器,运算器,存储器,输入设备,输出设备5大部分组成。
软件:软件是计算机的头脑和灵魂,可分为系统软件和应用软件。
(3)字节:8位二进制是一个字节。
字:16位二进制构成一个字。
字长:计算机的运算部件能同时处理的二进制数据的位数。
(4)指令指针:存放BIU要取的下一条指令的偏移地址。
指令寄存器:指令译码器:状态寄存器:(5)存储单元:存储内容:存储地址:存储容量:(6)RAM:ROM:软件固化:2.冯·诺依曼计算机结构的特点是什么?(1)采用二进制数的形式表示数据和指令。
(2)将指令和数据存放在存储器中。
(3) 计算机硬件由控制器,运算器,存储器,输入设备和输出设备5大部分组成。
3.件数计算机系统中复杂指令集和精简指令集的特点和用途。
复杂指令集(CISC):在微型计算机的体系结构组成结构上是以复杂指令为设计的计算机,在指令的运行过程中按指令的复杂程度来指挥计算机完成各条指令,由于各条指令复杂程度不同分配的时钟周期各不相同,执行指令所需时间就不相同。
CISC体系的指令集由微程序来实现,即每一个操作由若干微操作的程序组合来实现。
所以CISC可以使用微指令编程的方式实现多种和功能复杂的指令。
精简指令系统(RISC):不管计算机的指令如何复杂,在一个计算机时钟周期内完成,计算速度快,指令集简单。
每一条指令直接有硬布线实现,即它的每条指令原则上有自己的一套逻辑时序电路直接实现,所以单条指令的实现所占用的硬件资源较多。
因为该体系没有能采用增加单条指令的功能或高位的指令语义,也没有增加指令的条数,而是集中于它的精简指令集上。
4.CPU是计算机系统中的重要部件,试说明CPU的结构和功能。
微处理器是计算机中最关键的部件,由控制器,运算器,寄存器组和辅助部件组成。
W354-计算机组成-计算机组成原理—习题解答(第二章)
计算机组成与设计第二章习题解❒2.4一般来说,CISC比RISC的指令复杂,因此可以用较少的指令完成相同的任务。
然而,由于指令的复杂,一条CISC指令需要花费比RISC更多的时间来完成。
假设一个任务需要P条CISC指令或者2P条RISC指令,完成每条CISC指令花费8Tns,每条RISC指令花费2Tns。
在此假设下,哪一种指令系统性能更好?❒题解:P×8 > 2P×2RISC性能更好❒2.5 ASCII码是7位,如果设计主存单元字长为31位,指令字长为12位,是否合理?为什么?❒题解此设计方案不合理。
其原因是:①ASCII码是7位,通常加一位校验位为8位,以字节为单位进行处理比较方便。
故主存应设计成按字节编址,这种编址方式下一般主存单元字长应取字节长度的2、4、8倍。
若按8位标准字节设计,主存字长取32位比较合适,取31位显然不合理。
②一般指令字长应与机器字长或字节长度间有整数倍关系,若主存设计成按字节编址方式,则指令字长取单字节、双字节等较合适,取12位显然不合理。
❒2.6 在某些计算机中,子程序调用是以下述方法实现的:转子指令将返回地址(即主程序中该指令的下一条指令地址)存入子程序的第一单元,然后转到第二个单元开始执行子程序。
(1)设计一条相应的从子程序返回主程序的指令;(2)在这种情况下,你怎样在主、子程序间进行参数的传递?(3)上述调用方法是否可用于子程序嵌套?(4)上述调用方法是否可用于子程序多重嵌套时的递归调用(即某个子程序调用它本身)?如果改用堆栈链接方法,是否可实现此问题?❒题解:(1)返回指令是一地址指令,其格式如下:这是一条间接寻址的无条件转移指令。
其中,I为间接寻址标志,K为子程序在主存第一单元的地址。
(2)在这种情况下,可利用寄存器或主存单元进行主、子程序之间的参数传递。
(3)可以用于子程序的嵌套(多重转子程序),因为每个返回地址都存放在被调用的子程序的第一个单元中。
RISC、CISC冯·诺依曼结构和哈佛结构
1、关于RISC与CISC与哈佛结构冯诺依曼结构区别关于这个问题,有人说51地址线复用,就是冯诺依曼结构。
很多入门的书上基本上都说:由运算器、控制器、存储器、输入设备、输出设备组成的系统都叫冯氏结构。
也有的说:“程序存储器的数据线地址线”与“数据存储器的数据线地址线”共用的话,就是冯氏结构,所以51是该结构。
(我认为说得太绝对了)我认为冯氏结构与哈佛结构的区别应该在存储器的空间分别上,哈佛结构的数据区和代码区是分开的,它们即使地址相同,但空间也是不同的,主要表现在数据不能够当作代码来运行。
(比如51---注)地址线复用,就将它认为成冯氏结构,我认为这样不足取,应该是按照空间是否完全重合来辨别。
比如PC机的代空间和数据空间是同一空间,所以是冯氏结构;51由于IO口不够,但代码空间和数据空间是分开的,所以还是哈佛构.(此种观点才是正确的--注)另外,还有的把CISC RISC 和地址是否复用与是哪种结构这3这都混到一起。
我认为这三者都没有必然的关系。
只不过RISC因为精简了指令集,没有了执行复杂功能的指令,为了提高性能,常采用哈佛结构,并且不复用地址线。
(这种说法不具体,有待补充---注)材料二:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。
程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC 16芯片的程序指令是14位宽度,而数据是8位宽度。
目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Micro chip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
CISC(复杂指令集)与RISC(精简指令集)的区别
CISC(复杂指令集)与RISC(精简指令集)的区别复杂指令集计算机(CISC)长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLS I(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(R OM)中的微程序来实现其极强的功能,傲处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Comple x Instru ction Set Comput er-CISC)结构.一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条.精简指令集计算机(RISC)采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法:IBM公司没在纽约Yo rktow n的Jho masI .W ason研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能.1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把C I SC的全部硬件做在一个芯片上,这也妨碍单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(R educe d Instru ction Set Computer-RISC)结构.简称RISC.CISC与R I SC的区别我们经常谈论有关"PC"与"Macint osh"的话题,但是又有多少人知道以I n tel公司X86为核心的PC系列正是基于CISC体系结构,而 Apple公司的Mac intos h则是基于R ISC体系结构,CISC与R I SC到底有何区别?从硬件角度来看CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。
8位CPU的设计
8位CPU的设计一、设计的任务与要求计算机的核心部件CPU通常包含运算器和控制器两大部分。
组成CPU的基本部件有运算部件,寄存器组,微命令产生部件和时序系统等。
这些部件通过CPU内部的总线连接起来,实现它们之间的信息交换。
1.设计目的(1).深入理解基本模型计算机的功能、组成知识;(2).深入学习计算机各类典型指令的执行流程;(3).学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。
(4).在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。
(5).定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。
掌握微程序的设计方法,学会编写二进制微指令代码表。
(6).通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。
2.设计原理在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。
实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
11该CPU 主要由算术逻辑单元ALU,数据暂存寄存器DR1、DR2,数据寄存器R0~R2,程序计数器PC,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器IR,微控制器uC,输入单元INPUT 和输出单元OUTPUT 所组成。
图中虚线框内部分包括运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以在单片FPGA 中实现。
虚线框外部分主要是输入/输出装置,包括键盘、数码管、LCD 显示器等,用于向CPU 输入数据,或CPU 向外输出数据,以及观察CPU 内部工作情况及运算结果。
二、单元电路设计1、运算部件运算部件的任务是对操作数进行加工处理。
主要由三部分组成:(1) 输入逻辑。
经典指令集和复杂指令集
经典指令集和复杂指令集经典指令集和复杂指令集(CISC)是计算机体系结构中的两种不同设计理念。
经典指令集采用了简单、基本的指令,每条指令执行的操作相对简单,但需要多条指令来完成一个复杂的操作。
而复杂指令集则引入了更多复杂的指令,每条指令可以执行更多的操作,从而减少了程序的长度和执行时间。
下面将分别介绍经典指令集和复杂指令集的特点和应用。
一、经典指令集(Classic Instruction Set)1. 加法指令(ADD):将两个数相加,并将结果存储在指定的目标寄存器中。
2. 减法指令(SUB):将第二个数从第一个数中减去,并将结果存储在指定的目标寄存器中。
3. 乘法指令(MUL):将两个数相乘,并将结果存储在指定的目标寄存器中。
4. 除法指令(DIV):将第一个数除以第二个数,并将结果存储在指定的目标寄存器中。
5. 跳转指令(JMP):根据条件跳转到指定的地址,用于实现程序的控制流程。
6. 存储指令(ST):将指定的数据存储到指定的内存地址中。
7. 加载指令(LD):将指定的数据从指定的内存地址中加载到指定的寄存器中。
8. 逻辑指令(AND、OR、XOR):进行逻辑运算,并将结果存储在指定的目标寄存器中。
9. 移位指令(SHL、SHR):将指定的数据进行位移操作,并将结果存储在指定的目标寄存器中。
10. 比较指令(CMP):将两个数进行比较,并根据比较结果设置标志位。
经典指令集的特点是指令简单,执行速度相对较快。
由于每条指令只能完成一个简单的操作,因此需要多条指令来完成复杂的任务。
经典指令集常用于低功耗设备、嵌入式系统等对性能要求不高的场景。
二、复杂指令集(Complex Instruction Set Computing,CISC)1. 浮点运算指令(FADD、FSUB、FMUL、FDIV):用于执行浮点数的加减乘除运算。
2. 字符串操作指令(MOVS、LODS、CMPS、SCAS、STOS):用于对字符串进行复制、比较、搜索等操作。
计算机体系结构RISC与CISC架构的比较
计算机体系结构RISC与CISC架构的比较计算机体系结构是指计算机中硬件和软件之间的组织方式以及它们之间的交互关系。
在计算机体系结构中,RISC(精简指令集计算机)和CISC(复杂指令集计算机)是两种主要的架构方式。
本文将对RISC和CISC架构进行比较,以探讨它们的优劣势以及应用领域。
1. 架构原理RISC架构采用简单而精简的指令集,指令长度一般为固定的32位,指令的执行时间也相对较短。
RISC架构鼓励使用寄存器进行数据操作,减少了对内存的频繁访问。
指令的执行速度快,功耗较低。
CISC架构则采用更复杂且功能更为全面的指令集,指令的长度和执行时间相对较长。
CISC架构支持多种寻址方式,可以直接对内存进行操作,因此指令的灵活性更强。
2. 指令集与指令执行RISC架构的指令集简单且规模较小,每个指令只能完成特定的功能,执行速度快。
RISC架构的指令执行耗时短,能够高效地进行流水线处理,提高了处理器的性能。
CISC架构的指令集较为复杂,包含大量功能丰富的指令。
每条指令能够完成多个操作,但执行速度相对较慢,消耗较多的处理器资源。
CISC架构的指令执行时间不稳定,难以实现高性能的流水线处理。
3. 硬件复杂度和成本RISC架构的硬件设计相对简单,指令集规模较小,对硬件的要求相对较低,因此硬件复杂度相对较低,成本也较低。
RISC架构的处理器可在较小的芯片上实现高性能。
CISC架构的硬件设计相对复杂,指令集规模较大,对硬件的要求较高,因此硬件复杂度相对较高,成本也较高。
CISC架构的处理器需要更大的芯片面积来容纳更多的电路和复杂的指令集。
4. 程序执行效率和编译器优化RISC架构的指令集简洁,指令执行时间相对较短,能够通过流水线等技术实现高效的指令并行执行,提高程序的执行效率。
而且,RISC架构的指令集易于编译器进行优化。
CISC架构的指令集复杂,指令执行时间相对较长,难以充分利用指令并行执行的优势,影响了程序的执行效率。
cisc risc 例子
cisc risc 例子
CISC(Complex Instruction Set Computer)与RISC(Reduced Instruction Set Computer)是计算机架构的两大主要类型。
CISC架构处理器的设计目标是支持多种复杂指令,而RISC
架构处理器则专注于简化指令集并提高执行效率。
以下是
CISC和RISC架构的一些例子:
1. CISC架构的例子:
- Intel x86系列处理器:如Intel Core i7、Intel Pentium等。
这些处理器支持广泛的指令集,包括复杂的指令(如乘法、除法等),以及多种寻址模式(如直接寻址、间接寻址等)。
- Motorola 68k系列处理器:这些处理器也支持多种复杂指令,包括位操作、浮点运算等。
2. RISC架构的例子:
- ARM处理器:如ARM Cortex-A系列、ARM Cortex-M系
列等。
ARM处理器采用精简指令集,并且注重指令执行效率,以实现更高的性能和更低的功耗。
- MIPS处理器:如MIPS32、MIPS64等。
MIPS处理器的特
点是指令集简洁,执行速度快,被广泛应用于嵌入式系统和网络设备。
CISC和RISC架构各有优势和应用场景,取决于具体的应用
需求。
CISC架构适用于需要处理复杂指令和大量数据的任务,如桌面计算机和服务器。
而RISC架构适用于对执行效率和功
耗有较高要求的任务,如移动设备、物联网设备等。
计算机原理体系与结构 考试选择填空
一、选择题1、完整的计算机系统应包括(D)A、运算器、存储器、控制器B、外部设备和主机C、主机和实用程序D、配套的硬件设备和软件系统2、计算机系统中的存储器系统是指(D )A、RAM存储器B、ROM存储器C、主存储器D、主存储器和外存储器3、冯·诺依曼机工作方式的基本特点是(B)A、多指令流单数据流B、按地址访问并顺序执行指令C、堆栈操作D、存储器按内部选择地址4、办公自动化(OA)是目前广泛开展的一项计算机应用,按分类,它应属于(C)A、实时控制B、科学计算C、数据处理D、计算机辅助设计5、邮局把信件进行自动分拣,使用的计算机技术是(C )A、机器翻译B、自然语言理解C、模式识别D、机器证明6、计算机硬件能直接执行的只有(B)A、符号语言B、机器语言C、机器语言和汇编语言D、汇编语言8、在机器数中,(B)的零的表示形式是唯一的。
A、原码B、补码C、反码D、原码和反码9、一个8位二进制整数,采用补码表示,且由3个“1”和5个“0”组成,则最小值为(C)A、-127B、-32C、-125D、-312、假设下列字符码中有奇偶校验位,但没有数据错误,采用偶校验的字符码是DA、11001011B、11010110C、11000001D、1100100113、长度相同但格式不同的2种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,其他规定都相同,则它们可表示的数的范围和精度为(B )A、两者可表示的数的范围和精度相同B、前者可表示的数的范围大但精度低C、后者可表示的数的范围大且精度高D、前者可表示的数的范围大且精度高14、某数在计算机中用8421BCD码表示为0111 1000 1001,其真值为(A )A、789B、789HC、1929D、11110001001B15、在浮点数补码运算时,判断结果为规格化的条件是(C )A、阶符与数符相同B、阶符与数符相异C、数符与尾数小数点后的第一位数字相异D、数符与尾数小数点后的第一位数字相同16、运算器虽有许多部件组成,但核心部分是(B)A、数据总线B、算术逻辑运算单元C、多路开关D、通用寄存器17、在定点运算器中,溢出判断电路一般用(C )来实现A、与非门B、或非门C、异或门D、与或非门18、在定点数运算中产生溢出的原因是(C )A、运算过程中最高位产生了进位或借位B、参加运算的操作数超出了机器的表示范围C、运算的结果的操作数超出了机器的表示范围D、寄存器的位数太少,不得不舍弃最低有效位19、存储器是计算机系统中的记忆设备,它主要用来(C)A、存放数据B、存放程序C、存放数据和程序D、存放微程序20、存储单元是指(B )A、存放一个二进制信息位的存储元B、存放一个机器字的所有存储元的集合C、存放一个字节的所有存储元的集合D、存放两个字节的所有存储元的集合21、计算机的存储器采用分级存储体系的主要目的是(D)A、便于读写数据B、减小机箱的体积C、便于系统升级D、解决存储容量、价格和存取速度之间的矛盾22、某计算机字长为16位,它的存储容量为64KB,若按字编址,那么它的寻址范围是(B )A、64KB、32KC、64KBD、32KB23、某SRAM芯片,其容量为512×8位,包括电源端和接地端,该芯片引出线的最小数目为(D )A、23B、25C、50D、1924、某SRAM芯片,其存储容量为64K×16位,该芯片的地址线和数据线数目为(D )A、64,16B、16,64C、64,8D、16,1625、主存储器和CPU之间增加Cache的目的是(A)A、解决CPU和主存之间的速度匹配问题B、扩大主存储器的容量C、扩大CPU中通用寄存器的数量D、既扩大主存容量又扩大CPU中通用寄存器的数量26、采用虚拟存储器的主要目的是(B)A、提高主存储器的存取速度B、扩大主存储器的存储空间并能进行自动管理和调度C、提高外存储器的存取速度D、扩大外存储器的存储空间29、在下列Cache替换算法中,速度最快的是(C )A、最不经常使用(LFU)算法B、近期最少使用(LRU)算法C、随机替换D、先进先出(FIFO)算法30、在cache的地址映射中,若主存中的任意一块均可映射到cache内的任意一块的位置上,则这种方法称为(A )A、全相联映射B、直接映射C、组相联映射D、混合映射31、指令系统中采用不同的寻址方式的目的主要是(B)A、实现存储程序和程序控制B、缩短指令长度,扩大寻址空间,提高编程灵活性C、可以直接访问外存D、提供扩展操作码的可能并降低指令译码难度32、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常采用(C)A、堆栈寻址方式B、立即寻址方式C、隐含寻址方式D、间接寻址方式33、寄存器间接寻址方式中,操作数处在(B )A、通用寄存器B、主存单元C、程序计数器D、堆栈34、变址寻址方式中,操作数的有效地址等于(C )A、基址寄存器内容加上形式地址B、堆栈指示器内容加上形式地址C、变址寄存器内容加上形式地址D、程序计数器内容加上形式地址35、堆栈寻址方式中,设A为累加器,SP为堆栈指示器,MSP为SP指示的栈顶单元,如果进栈操作的动作是:(A)∀ MSP,(SP)-1∀ SP,那么出栈操作的动作应为(B)A、(MSP)∀ A,(SP)+1 ∀ SPB、(SP)+1 ∀ SP,(MSP)∀ AC、(SP)-1∀ SP,(MSP)∀ AD、(MSP)∀ A,(SP)-1∀ SP37、下列几项中,不符合RISC指令系统的特点是(B)A、指令长度固定,指令种类少B、寻址方式种类尽量减少,指令功能尽可能强C、增加寄存器的数目,以尽量减少访存次数D、选取使用频率最高的一些简单指令,以及很有用但不复杂的指令38、中央处理器是指(C )A、运算器B、控制器C、运算器和控制器D、运算器、控制器和主存储器39、在CPU中跟踪指令后继地址的寄存器是(C )A、主存地址寄存器B、指令寄存器C、程序计数器D、状态条件寄存器40、操作控制器的功能是(D)A、产生时序信号B、从主存取出一条指令C、完成指令操作码译码D、从主存取出一条指令,完成指令操作码译码,产生有关的操作控制信号41、由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此机器周期通常用(A)来规定A、主存中读取一个指令字的最短时间B、主存中读取一个数据字的最长时间C、主存中写入一个数据字的平均时间D、主存中读取一个数据字的平均时间42、同步控制是(C)A、只适用于CPU控制的方式B、只适用于外围设备控制的方式C、由统一时序信号控制的方式D、所有指令执行时间都相同的方式44、下列部件中不属于控制器的部件是(D )A、指令寄存器B、操作控制器C、程序计数器D、状态条件寄存器46、计算机操作的最小时间单位是(A )A、时钟周期B、指令周期C、CPU周期D、微指令周期48、计算机使用总线结构的主要优点是便于实现积木化,同时(C )A、减少了信息传输量B、提高了信息传输的速度C、减少了信息传输线的条数D、提高了信息传输的效率49、在三种集中式总线控制中,(C)方式响应时间最快A、链式查询B、计数器定时查询C、独立请求D、无法比较50、数据总线的宽度由总线的(B)定义A、物理特性B、功能特性C、电气特性D、时间特性51、下列陈述中不正确的是(C )A、在双总线系统中,访存操作和输入/输出操作各有不同的指令B、系统吞吐量主要取决于主存的存取周期C、总线的功能特性定义每一根线上信号的传递方向和有效电平范围D、早期的总线结构以CPU为核心,而当代的总线系统由总线控制器完成多个总线请求者之间的协调与仲裁52、下列各项中,(B )是同步传输的特点A、需要应答信号B、各部件的存取时间比较接近C、总线长度较长D、总线周期长度可变53、计算机系统的输入输出接口是(B )之间的交接界面A、CPU与存储器B、主机与外围设备C、存储器与外围设备D、CPU与系统总线54、计算机的外围设备是指(D)A、输入/输出设备B、外存设备C、远程通信设备D、除了CPU和内存以外的其他设备55、活动头磁盘存储器的平均存取时间是指(C)A、最大找道时间加上最小找道时间B、平均找道时间C、平均找道时间加上平均等待时间D、平均等待时间59、当采用以下方式输入操作时,CPU存在踏步等待现象的是(A )A、程序查询方式B、中断方式C、DMA方式D、通道方式60、在采用DMA方式高速传输数据时,数据传送是(B)A、在总线控制器发出的控制信号控制下完成的B、在DMA控制器本身发出的控制信号控制下完成的C、由CPU执行的程序完成的D、由CPU响应硬中断处理完成的62、周期挪用方式常用于(A)方式的输入/输出中A、DMAB、中断C、程序传送D、通道二、填空题1、在冯·诺依曼机中,将计算机硬件分为(运算器)、控制器、(存储器)、输入设备和输出设备等五个组成部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8位CISC计算机设计班级:09电子信息工程C班学号:091524****姓名:***日期:2012年4月26日一.实验目的1.深入理解基本模型计算机的功能、组成知识; 2.深入学习计算机各类典型指令的执行流程;3.学习微程序控制器的设计过程和相关技术,掌握LPM_RO M的配置方法。
4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。
5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。
掌握微程序的设计方法,学会编写二进制微指令代码表。
6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。
二.实验原理1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。
实验中,计算机数据通路的控制将由微过程控制器来完成,C PU 从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
2.指令格式 (1)指令格式采用寄存器直接寻址方式,其格式如下:其中,OP-CODE 为操作码,r s为源寄存器,rd 为目的寄存器,并规定:其中IN 为单字长(8位二进制),其余为双字长指令,XX H 为addr 对应的十六进制地址码。
为了向R AM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
8位CISC 计算机设计1,存储器读操作(KRD):下载实验程序后按总清除按键(CLR)后,控制台S WA 、SWB 为“0 0”时,可对RAM 连续手动读入操作。
2,存储器写操作(KWE):下载实验程序后按总清除按键(CLR )后,控制台SW A 、SWB 为“0 1”时,可对R AM 连续手动写操作。
3、启动程序(RP):下载实验程序后按总清除按键(C LR)后,控制台SWA 、S WB 为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。
根据以上要求设计数据通路框图,如图5-1所示。
表6-1 24位微代码定义:24 23 2221 2 14 1312 11 10987 654321S3 S2 S1S0M Cn WEA9 A8ABCuA5u A4uA 3uA2uA 1uA 0表6-2 A 、B 、C各字段功能说明:A 字段B 字段 C字段15 14 13 选择 1211 10 选择 9 8 7 选择 0 0 0 0 0 00 0 0 0 0 1 LDRi 0 01 RS-B 0 0 1 P(1) 0 1 0 L DDR1 0 1 0 0 1 0 0 1 1 LDD R2 0 1 1 0 1 11 0 0 L DIR 1 0 01 0 0 P(4) 1 0 1 LOA D 1 01 ALU-B 1 0 1 LD AR 1 1 0 LDAR110 P C-B1 1 0 LDPC24位微代码中各信号的功能(1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。
(2) S 3、S2、Sl、S0:由微程序控制器输出的ALU 操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。
(3) M :微程序控制输出的ALU 操作方式选择信号端。
M=0执行算术操作;M=l 执行逻辑操作。
(4) Cn :微程序控制器输出的进位标志信号,C n=0表示A LU 运算时最低位有进位,Cn=1则表示无进位。
(5)WE :微程序控制器输出的RAM 控制信号。
当/C E=0时,如WE=0为存储器读;如WE =1为存储器写。
(6) A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B 、RAM 、LE D的选通控制信号。
(7) A 字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。
(8) B字段(12、11、10)——译码后产生与总线相连接的各单元的输出选通信号。
(9) C 字段(9、8、7) ——译码后产生分支判断测试信号P (1)~P(4)和LD PC信号。
系统涉及到的微程序流程见图6-2。
当执行“取指令”微指令时,该微指令的判断测试字段为P (1)测试。
由于“取指令”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支(见图6-2左图)。
用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。
控制台操作为P(4)测试(见图6-2右图),它以控制台信号SW B、S WA 作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控制存储器的一个微地址单元,随意填SWB SWA 控制台指令0 0 1 0 1 1 读内存(KRD)写内存(K WE )启动程序(RP )图6-1 数据通路框图写。
注意:微程序流程图上的微地址为8进制!当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。
表6-2二进制微代码表微地址微指令S3S2S1S0MC N WA B C UA5—UA0EA9A8000100ED82 000010 00C0300E000 0001000400 B 00 000101 01A1000 000110919A1 1 00010700E00D 1 110 11 11100E D83 0000111200ED87 0001111300E D8E 0011101400ED96 1 1 1 100 11600E00F 11 1 1 11700 A 0 01010 12001E D92 111102101ED94 1 11002200A00 01000023 1241101000 125070A000000 12600D181 1 1 00 1 指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令划分为操作码和地址码段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试“P(1)”,通过节拍脉冲T4的控制,以便识别所要求的操作。
指令译码器:根据指令中的操作码强置微控制器单元的微地址,使下一条微指令指向相应的微程序首地址。
图6-3 模型计算机电路原理图说明:1、指令IN为单字节指令,指令码:00,其功能是将输入口IN的数据送到寄存器R0;2、指令ADD [0AH]为双字节指令,指令码:100A,其功能是将R0中的数据加上RAM地址0AH中的数据(34H);3、指令STA [0BH]为双字节指令,指令码:200B,其功能是将R0中的数据送到RAM的0BH地址单元中;4、指令OUT[0BH]为双字节指令,指令码:300B,其功能是将RAM的0BH地址单元中的数据送到OUT输出口上;5、指令JMP[12H] 为双字节指令,指令码:4012,其功能是将其操作码下一地址单元(08H)的数据作为转跳地址。
三.CPU顶层文件CPU组成部件:时钟发生器;指令寄存器IR;算术逻辑运算单元ALU;数据寄存器;状态控制器;程序计数器PC;地址寄存器AR;微控制器;微指令译码器;微地址寄存器;微程序存储器ROM;地址寄存器RA M;三态门四.测试波形CPU部分波形仿真程序执行过程如下:STEP(1):M输入微指令018110,控制台执行P(4),进行“读/写/运行”功能判断STEP(2):检测到SWA、SWB=11后,进入程序运行RP(11)方式。
STEP(3):进入程序运行的流程,执行微地址为23的微指令018001(十六进制),选通LDAR,PC_B,LDPC,后续微地址uA 为01(八进制)。
STEP(4):执行微地址为01的M微指令01ED82,执行的操作为PC→AR=00H,PC+1=01H→PC,AR指向RAM存储器地址00H,后续微地址uA为02。
STEP(5):执行微地址为02的M微指令00C048,选通RAM,LDIR,P(1),执行取指令操作,将RAM中的指令00通过内部总线Bus,送指令寄存器IR:RAM(00H)=00→BUS→IR=00H。
执行IN指令,目的寄存器为R0。
STEP(6):执行微地址为10的M微指令001001,执行的操作SW_B打开,允许输入装置键盘SW的数据送往数据总线BUS;LDRi打开,允许向寄存器写数据,而指令编码为00,其中目标寄存器rd=00指向R0,因此输入数据56H送入寄存器R0,执行结果R0=56H。
后续微地址uA为01。
STEP(7):同(4),执行01ED82,取指令操作:PC→AR=01H,PC+1=02H,AR指向RAM存储器地址01H,后续微地址02。
STEP(8):执行微地址02的微指令00C048,选通RAM,LDIR,P(1),取指令,经分支判断P(1),读出地址为01H单元的内容10H,经BUS送到指令寄存器IR:RAM(01H)=10H→BUS→IR=10H。
STEP(9):执行微地址为11的微指令01ED83,进入加法运算微程序。
选通LDAR,PC_B,LDPC,通过间接寻址获得加法运算的另一个操作数,地址寄存器AR指向取数的间接地址:PC→AR=02H,PC+1=03H,AR指向RAM的02单元。
STEP(10):执行微地址为03的微指令00E004,选通LDAR,RAM,RAM_B为高电平,Ram的(02)单元的内容通过BUS送AR,取数地址(AR)=0AH,即要从RAM的(0AH)单元取操作数:RAM(02)=0AH→BUS→AR=0AH。
STEP(11):执行微地址为04的微指令00B005,选通LDDR2,RAM,RAM_B仍然为高电平,Ram的(0AH)单元的内容34H送到BUS,此时LDDR2为高电平,BUS上的数据就送给了DR2,执行结果:RAM(0AH)=34H→BUS→DR2=34H。
STEP(12):执行微地址为05的微指令01A206,选通LDDR1,RS_B,将R0的数据送DR1。
R0_B=1,允许R0的内容56H送往BUS,此时LDDR1为高电平,BUS上的数据56H写入ALU的数据缓冲器DR1,执行结果:(R0)=56H→BUS→DR1=56H。
STEP(13):执行微地址为06的微指令919A01,选择ALU的加法功能,选通LDRi,AR,完成加法运算:(DR1)+(DR2) →R0,56H+34H=8AH→R0=8AH。
STEP(14):同(7),执行01ED82,取指令操作:PC→AR=03H,PC+1=04H,AR指向RAM存储器地址03H,后续微地址02。