欢迎来到天天文库
浏览记录
ID:50582330
大小:580.50 KB
页数:53页
时间:2020-03-12
《计算机组成原理第1章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机组成原理学时:80学时第1章计算机系统概述计算机是一种能自动、快速、准确地实现信息存储、数值计算、数据处理和过程控制等多种功能的电子机器,是一个复杂的系统。本书采用自顶向下、由表及里的方法来描述计算机系统。从系统的主要部件开始,描述它的结构和功能,然后逐级深入推进到层次结构的底层。本章首先简单介绍程序员与计算机的接口界面:计算机的语言;然后介绍如何使用RTL语言来描述数字系统;接着介绍计算机的发展演变和性能指标;最后重点讨论计算机的基本组成和工作原理,以期提供一个计算机系统的整个概貌。1.1计算机的语言计算机程序设计语言分为三类:高级语言、汇编语言和机器语言。1.1.1
2、高级语言高级语言是一种近似自然语言并能被计算机接受的语言,指那些具有最高级抽象的语言。这些语言隐藏了计算机和操作系统的细节,被称之为平台无关。C++、Java和Fortran等都是高级语言。使用高级语言描述任务最简单、直观、高效且容易理解,但需要有编译器的支持。1.1.2机器语言机器语言是微处理器能直接识别并执行的唯一一种语言,其表现形式是二进制编码。机器语言是最低级的程序设计语言,具有平台特定性,每一种微处理器都有自己的机器语言。用机器语言编写的程序不易阅读、出错率高、难以维护,也不能直观地反映使用计算机解决问题的基本思路,因此现在几乎不被程序员采用。然而,由高级语言和汇编
3、语言编写的程序可以转换成机器语言,然后再由微处理器执行。1.1.3汇编语言汇编语言是面向机器的程序设计语言,与平台相关,它能利用计算机所有硬件特性并能直接控制硬件。它实际上是机器语言的符号化,亦称为符号语言。计算机不能直接识别使用汇编语言编写的程序,需要将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,它比高级语言的编译器要简单很多。汇编语言比机器语言易于读写、调试和修改,同时具有机器语言的全部优点,即目标代码简短,占用内存少,执行速度快,能有效地访问和控制计算机的各种硬件设备。但在编写复杂程序时,相对高级语言来说代码量较大,开发效率较低。1.2寄存器传输语言1.2.
4、1微操作和寄存器传输语言寄存器传送语言RTL(RegisterTransferLanguage)是初级硬件描述语言,适用于描述寄存器级的硬件组成,能精确而简练地描述计算机的各种基本操作。微操作(micro-operation)是计算机中最基本的操作,这些操作可以简单到从一个寄存器拷贝数据到另一个寄存器中,或者更复杂,例如,把两个寄存器中的数据相加存储到第三个寄存器中。用RTL描述微操作有三种语句形式:条件:微操作条件:IF(另一个控制条件)THEN(微操作)IF(整个控制条件)THEN(微操作)例如,有两个1位寄存器X和Y的一个数字系统,在输入控制α为高时,拷贝寄存器Y的内容
5、到寄存器X中的微操作可以表示为:α:X←Y此微操作可经由直接连接实现,如图1-1(a)所示;或通过总线连接实现,如图1-1(b)所示。图1-1具有控制信号的数据传送α:X←Y的实现:(a)用直接通路(b)用总线提高系统性能的一种方法是同时执行两个或多个微操作。例如,如果某系统在α=1时执行X←Y和Y←Z的传送,则这种情况可以表示成:α:X←Y,Y←Z或者α:Y←Z,X←Y图1-2给出了实现上述微操作的硬件,注意这里不能使用单一的总线来实现。图1-2数据传送α:X←Y,Y←Z的实现数字系统中有可能需同时拷贝相同的数据到多个目的地。例如,α=1时发生下述情况:α:X←Y,Z←Y寄
6、存器Y可同时被多个寄存器读取,两个微操作可同时执行。一种实现方法如图1-3所示。图1-3实现数据传送α:X←Y,Z←Y另一方面,数字系统不能同时往同一寄存器中写入两个不同的值。例如,α:X←Y,X←Z是无效的。有时需要访问一个寄存器的单一位或位组。单一位可以用带有下标的字母表示,如X3或Y2。位组在RTL中可以用一个域表示;它们包含在圆括号中。如X3、X2和X1可以写成X(3-1)或X(3:1)。下述表示是有效的。α:X(3-1)←Y(2-0)β:X3←X2γ:X(3-0)←X(2-0),X31.2.2用RTL表示数字系统1.数字元件表示第一个例子,考虑如图1-4(a)所示的
7、D触发器。其功能可用RTL语句表示为:LD:Q←D当LD的输入为高时,便装载D输入端的值,并且输出端Q可得到此值。图1-4(b)表示的D触发器有一同步清0输入端。当CLR=1时,触发器应被置为0。图1-4D触发器:(a)无清0输入端(b)有清0输入端用RTL代码描述此触发器的一种尝试为:LD:Q←DCLR:Q←0然而当D、LD和CLR都等于1时,系统会失败。解决的方法是改变条件使得两者互斥。下述两种方法均有效,前者让CLR输入端优先,而后者让LD优先。CLR’LD:Q←DLD:Q←DCLR:Q←0LD’
此文档下载收益归作者所有