第4章传统计算机硬件系统设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章传统计算机硬件系统设计

第4章 传统计算机硬件系统设计 4.1 时钟与复位 4.2 处理器设计 4.3 总线 4.4 输入/输出系统 4.5 存储器系统 4.6 计算机系统组成 4.7 简单的单片机设计 习题 4.1 时钟与复位 传统的冯·诺依曼型计算机硬件系统如图4.1所示,它由主机和输入/输出系统组成,其中主机是指处理器和主存储器。框图中的每一个框中又包含了多个部件,所有部件之间通过某些方式互连在一起,在软件的统一指挥下实现信息处理。本章在第3章所描述的计算机部件的基础之上,主要讨论处理器的设计,并从系统的角度出发,介绍如何合理有效地设计一个计算机硬件系统。 任何计算机系统都具有时钟信号和复位信号。时钟信号为系统工作提供了时序基准;复位信号确定了复位后系统的初始状态。 由于处理器内部的部件和子部件往往是以时钟信号作为启动条件的,因此,计算机内部的时钟信号必须是一个有规律的脉冲信号。时钟信号通常又被称为节拍脉冲,它的周期称作时钟周期或 T 周期,是处理器处理操作的最基本单位;若干个时钟周期组成一个机器周期,也称作处理器周期,它是指处理器从主存读取一个指令字所花费的时间;读取并执行一条指令所花费的时间称作指令周期,指令周期一般由若干个处理器周期组成。 时钟信号由独立于处理器的时钟发生器电路产生。设计时钟发生器电路时该电路产生的信号频率必须符合处理器工作频率的要求。时钟发生器的具体设计根据系统要求的工作频率不同而不尽相同。 时序电路的初始状态由复位信号重新设定来设置。如英特尔80486复位时,相应处理器内部寄存器都有一个初始值。根据复位信号对时序电路复位的操作不同可分为同步复位和异步复位。采用 VHDL 语言对时钟和复位信号的具体描述在第 2 章中已有详细介绍。 4.2 处理器设计 处理器是计算机系统的核心。处理器设计,特别是处理器的指令系统,必须结合该计算机的具体应用来进行设计。本节主要从处理器的基本功能出发,讨论处理器的一般设计。 在计算机系统中,处理器必须做的事情是: ① 取指令:从存储器读取指令; ② 解释指令:对指令进行译码,确定指令所要求的动作; ③ 取数据:指令执行时,从处理器的寄存器、存储器或输入/输出中; ④ 处理数据:对数据进行算术或逻辑运算; ⑤ 写数据:把处理完的数据写入寄存器、存储器或I/O中。 4.2.1 CPU的组织结构 1. ?CPU内部结构 根据系统对CPU的要求,CPU在组织结构上主要包含了三个部分:算术和逻辑单元(ALU,Arithmetic and Logic Unit)、控制单元(CU,Control Unit)和相关的寄存器。ALU完成数据的实际运算或处理;控制器控制数据和指令在CPU中移入移出,并控制ALU的操作;寄存器是由一组存储位组成的极小的内部存储器。图4.2描述的就是CPU的内部结构。 2. ?CPU内部寄存器组 (1) 用户可见寄存器 用户可见寄存器(User-Visible Register)允许编程人员用机器语言或汇编语言的方式进行访问,这些用户可见寄存器可分为通用寄存器,数据和地址寄存器,条件 码寄存器。 ① 通用寄存器(General-Purpose Register)可被程序员指派各种用途。最常用的、速度最快的称为累加器AC。某些情况下,通用寄存器能用作寻址功能(如寄存器间址、偏移量)。 ② 数据寄存器(DR,Data Register)和地址寄存器(AR,Address Register)之间通常没有严格的区分,但地址寄存器在很多场合自身具有专用性。如:在具有分段寻址的机器中,段指针(Segment Pointer)存放着某个段的段基址;变址寄存器(Index Register)用于变址寻址,并有可能是自动变址的;堆栈指针(Stack Pointer)始终指向堆栈的栈顶。 ③ 条件码寄存器用于存放条件码(Condition Codes),它也称为标志寄存器(Flag Register)。条件位被集中存放在一个或多个寄存器中,形成了条件码。对于用户,它们至少是部分可见的。作为指令执行的结果,CPU硬件设置这些条件位。例如,进行算术运算时,除运算结果本身存于寄存器或存储器之外,相应的条件位也被设置,这就可能产生一个正、负、零或溢出的结果。这些条件代码一般被后面的指令所测试,作为转移的条件所用。 设计寄存器组时要考虑寄存

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档