(电工理论与新技术专业论文)基于8086cpu单芯片计算机系统的设计与研究.pdf_第1页
(电工理论与新技术专业论文)基于8086cpu单芯片计算机系统的设计与研究.pdf_第2页
(电工理论与新技术专业论文)基于8086cpu单芯片计算机系统的设计与研究.pdf_第3页
(电工理论与新技术专业论文)基于8086cpu单芯片计算机系统的设计与研究.pdf_第4页
(电工理论与新技术专业论文)基于8086cpu单芯片计算机系统的设计与研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(电工理论与新技术专业论文)基于8086cpu单芯片计算机系统的设计与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

t h er e s e a r c ho nd e s i g no fc o m p u t e r - o n - a - - c h i p s y s t e mb a s e do n8 0 8 6c p u a b s t r a c t c o m p u t e r o n a c h i p ( c o c ) i n t e g r a t e si c sw h i c hd i s t r i b u t e do nt h ep e r s o n a l c o m p u t e rm a i n b o a r di n t oo n ec h i pa sm a n ya sp o s s i b l e ,f e a t u r i n gb e t t e r p e r f o r m a n c e ,l i g h t e rw e i g h t ,s m a l l e rv o l u m ea n dl o w e rp o w e rc o n s u m p t i o n t h e r e s e a r c hi nt h i sd i s s e r t a t i o ni sb a s e do nt h ep r o j e c to ft h e8 0 8 6c o m p u t e r o n a c h i p b a s e do nt h ei p s o cd e s i g nm e t h o d o l o g y ,t h i sd i s s e r t a t i o ns t u d i e st h ei n t e r f a c e a m o n gt h e8 0 8 6c p u ,o n - c h i pb u s ,i oc o n t r o l l e r sa n dm e m o r yc o n t r o l l e r s t h e n , t h ei n t e g r a t i o na n dv e r i f i c a t i o no ft h i sc o c s y s t e mi sp e r f o r m e d t h em a i nw o r k sa n da c h i e v e m e n t so ft h i sd i s s e r t a t i o na r ea sf o l l o w s : 1 2 d e v e l o p i n gt h eo n c h i pb u si nt h ec o cs y s t e mb a s e do na m b ap r o t o c o l ; d e v e l o p i n gt h ei oc o n t r o l l e r sb a s e do nt h ea m b ap r o t o c o l ,s u c ha s k e y b o a r dc o n t r o l l e r ,f l a s hc o n t r o l l e r , s dc a r dc o n t r o l l e r , i n t e r r u p t c o n t r o l l e r ,e t c ; 3 d e v e l o p i n gt h em e m o r yc o n t r o l l e rb a s e do nt h ea m b ap r o t o c o l ,s u c ha s s d r a m c o n t r o l l e r ,e t c ; 4 b u i l d i n ga l l8 0 8 6c o m p u t e r o nac h i ps i m u l a t i o np l a t f o r m c o m p l e t i n g r t l - l e v e ls i m u l a t i o no ft h i sc o c s y s t e m ; 5 t h ew h o l es y s t e mf p g a p r o t o t y p ev e r i f i c a t i o ni sp e r f o r m e do nt h ea l t e r a d e 2e v a l u a t i o nb o a r d t h er e s u l t ss h o wt h a tt h ef r e e d o sc a nr u n n o r m o r a l l yi nt h ec o cs y s t e m ; 6 t h ef r o n t - e n di cd e s i g nh a sb e e ng e n e r a t e dw i t h3 5 0n m l i b r a r yo fs m i c k e y w o r d s :c o m p u t e r - o n a c h i p ;a m b ap r o t o c o l ;8 0 8 6c p u i v 插图清单 图2 18 0 8 6c p u 结构框图7 图3 18 0 8 6c o c 系统结构1 l 图3 28 0 8 6c o c 系统外特性框图1 2 图3 3a h b 总线互连结构。1 4 图3 4a p b 总线内部结构框图1 5 图3 5a p b 总线工作状态图1 5 图3 6d r a m 存储原理示意图1 6 图3 7s d r a m 读操作控制时序图1 7 图3 8s d r a m 写操作控制时序图1 7 图3 9s d r a m 读取数据时数据掩码操作图1 8 图3 1 0s d r a m 写入数据时数据掩码操作图1 8 图3 1 1s d r a m 控制接口状态转换图1 9 图3 12s d r a m 控制器架构图2 0 图3 1 38 1 6 字符点阵2 3 图3 14v g a 系统结构2 4 图3 1 5 彩色文本方式字符属性2 6 图3 1 6s d 卡转换接口模块框图2 7 图3 1 7s d 卡软件驱动流程2 7 图3 188 0 8 6c o c 系统中断处理流程图2 8 图3 1 98 0 8 6c o c 系统中断向量表2 9 图3 2 0 中断控制器内部结构3 0 图3 2 1 主机到键盘数据传输流程图3 2 图3 2 2 主机到键盘数据传输时序图3 3 图3 2 3 键盘到主机数据发送流程图3 3 图3 2 4 键盘到主机数据发送时序图3 3 图3 2 5 键盘控制器结构3 4 图3 2 6f l a s h 控制器结构3 7 图4 1a s i c 实现流程。3 9 图4 2 功能验证定义4 l 图4 3 基于软件仿真的验证流程4 1 图4 4f p g a 验证流程4 2 图4 5 仿真测试平台4 4 图4 6 联合验证流程4 5 图4 7 键盘显示器联合验证流程图4 6 图4 8 中断控制器仿真波形4 8 图4 9s d r a m 控制器仿真波形4 8 图4 1 0v g a 控制器波形图4 8 图4 1 1s d 卡转换接口信号波形图5 0 v i i i 图4 1 28 0 8 6 c o c 系统验证平台结构框图5 0 图4 138 0 8 6c o c 系统f p g a 验证平台5 0 图4 14d e 2 开发板5l 图4 。1 5d e 2 开发板模块5 l 图4 1 68 0 8 6c o c 系统验证流程5 2 图4 17a n a l y s i s & s y n t h e s i s 结果5 3 图4 18f i t t e r 结果5 4 图4 1 9t u r b oc + + v 1 0 1 中成功编译h e l l o c 5 5 图4 2 0t u r b ocv 2 0 1 中成功编译h e l l o c 5 5 图4 2 l 综合后的面积报告5 8 图4 2 2 综合后的时序报告5 8 表格清单 表1 1 集成电路发展趋势1 表3 18 0 8 6c o c 系统端口信号功能1 3 表3 2s d r a m 中c m d 指令说明表2 1 表3 3 显示器各种图形模式下的分辨率2 3 表3 4p s 2 传输的帧结构3 2 表3 5 键盘访问地址3 4 表3 6f l a s h 控制器寄存器组3 7 表3 7f l a s h 控制器状态寄存器3 8 表4 1 键盘模拟激励4 7 表4 2c y c l o n ei ie p 2 c 3 5 f 6 7 2 c 器件可利用资源表5 2 x 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经发表 或撰写过的研究成果,也不包含为获得 金月巴工些太堂或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所所做的任何贡献均已在论文中作出了 明确的说明并表示谢意。 学位论文作者签字: 杨多殳 签字日期:踟f d 年笋月沙日 学位论文版权使用授权书 本学位论文作者完全了解 金月曼王些太堂 有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本 人授权 金壁互些太堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复印手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:杨爹灸 签字日期:沙o 年垆月沙日 学位论文作者毕业后去向: 工作单位: 通讯地址: i i 导师签名: 签字日期:加f o 年月撕日 电话: 邮编: 致谢 感谢高明伦老师、倪伟老师;感谢合肥工业大学微电子设计研究所的全体 老师;感谢所有帮助过我的人;是你们让我度过这宝贵而难忘的两年半时光。 本文是在高明伦教授、倪伟老师的悉心指导下完成的。高老师不仅学识渊 博,治学严谨,而且对待科研一丝不苟,他对学生的谆谆教诲都深深地记在我 的心中。高老师平易近人的工作作风和甘为人梯的崇高品德是我今后人生道路 上为人处事和工作学习的楷模。 感谢倪伟老师在我读研期间对我项目上、学习上和生活上的细心指导和帮 助,在论文修改和定稿的过程中给予的全面指导,倪老师严谨的治学态度、缜 密的分析能力和活跃的思维都给予了我深深的启迪,开拓了我的思路。 感谢合肥工业大学微电子设计研究所的尹勇生、林微、邓红辉、贾靖华、 杜高明、张多利、宋宇鲲等老师,感谢他们给我学习上的帮助和生活上的关心。 感谢果鹏、邓慧娟、吴斌、郑丹等同学在8 0 8 6 项目组中的愉快合作。 感谢微电子设计研究所所有同仁陪我度过两年半美好时光。 感谢我的父母及亲友对我学习和生活的关心、帮助和支持。 最后衷心感谢所有帮助过我的老师、同学和朋友们! v 作者:杨骏 2 0 0 10 年2 月 第一章绪论 本论文研究基于8 0 8 6c p u 的单芯片计算机系统( c o c , c o m p u t e r o n a c h i p ) 的设计和验证技术。本章分别介绍了论文的研究背景、研 究内容、研究意义和论文结构。 1 1 研究背景 从1 9 4 7 年第一支半导体晶体管的发明,到如今的超大规模集成电路的普 及,短短数十年,集成电路的工艺水平有了大幅提升,集成度提高了上亿倍。 如今的集成电路产业已经进入纳米时代。正如摩尔定律所预言,每18 个月的时 间,集成电路的集成度会提高一倍。国际半导体技术路线图( i t r s ,t h e i n t e r n a t i o n a lt e c h n o l o g yr o a d m a pf o rs e m i c o n d u c t o r s ) 预测了集成电路的发展趋 势,如表1 1 【2 j 所示。 表1 1 集成电路发展趋势 时期 孕育期开发期发展期成熟期 孛龙 5 06 07 08 09 02 1 世纪 小规模中规模大规模超大规模特大规模巨大规模 集成度规模 ( s s i )( m s i )( l s i ) ( v l s i ) ( u l s i )( g s i ) 晶体管数目1 0 万1 千万 1 1 01 0 1 千1 千1 0 万1 亿以上 ( 个) 1 千万 1 亿 3 45 6 8 - 1 2 1 2 以上晶圆直径 小于l1 2 ( 英寸)7 - 3 p m 2 - 1l m o 5 - 0 2 5 “m 0 18 - 0 0 3 1 x m 1 1 1 单芯片计算机和产业背景 随着集成电路的发展,集成度越来越高。当今主流的工艺已经从8 0 年代的 5 “m 发展到今天的3 5 n m 。芯片的体积越来越小,功能却越来越强大。1 9 4 6 年 出现的第一台电子管计算机由18 ,0 0 0 个电子管和7 0 ,0 0 0 个电阻器组成。整个 计算机共有五百万个焊点,体积非常庞大。1 9 5 4 年的晶体管计算机就仅含8 0 0 万个晶体管,器件体积和数量大幅降低。1 9 6 2 年,第一款集成电路计算机 i b m 3 6 0 诞生了,揭开了集成电路计算机发展的新篇章。19 7 1 年至今,计算机 已经进入了超大规模时代,体积、重量、价格均大幅降低。当今的超大规模集 成电路计算机已经成为人们生活中不可分割的一部分。由计算机的发展历程可 以看出,计算机朝着体积小,重量轻,集成度高的方向不断迈进。计算机朝着 单芯片系统发展的趋势将会日益明显【3 j 。 8 0 8 6c o c 是一个完整的计算机系统,c p u 、存储器和输入输出设备接口都 集成在一块芯片中,构成了单芯片计算机系统【4 】。与传统p c 相比,c o c 系统 的体积更小、重量更轻。由于系统总线被集成到了芯片内部,减小高频信号串 扰,可以极大提高系统工作频率,实现速度的大幅提升。 本论文研究8 0 8 6c o c 系统的设计并搭建了一个完整的验证平台。 c p u c p u 的选择主要从实验室的i p 资源、架构的经典以及软件兼容性的角度 出发。8 0 8 6 作为第一代计算机c p u ,架构经典,软件兼容性好,因此被选为 c o c 系统的c p u 内核。 系统总线 系统总线的集成可以极大减小板级总线上高频信号之间的串扰,大幅提高 工作频率,对于单芯片计算机的研究有着重要意义。经过对总线复杂度、集成 难易程度以及总线工作效率等多方因素的考虑,最终决定采用a m b a 总线作为 8 0 8 6c o c 系统的片上总线。 i o 设备子系统 总线的从设备端口分别连接以下接口模块:d m a 控制器、v g a 控制器、 中断控制器、f l a s h 控制器、s d 卡控制器、p s 2 键盘控制器。它们共同构成 了i o 设备子系统。 存储器子系统 由s d r a m 控制器和片内s r a m 存储器构成。 1 1 2s o c 设计方法学 在8 0 8 6c o c 系统的设计研究过程中,采用了许多s o c 设计方法学中的技 巧和策略。在当前s o c 的设计领域,流行着三种设计方法,分别为基于时序驱 动的设计方法( t d d ,t i m i n g d r i v e nd e s i g n ) 、基于平台的设计方法( p b d , p l a t f o r m b a s e dd e s i g n ) 和基于i p 复用的设计方法( i p d ,i p - b a s e dd e s i g n ) 。 下面简要介绍这三种方法【5 】: 基于时序驱动的设计方法 互联线延迟模型和版图规划是时序驱动设计方法的核心。规模较小的a s i c 适用于这种设计方法,但若设计规模太大,复杂度大幅提升,则需要寻求其他 设计方法加以实现。 基于平台的设计方法 这种方法是以i p 复用( 一般包括一个或多个微处理器或d s p ) 和片上总线 技术为基础,以软硬件协同开发为特征,根据产品的系统目标来选择i p ,进行 i p 互连和系统功能验证。 。集成平台是一种适用于s o c 快速开发的高效设计环境,对于特定的产品具 2 有较强的开发针对性。集成平台内部包括硬件开发平台和嵌入式软件开发平台 两个部分。 基于i p 复用的设计方法 在强大的商业压力下,设计公司常常从其他公司购买所需要的i p 核,然后 将这些i p 模块通过某种方式“拼装 成符合一定功能要求的系统,这就是i p 核的复用技术( i pr e u s e ) 。此时,设计者更关注的是如何进行系统功能的结构 划分,如何定义片上总线进行模块互联,应该选择哪些功能模块。在定义各个 功能模块时考虑怎样尽可能多地利用现有的i p 资源。在功能模块设计时考虑怎 样定义才有利于以后的i p 复用、验证等等。 本文所研究的单芯片计算机可以看作是一个由众多i p 模块组成的s o c 系 统,而其整个的设计过程就是一个i p 复用的s o c 设计过程。 1 1 3 单芯片计算机系统验证实验平台 随着s o c 设计规模和复杂度的不断增加,以及产品开发周期、面市时间的 不断缩短,验证作为芯片设计中最复杂、最耗时的环节之一,尤其是功能验证 ( f u n c t i o n a lv e r i f i c a t i o n ) 已成为了s o c 设计和开发的瓶颈【6 j 。 由于8 0 8 6c o c 系统的设计是基于i p 的s o c 设计过程,因此,其验证包括 i p 的单独验证和s o c 的集成验证两个主要阶段。 i p 单独验证平台( i ps t a n d a l o n ev e r i f i c a t i o np l a t f o r m ) 对i p 进行单独的验证,有利于提前发现并纠正错误,在i p 的层次上就解 决某些可能发生的系统级错误。单独验证i p 所设计的验证平台称为i p 单独验 证平台。在i p 单独验证平台中,拥有专门为i p 测试所设计的测试平台与测试 向量,分别对r t l 代码、综合后产生的网表以及布局布线后产生的版图进行全 面的验证。只有当i p 分别通过r t l 级验证、综合的网表验证和版图验证后, 才可以进行系统级的集成。 i p 的单独验证大大降低了系统集成的难度,为系统的可靠集成提供了保 障。对i p 单独验证而言,关键是对i p 内部逻辑进行详细的功能验证以确保i p 功能的正确性【7 j 。 s o c 集成验证平台( s o ci n t e g r a t i o nv e r i f i c a t i o np l a t f o r m ) s o c 集成验证是指把多个i p 集成在一个系统中后,对它们的协同工作进行 验证。由于i p 在s o c 系统集成之前已经做过独立的功能验证,因此在s o c 集 成验证的主要目标放在i p 接口、i p 互连以及整个s o c 的行为和功能上1 2 j 。 由于s o c 系统的规模大,结构复杂,因此可能需要软件和硬件的联合验证 才能高效的发现问题,解决问题。软件验证的优点是错误定位准确、使用广泛、 资源消耗少,只需一台p c 机和相应软件即可完成仿真。但也有明显的缺点, 即速度相对缓慢,有些功能的仿真甚至需要数小时或数日才能完成。f p g a 硬 3 件验证的速度快,软件数小时的验证流程在f p g a 内可在数秒内完成。但硬件 验证同时也有着错误定位不准确的缺点,无法直观观察的错误信号的发生位置。 软件和硬件联合验证的方法可以分别对软件验证和硬件验证取长补短,利用 f p g a 硬件验证定位错误发生的大概位置,再用软件仿真,准确定位错误并加 以修正。软硬件联合验证的方法极大地提高了验证效率,加快了s o c 系统的研 究开发速度。 1 2 研究内容 课题对单芯片计算机的实现技术进行了研究,重点内容如下: 基于8 0 8 6 的8 0 8 6c o c 系统的系统级设计 分析并研究了8 0 8 6c p u ,采用基于i p 复用的s o c 设计方法设计了8 0 8 6 c o c 系统,将8 0 8 6c p u 、系统总线、存储设备接口和i o 设备接口集成到了一 块芯片上,大大减小了面积,提高了性能。 8 0 8 6c o c 系统的r t l 级设计 使用v e r i l o gh d l 语言根据8 0 8 6c o c 系统的系统级设计进行r t l 级设计, 并搭建了8 0 8 6c o c 系统实验平台,利用相关e d a 软件和8 0 8 6 汇编语言设计 实验,分别完成8 0 8 6c o c 系统中各个模块以及整个8 0 8 6c o c 系统的r t l 级设 计以及软件仿真。 f p g a 验证 r t l 设计完成后,使用a l t e r a 公司的q u a r t u si i 工具对r t l 设计进行逻辑 综合、布局布线,在a l t e r ad e 2 开发板上对8 0 8 6c o c 系统进行f p g a 原型验 证,成功实现在8 0 8 6c o c 系统上运行f r e e d o s 操作系统。 a s i c 设计 研究了a s i c 设计流程,并按照流程完成8 0 8 6c o c 系统的设计。利用d c 工具在s m i c3 5 0 n m 工艺库的基础上完成了系统综合,并分析改进内部时序, 完成设计要求。 1 3 研究意义 论文的研究具有如下意义: 1 ) 为大规模集成电路设计提供实践经验 论文按照大规模集成电路的设计方法,按照系统级设计、r t l 级设计、f p g a 验证和a s i c 逻辑综合的步骤设计并验证了8 0 8 6c o c 系统。丰富了设计经验, 提高了动手能力。 2 ) 研究了8 0 8 6c o c 系统设计的关键技术 论文详细研究了计算机体系结构以及计算机集成在一块芯片内的实现方 法,对改变我国i c 设计产业落后于世界先进水平的现状有着重要的意义。 4 3 ) 为进步升级8 0 8 6c o c 系统奠定了基础 8 0 8 6 作为早期c p u ,虽然有着经典的架构,但是工作频率相对与当今主流 c p u 还是明显过低。8 0 8 6c o c 系统的设计对于今后升级到更高版本的c p u 、 实现更强大的功能奠定了基础。 1 4 论文结构 论文共分为五章,结构如下: 第一章绪论。介绍了论文的研究背景、研究内容、研究意义和论文结构。 第二章8 0 8 6c p u 简介。详细介绍了8 0 8 6c o c 系统的核心8 0 8 6c p u 的发 展历程以及功能结构。 第三章8 0 8 6c o c 系统的硬件设计。介绍8 0 8 6c o c 系统的内部结构及设计 过程。具体工作主要包括系统总线的设计、i 0 设备接口的设计和存储器接口 的设计。 第四章8 0 8 6c o c 系统的v l s i 实现及验证。详细介绍了8 0 8 6c o c 系统的 v l s i 实现流程以及验证过程,并基于s m i c3 5 0 n m 工艺库进行了逻辑综合。 第五章总结与展望。总结了论文所完成的工作及工作中的一些不足之处, 并对c o c 系统未来的发展方向作出展望。 5 第二章8 0 8 6c o c 系统c p u 简介 根据s o c 系统中i p 复用的设计原则【4 】【5 1 ,8 0 8 6c o c 系统的中央处理器采 用的是8 0 8 6c p u 软核【引。本章详细介绍8 0 8 6c p u 的发展历程以及功能结构。 2 1 单芯片计算机的c p u c o c 系统的设计是以某一种型号的c p u 为内核,挂接片上总线,并在总线 上集成存储系统和外围i o 设备,在一块芯片内部形成一个完整的计算机系统。 本设计所采用的c p u 为i n t e l 公司的8 0 8 6c p u 。下面将简要介绍8 0 8 6 的发展 背景以及系统结构。 1 9 7 8 年6 月,i n t e l 公司推出了一款新型微处理器一一8 0 8 6 。8 0 8 6c p u 刚 刚发布的时候有三个版本,工作频率分别为1 0 m h z 、8 m h z 和4 7 7 m h z ,兼容 拥有3 0 0 条操作指令的指令集【9 】。其中8 m h z 版本的拥有2 8 0 0 0 个3 “m 技术的 晶体管组成,具有o 8 m i p s 的能力,售价3 6 0 美元。 8 0 8 6c p u 拥有l6 位数据总线,2 0 根地址总线,内部16 位寄存器。作为 第三代微处理器,8 0 8 6 揭开了c p u 发展的新篇章。但是由于价格昂贵,大部 分人无法负担高额费用,8 0 8 6 暂时未能普及使用。 1 9 7 9 年,i n t e l 公司再次推出了8 0 8 8c p u 。8 0 8 8 为8 位微处理器,工作频 率4 7 7 m h z ,兼容8 0 8 6 指令集。1 9 8 1 年,i b m 公司以8 0 8 8c p u 为内核芯片, 生产出全球第一台个人电脑,这标志着x 8 6 架构和i b m 兼容电脑的产生。 c o c 系统中所采用的8 0 8 6c p u 为合肥工业大学研发的c p u 软核,兼容 8 0 8 6 工作模式和其指令集。 2 28 0 8 6c p u 的体系结构 8 0 8 6c p u 为冯诺依曼结构,数据和地址分别存储在相同存储单元的不同 地址,指令和数据的宽度相同。8 0 8 6c p u 内部采用传统的三总线结构,即数据 总线、地址总线和控制总线。其中数据总线为1 6 位,地址总线为2 0 位,可寻 址1 m 的存储空间。 8 0 8 6c p u 的内部结构主要由总线接口单元( b i u ,b u si n t e r f a c eu n i t )和 执行单元( e u ,e x e c u t i o nu n i t ) 组成,如图2 1 所示。总线接口单元由地址加 法器、专用寄存器组、指令队列和总线控制电路等个部分组成,主要管理与地 址总线、数据总线和控制总线相关的信息,实现从存储器中取指令进入指令队 列等待执行、从i o 设备上读取或发送数据、形成访问外部存储器或i o 的物 理地址等操作。指令执行单元主要负责指令的执行操作,由算术逻辑单元、通 用寄存器组、标志寄存器和e u 控制器等4 个部件组成。 6 酗2 18 0 8 6c p u 结构挺倒 指令执行单元e u 和总线接口单元b i u 之间并行操作,相互独立。使得取 指令和执行指令可以同时进行,提高c p u 运行效率。当e u 执行指令时,不必 等待b i u 从存储器中获取指令,而是直接从指令队列中提出相应的指令进行译 码执行。当b i u 从外部存储器中获取指令后也不需要直接交给指令执行单元 e u 执行,而是存入指令队列,等待e u 执行完当前指令后提取。本设计所使用 的8 0 8 6c p u 软核的指令队列为6 ,可以缓存6 条指令。当访问外部i o 或存储 器时,e u 只需计算出访问地址,然后将地址交给b i u ,由b i u 来访问外部存 储器或i o ,然后再将操作数传递给e u 进行处理。所有与外界操作都由b i u 控制完成,e u 负责内部运算和指令译码。 1 ) 执行单元e u “ 执行单元负责控制指令的译码和执行。一般情况下指令顺序执行,e u 可 源源不断地从指令队列中取得待执行的指令,而省去访问存储器取指令所需要 的时间。如果在指令执行过程中需要访问存储器取得操作数,那么e u 将访问 地址送给b i u 后,将要等待操作数到来后才能继续操作,遇到转移类指令,要 将指令队列中的后续指令作废,等待b i u 重新从存储器取出目标地址中的指令 代码送进指令队列后,e u 才能继续执行指令。 e u 中的a l u 可完成1 6 位或8 位的二进制运算,运算结果通过内部总线 送到通用寄存器组或b i u 的内部寄存嚣中等待写入存储器。1 6 位暂存器用来暂 存参加运算的操作数,经a l u 运算后的结果特征置入标志寄存器p s w 中保存。 e u 控制器负责从b i u 的指令队列中取指令,并对指令译码,报据指令要 求向e u 内部各部件发出控制命令以完成各条指令的功能。 2 ) 总线接口单元b i u b l 总线接1 3 单元负责与外部( 存储器和i o 端1 2 ) 进行数据通讯。正常情况 下,b i u 通过地址加法器形成指令在存储器中的物理地址后,启动存储器- 从 给定地址中取出指令代码送指令队列中等待执行,一旦指令队列中空出2 个字 节,b i u 将自动进入读指令的操作以填满指令队列。只要收到e u 送来的操作 数地址,b i u 将立即形成操作数的物理地址,完成读写操作数或运算结果功能。 遇到转移类指令,b i u 将指令队列中的尚存指令作废,重新从存储器目标地址 中取指令送指令队列中。 b i u 中的指令队列最大可存放8 字节的指令代码,一般情况下应保证指令 队列中总是填满指令使得e u 可源源不断地得到待执行的指令。1 6 位地址加 法器专门用来完成由逻辑地址变换成物理地址的可能,实际上是进行一次地址 加法,将两个1 6 位的逻辑地址变换为2 4 位的物理地址,以达到可寻址1 6 m 字 节的存储空问。 总线控制电路将8 0 8 6c p u 的内部总线与外都总线相连,是8 0 8 6 c p u 与外 部数据交换的必经之路,它实际上包括1 6 条数据总线、2 4 条地址总线和若干 条控制总线,c p u 正是通过这些总线与外部取得联系形成各种规模的8 0 8 6 微 型计算机系统。 2 38 0 8 6c p u 的总线接n 时序 8 0 8 6c p u 的每条指令的执行都在4 个时钟周期内完成,分别为t l 、t 2 、t 3 下面分别介绍在读操作、写操作、h a l t 、中断应答四种总线操作中的指令执 行方式。 1 ) 读操作周期: 在读操作周期中,c p u 从i o 外设或存储器中读取数据或指令。一个读周 期分为t l 、t 2 、t 3 ,三个阶段。若外部设备速度较慢,可以再t 3 后插入等待状 态,直至数据或指令成功读取。具体执行过程如图2 - 2 所示。 2 ) 写操作周期 目2 28 0 8 6c p u3 个时钟的读操作周期时序圈 一。冀=i 在写操作周期中,8 0 8 6 c p u 对i 0 设备和存储器写入数据,地址的传送过 程和读操作周期相同,如图2 - 3 所示。和读操作不同的是,在对1 1 0 设备或存 储器执行写操作,w r _ n 信号有效时,要求将数据写入制定的i o 端口或存储 设备中。当外设速度较慢时,8 0 8 6 仍然可以在第三个时钟周期后插入等待周期。 t = 9 l “。j ,、,一 ! ! ! ! ! ! 一 ”l “j l 一 日! ”一e h “jl j 图2 38 0 8 6 c p u3 十时钟的写操作周期时序图 3 ) 中断应答周期 中断应答的周期如图2 - 4 所示。中断应答时,通常在第一个周期插入 l o c kn 信号,并在第二个总线周期的t 2 状态释放。 k 4 k ;j h j l 一l c 。一r _ r l 广1 几r 图2 48 0 8 6 c p u3 个时钟的中断应答时序圈 4 ) h a l t 总线周期 h a l t 周期又h a l t 指令产生,在这个周期中,8 0 8 6 进入停机等待状态, 直到出现外部中断或者复位信号时才跳出h a l t 状态。时序关系如图2 - 5 所示。 图2 58 0 8 6 c p u h a l t 时序图 9 。焉 2 4 本章小结 8 0 8 6c p u 作为一款冯诺依曼结构的经典通用c p u 处理器,有着强大的 控制和计算能力,是8 0 8 6c o c 系统的重要核心单元。本章简要阐述了8 0 8 6c p u 的内部结构以及指令系统,为后续章节将要介绍的8 0 8 6c o c 系统的设计研究 奠定了基础。 1 0 第三章8 0 8 6c o c 系统的硬件设计 本章解析了c o c 系统内部结构,详细介绍了片上总线、s d r a m 控制器、 v g a 控制器、键盘控制器、s d 卡控制器、f l a s h 控制器、中断控制器等子模 块的硬件结构与设计方法。 3 18 0 8 6c o c 系统级设计 在8 0 8 6c o c 系统的设计中,首先要进行系统级的设计,确定系统功能, 完成模块划分,定义模块算法,为后面的v l s i 设计奠定基础。 3 1 18 0 8 6c o c 系统结构与模块划分 8 0 8 6c o c 系统采用基于a m b a 的双总线结构,使用a h b ( a d v a n c e dh i g h p e r f o r m a n c eb u s ) 总线和a p b ( a d v a n c e dp e r i p h e r a lb u s ) 总线作为8 0 8 6c o c 系统 片上总线。其总体架构如图3 1 所示。 图3 18 0 8 6c o c 系统结构 a h b 总线作为高速系统总线,主要用于存储设备和8 0 8 6c p u 之间的信息 传输,挂接有s d r a m 控制器、f l a s h 控制器、v g a 控制器以及d m a 控制器。 s d r a m 芯片容量为8 m b ,由于8 0 8 6c p u 寻址能力的限制,只将其中lm b 作 为8 0 8 6c o c 的系统内存使用。f l a s h 芯片为4 m bn o r ,在8 0 8 6c o c 系统中 作为只读软盘。v g a 控制器主要由4 k b 显示缓冲区和显示接口电路组成,通 过d s u b 接口挂接c r t 或液晶显示器。d m a 控制器支持大规模数据传输,可 提高总线利用率从而提高系统运行速度。 a p b 总线作为低速系统总线,主要用于i 0 设备与8 0 8 6c p u 之间的信息 传输。a p b 总线上连接有s d 卡接口、p s 2 键盘控制器、8 2 5 9 可编程中断控制 器等i o 设备。其中s d 卡接口与s d 卡s o c k e t 相连,可插入s d 标准卡作为 系统的硬盘。键盘接口可以连接普通p s 2 键盘,实现人机交互。8 2 5 9 可编程 中断控制器用于处理键盘等外部中断。 3 1 28 0 8 6c o c 系统的外特性 8 0 8 6c o c 系统完全兼容标准8 0 8 6 的指令集。图3 2 描述了8 0 8 6c o c 系统 外特性,从图中可知该系统有3 个输入引脚,5 9 个输出引脚,18 个双向引脚, 共计包含8 0 个外部信号。 8 0 8 6c o c 图3 28 0 8 6c o c 系统外特性框图 表3 1 分别从信号名、类型和功能描述角度对8 0 8 6c o c 系统的各个端1 2 1 做 了简要说明。 3 28 0 8 6c o c 系统总线的设计 a m b a 总线拥有众多的第三方支持,其在基于a r m 处理器内核的s o c 设 计中已成为一项标准 1 0 】,因此在8 0 8 6c o c 系统的设计中选择了a m b a 总线作 为系统总线。本设计中选用a h b 作为系统总线,连接存储设备:a p b 作为系 统外设总线,连接i o 设备。 a h b 总线属于高速总线,主要由仲裁器、中央译码器、多路选择器以及时 序匹配单元等模块组成,用于连接系统内的高速设备。a p b 总线属于低速总线, 由译码器,仲裁器和多路选择器组成,用于连接系统内的低速i o 外设。a h b 和a p b 通过一个总线桥相连,a p b 属于a h b 的一个从设备。与a h b 总线不 同,a p b 不支持多个主设备,a h b 是a p b 的唯一主设备。高速总线上的主设 备和低速总线上的从设备之间的通讯都是通过a p b 完成。 1 2 表3 18 0 8 6c o c 系统端口信号功能 系统信号 端口名信号类型功能描述 c l k i n p u t 外部输入的时钟( 2 5 m h z ) r e s e t i n p u t 系统全局复位信号 s d r a m 信号 端口名信号类型功能描述 s a 【1 i :0 】o u t p u t 地址信号线 b a 【i :o 】 o u t p u t b a n k 地址线 c sn o u t p u t 片选信号 c k e o u t p u t 时钟有效信号 r a sn o u t p u t 行地址选通信号 c a sn o u t p u t 列地址选通信号 w en o u t p u t写信号使能 d q 【1 5 :0 】 b i d i 数据i o 线 d q m i :0 】o u t p u t 数据掩码 s d r c l ko u t p u t 时钟信号 v g a 接口信号 端口名信号类型功能描述 v g a r e d 9 :0 】 o u t p u t 红色像素信号 v g a g r e e n 9 :0 】o u t p u t 绿色像素信号 v g a b l u e 9 :0 】o u t p u t蓝色像素信号 v g a h sy n co u t p u t 行同步信号 v g a v s y n c o u t p u t 场同步信号 v g a bl a n ko u t p u t 复合消隐信号 v g a c l o c ko u t p u t 时钟信号 键盘接口信号 端口名信号类型功能描述 p s 2 d a t a b i d i 数据信号 p s 2 c l k b i d i时钟信号 s d 卡接口信号 端口名信号类型功能描述 s c l k o u t p u t 时钟信号 m i s o i n p u t 数据输入信号 m o s i o u t p u t 数据输出信号 s s o u t p u t s d 卡片选信号线 a h b 总线属于高速总线,主要由仲裁器、中央译码器、多路选择器以及时 序匹配单元等模块组成,用于连接系统内的高速设备。a p b 总线属于低速总线, 由译码器,仲裁器和多路选择器组成,用于连接系统内的低速i o 外设。a h b 和a p b 通过个总线桥相连,a p b 属于a h b 的一个从设备。与a h b 总线不 同,a p b 不支持多个主设备,a h b 是a p b 的唯一主设备。高速总线上的主设 备和低速总线上的从设备之间的通讯都是通过a p b 完成。 3 2 1a h b 数据通道 a h b 系统由主设备、从设备和逻辑控制电路3 个部分组成。当主设备发 出总线占用请求并且从设备接受响应时,即通过逻辑控制电路开始总线数据传 输操作。逻辑控制电路是由多路选择器、中央译码器、优先级仲裁单元所组成 的控制模块。多路选择器将整个a h b 总线上的主设备和从设备的数据端口和 控制端口互联,中央译码器负责地址译码,为从设备提供片选信号,确定数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论