基于8086 CPU的单芯片计算机系统的设计

发布者:CuriousObserver最新更新时间:2015-04-20 来源: eechina关键字:CPU  单芯片  计算机系统 手机看文章 扫描二维码
随时随地手机看文章
1 引言  

随着超大规模集成电路工艺的发展,在一颗芯片上集成上百万甚至上亿个晶体管已成为现实。现在,芯片厂商都以面积最小化、功能最大化作为自己的发展方向,深亚微米效应理论及IP 核技术越来越受到理论界和工业界的广泛关注,系统芯片是当前技术发展的必然趋势。计算机的发展经历了电子管计算机、晶体管计算机、集成电路计算机和大规模集成电路计算机,它的发展一直是将越来越多的功能集成在越来越小的空间内。可以预见,在某些特定领域,半导体制造业朝着整合型单芯片系统的总体趋势将会日益明显。  

所谓单芯片计算机即是将传统PC 机箱里的主板上的芯片组、CPU、内存、显卡、声卡和网卡等最大限度的集成在单个芯片中。单芯片计算机与传统PC 相比,重量、体积和功耗大幅下降,从而系统性能将得到很大地改善,同时带来价格的突破性下降,直接促进计算机的迅速普及。  

本文搭建的单芯片计算机系统基于标准8086 CPU,集成了AMBA 总线、SDRAM、8255、ROM 等外围IP,并在Altera DE2 FPGA 开发板上实现了功能演示。  

2 单芯片计算机的发展概况  

单芯片计算机是一个完整的计算机系统,CPU、存储器和输入输出接口,通过总线连接,构成了单芯片计算机的基本系统。单芯片计算机的系统级设计,是以CPU 为核心开展的I/O和外设集成过程,是基本的SoC 设计流程。  

近几年,Intel、AMD 和VIA 等微处理器制造商纷纷推出平台策略,将微处理器和芯片组组合在一起,形成一个完整的解决方案,并计划将来进一步推出集成所有芯片的单芯片微处理器。Intel 公司频推平台策略,计划进一步推出整合所有芯片的单芯片计算机,还*了一个由500 名工程师组成的研发团队,开发其单芯片电脑产品,希望将目前电脑主板上的32 颗芯片全部集成到单一的芯片中。 而在AMD 四核皓龙处理器中,四个独立的CPU 核集成到单一硅片上,每个核具有单独的64KB 一级数据缓存、64KB 一级指令缓存和512KB 的二级缓存,四个核心共享2MB(或者更大)的三级缓存。这样每个CPU 核都能够充分发挥各自的效能,从而大幅度提升整个处理器的性能。  

单芯片计算机的设计,是一个基于某一种型号CPU 及其外围I/O 接口的SoC 设计过程。因此,选择哪种型号的CPU 就成了设计的首要问题。综合设计难度,工程进度的因素,同时考虑所选CPU 要有一定的代表性,因此最终选择标准Intel 8086 CPU。基于8086 的单芯片计算机基本结构,如图1 所示。  


  
3 单芯片计算机系统的设计  

8086 CPU 芯片有两种工作模式,最小模式与最大模式。所谓最小模式,是指系统中只有一个8086 微处理器,在这种情况下,所有的总线控制信号,都直接由8086 CPU 产生,系统的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。  

本实验采用8086 的最小工作模式进行单芯片计算机的设计。所谓单芯片计算机系统设计,即除了包含CPU、ROM、RAM、总线、地址锁存器、数据收发器、外设地址译码电路以外,集成一个或一个以上的外围I/O 接口,从而构成一个完整的系统。搭建的系统结构图如2 所示。  


  
本论文所设计的8086 单芯片计算机系统集成了遵从AMBA 协议的总线、8255 通用并行接口,以及SDRAM 控制器。在这里,以8255 通用并行接口为例,介绍包含8255 应用电路的单芯片计算机系统的设计。8255 作为外围I/O 设备通过AHB 总线与8086CPU 进行通信。  

单芯片计算机系统的RTL 级设计是一个SoC 的设计过程。包括CPU 子系统的设计、总线的选择和接口设计,以及存储器单元的接口设计。  

3.1 CPU 子系统的设计  

CPU 子系统包括8086 CPU、数据收发控制器、地址锁存器和存储器译码电路等。  

CPU 与存储器(或I/O 端口)进行交换时,CPU 首先要送出地址信号,然后再发出控制信号及传送数据。因此需要加入地址锁存器,先锁存地址,使在读写总线周期内地址稳定。  

数据收发控制器相当于一个总线开关,用来控制CPU 的数据总线选择从存储单元或I/O端口发送或接受数据,匹配通信时序。  

存储器译码电路与74LS138 原理一样,利用地址线生成ROM 和RAM 单元的片选信号。CPU 上电复位后地址为FFFF0H,首先从ROM 里读出程序,该程序是无条件跳转指令,能够使CPU 跳转到RAM 的地址。CPU 再从SDRAM 里读出程序。  

3.2 总线的选择和设计  

总线的集成对缩小芯片的面积以及减少总线的扇出都有非常积极的意义。标准的8086CPU,一般采用的是传统的三总线结构,就是地址总线、数据总线、控制总线,基于这个总线架构,还可以扩展8255、显示器、键盘/鼠标、网卡之类的IP。  

3.2.1 总线协议的选择  

传统的8086 系列CPU 系统总线有ISA 总线、EISA 总线等。ISA 总线是16 位的系统总线,其工作频率为8MHz,数据传输速率为16MB/s。EISA 是一种在ISA 总线基础上扩充的数据宽度为32 位的开放总线标准。最大传输速率可以达到33MB/s。但是由于I/O 速度比较低,这两种总线技术已经逐渐被淘汰。  [page]

AMBA 拥有众多第三方支持,在基于ARM 处理器内核的SoC 设计中,已经成为广泛支持的现有互联标准之一。2.0 版AMBA 标准定义了三组总线:AHB(AMBA 高性能总线)、ASB(AMBA 系统总线)、和APB(AMBA 外设总线)。AHB 的总线架构的相互连接采用了传统的带有主模块和从模块的共享总线模式,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。因此,本论文所选择的总线遵从AHB 总线传输的基本规范,并在此基础上针对8086CPU 的特点增加和修正了某些总线的接口。整个设计主要包括两方面的内容:AHB 和8086 传输时序的匹配;基于8086CPU 的总线接口的扩展设计。总线结构图如图3 所示。  


  
3.2.2 传输时序的匹配  

因为AHB 总线和CPU 的传输协议不同,所以需要匹配两个接口的时序,以保证CPU与其他外围IP 可以通过总线正常通信。相关接口控制信号如表1 所示。  


  
接口模块首先根据MIO 信号判断访问的是存储器还是I/O 设备,如果是I/O 设备,当采样到READY 信号为高电平时,获取AHB 的总线控制权,与外围I/O 设备进行通信。设计的状态机如图4 所示。  


  
T1:根据MIO 信号判断当前CPU 是否需要访问外围I/O。如果8086 处理器核访问的是存储器单元而不是AHB 总线上的设备(即MIO 为1),状态机则保持T1 状态,并且不向AHB 总线发出总线请求信号(即HBUSREQ 信号置为0)。MIO 为低电平则跳转到T2。  

T2:状态机进入T2 状态后,向AHB 总线发出总线请求信号(即HBUSREQ 信号置为1),向AHB 总线仲裁器请求访问总线。同时检测READY 信号,当检测到READY 信号为高电平,即AHB 总线仲裁器把总线访问权限交给8086 处理器核,状态机在下个时钟上升沿进入T3 状态。反之,如果READY 一直为低电平,表示目前8086 CPU 要访问的AHB 总线上的从设备没有准备就绪,要求8086 处理器核插入等待状态,状态机一直保持T2 状态不变。  

T3:CPU 通过AHB 总线与外围IP 进行通信,直至通信结束,返回到T1 状态。  

8086 处理器核的读写信号受READY 信号控制,当READY 信号为高电平时,可进行数据的接收和发送,否则读写信号保持。READY 信号由AHB 总线上从设备传输完成信号HREADYIn、AHB 总线允许信号HGRANT 以及从设备应答信号HRESP 三者共同决定。而总线上的读写控制信号HWRITE 由组合逻辑产生。其产生过程伪码如表2 所示。  


  
3.2.3 总线接口扩展  

8086CPU 除了数据、地址总线以及读写和READY 等主要控制信号外,还有中断请求和应答以及外接DMA 设备的相关端口信号。而这些信号是标准AHB 总线所不具备的,因此还需要扩展总线接口以匹配8086 CPU。总线接口的扩展设计主要包括两部分:中断处理和DMA 数据通道。8086 CPU 关于中断和DMA 的端口信号如表4 所示。  [page]


  
系统总线在接收到外设的中断请求之后,会向CPU 提出中断申请,一旦接收到中断响应,要向外设传送中断响应信号,同时修改译码单元,选通该外设,保证在第二个中断响应期间能将中断类型号通过总线传送给CPU,使得CPU 能成功跳转到中断服务子程序。  

DMA 控制器在执行数据传输时,需要掌握AHB 总线的控制权,向片上存储器或者总线上其他外设发出地址和控制信号,即相当于AMBA 的主设备;另一方面,在DMA 控制器启动工作之前,CPU 需要对其进行预处理操作,以使其按照特定的配置参数进行工作,在这个初始化阶段,CPU 是AHB 总线上的主设备,DMA 控制器属于从设备。基于DMA控制器的这种两面性,在总线设计中配备了专门的DMA 通道与其相匹配:CPU 正常工作时,  

DMA 扮演从设备的角色,接受CPU 对其的初始化;利用HLDA 作仲裁信号,当CPU 响应外设DMA 请求时(即HLDA 为高电平),让出总线控制权给外设,利用DMA 数据通道传输数据,传输的协议同样遵从AMBA 协议。总线的时序控制模块状态如图5 所示。  


  
3.3 存储单元的接口设计  

存储器子系统包括一个RAM 和一个ROM,8086CPU 支持20 位地址总线,具有1M 字节存储空间,分为RAM 区和ROM 区。本文利用开发板的片上ROM 资源配置成16k*16 的格式作为存储器中的ROM 单元,采用DE2 开发板上的8M 的SDRAM 配置成256K*16 位总线格式代替存储器中的RAM 单元。  

在各种随机存储器件中,SDRAM 的价格低,体积小,速度快,容量大,是比较理想的器件。但SDRAM 的控制逻辑比较复杂,对时序要求也十分严格,这就要求有一个专门的控制器:控制SDRAM 的初始化,刷新和预冲以及基本的读写操作。同时,需要匹配SDRAM控制器和8086 CPU 的读写时序。该接口具体实现的状态机如图6 所示。  


  
T1:当RDY 为高电平时,首先确定是进行读还是写操作,这时DONE 为0:读:设置WR=0,RD=1; 写:设置WR=1,RD=0。  

T2:当DONE 信号为高电平,表示可以进行读/写操作,跳转到T3。  

T3:CPU 通过SDRAM 控制器对SDRAM 进行读写操作。  

T4:当低字节有效信号bwl_n 为高电平时,执行低字节传输。  

T5:当高字节有效信号bwh_n 为高电平时,执行高字节传输。  

T6:CPU 完成读写操作,相关控制信号清零。  

其中,DONE 信号用于指示是否读写完成,只有DONE 为高电平时表示读写完成,才能进行下次读写操作。RDY 信号表示SDRAM 是否做好准备接受CPU 的访问,由SDRAM的写请求信号(IN_REQ =1)和读有效信号(OUT_VALID =1 )共同控制,其产生过程伪码如表5 所示。  


  
根据单芯片计算机系统级设计的组成结构,调用已经编写完成的8086 IP 软核、8255 IP软核、SDRAM 控制器、SDRAM 模型IS42S16400、AHB 总线 IP 软核以及译码器IP 软核。  

连接相应的输入输出端口,同时对8086 相关的输入端口进行赋值,将未使用的输出端口悬空,完成单芯片计算机系统的RTL 级设计。  

4 单芯片计算机系统的仿真与验证  

单芯片计算机的RTL 级设计只是全部设计流程的一部分,为保证最终设计的成功,必须对其进行全面的软件仿真与硬件验证,包括搭建测试平台,设计测试方案以及分析仿真结果,实现FPGA 验证。  

4.1 测试方案的设计  

在包含8255 应用电路的单芯片计算机系统搭建完成的基础上,要求实现八个开关量控制八个LED 灯亮灭的功能。将八个开关量连接8255 的PA0~PA7;将八个LED 灯驱动电路连接8255 的PC0~PC7。在8086 CPU 的控制下,通过总线读取连接在8255 PA 口的八个开关量,将开关值送往SDRAM 存储,再从SDRAM 读取开关量发送到8255 PC 口,使其驱动八个LED 灯的亮或灭。  

4.2 仿真结果分析  

单芯片计算机最小集的RTL 级仿真波形,如图7 所示。在8086 CPU 的控制下,8255接口读取连接在8255 PA 口的八个开关量11000010 以后,将其发送到8255 的PC 口,驱动输出逻辑值11000010。  


  
使用Quartus II 软件成功编译设计,将布局布线生成的结果下载到FPGA 中,得到与设计等效的实际电路,对实际的电路用测试系统进行测试,从而验证设计的正确性。将FPGA的验证结果经逻辑分析仪读取显示,如图8 所示。  


  
5 结束语  

本论文在基于集成电路设计方法学的指导下,探讨了一种基于8086 CPU 核的单芯片计算机平台的架构,研究了其与AMBA 总线、SDRAM、8255 等外围IP 的集成。在此基础上,设计基于8086 IP 软核的单芯片计算机系统,并实现了FPGA 功能演示。在后续的工作中,将考虑进一步扩展CPU 外围接口IP 软核;集成DMA 控制器,实现VGA 显示功能;将DOS 操作系统加入8086 单芯片计算机平台,并开发在操作系统下的设备驱动程序和应用软件。
关键字:CPU  单芯片  计算机系统 引用地址:基于8086 CPU的单芯片计算机系统的设计

上一篇:32位嵌入式CPU中系统控制协处理器的设计与实现
下一篇:PTR2000系列与单片机接口电路示例

推荐阅读最新更新时间:2024-03-16 13:58

详细讨论究竟什么是虚拟化技术
  虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。   虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能
[测试测量]
AMD清理库存 百万低端CPU流入发展中国家
  据台湾一线主机板厂商消息表示,AMD计划于本季出货141万颗上代Socket 754接口Sempron低阶处理器,以平价作招来入侵第三世界国家市场,因此AMD向请求主机板业者及内存模块业者配合是次 script language=JavaScript1.1 src="http://ad.ccw.com.cn/adshow.asp?positionID=39&js=1&innerJs=1" /script 出货,向特定市场供货Socket 754主机板及DDR内存模块。 据了解,是次计划主要型号为Sempron 2800+ (1.6GHz/256KB L2/S754),约计划约9成的数量,余下约1成则为Sempro
[焦点新闻]
IDT 推出首款用于 TFT LCD 面板的单芯片解决方案
混合信号半导体解决方案供应商 IDT® 公司(Integrated Device Technology, Inc.; NASDAQ: IDTI)推出业界首款用于上网本、平板电脑和笔记本电脑等薄膜晶体管(Thin Film Transistor, TFT)液晶显示器( Liquid Crystal Display,LCD)面板的单芯片电源管理解决方案。IDT新的解决方案集成了全功能低电压差分信号(Low-Voltage Differential Signaling, LVDS)计时控制器和完全集成的电源管理及用于 LED 背光的 4 通道 LED 驱动器。 通过将所有这些功能集成在一个芯片中, IDT VDAP1
[手机便携]
IDT 推出首款用于 TFT LCD 面板的<font color='red'>单芯片</font>解决方案
龙芯:中国造的“宇宙级”芯片 星星之火可以燎原
    2271亿美元,这是2016年中国进口芯片的总额,相当于人民币1.4万亿元,远远超过了石油,成为中国每年进口最多的产品。因为全球82%的笔记本电脑,70%的手机都是在中国生产的,但里面的核心芯片我们却严重依赖国外。要知道,不只是手机,从天上卫星到水下的潜艇,芯片是无处不在的,中国真的没有人能做出自己的芯片吗?     81岁两弹一星科学家投身“龙芯”16年 龙芯生态日臻完善   龙芯中科技术有限公司总裁胡伟武:CPU中央处理器用一句话来说就是国家大宗战略产品。没有CPU和操作系统,就没有IT产业。   中国科学院大学的一间教室里,正在给学生们讲课的就是胡伟武,他既是中科院计算所的总工程师,也是龙芯公司的总裁。整堂课他一
[嵌入式]
德州仪器携全新单芯片毫米波传感器产品组合亮相中国电子展
2017中国电子展(CEF)日前正式在成都落下帷幕。同时,由中国电子器材公司、中国电子仪器行业协会主办的“2017中国西部微波射频技术研讨会”也在展会期间顺利举行。下面就随嵌入式小编一起来了解一下相关内容吧。 作为全球领先的半导体公司之一, 德州仪器 (TI)(NASDAQ: TXN)携其全新单芯片毫米波互补金属氧化物半导体(CMOS)产品组合出席了今年的电子展,而TI中国区嵌入式产品系统与应用总监蒋宏先生也亲临现场,并在研讨会上就“突破性毫米波雷达技术”进行了主题演讲,与参展者详细分享了毫米波技术的最新发展趋势以及毫米波传感器在汽车与工业领域的应用。 CEF是中国历史最悠久、最权威的电子行业展会,为众多电子信息领域的领军企业与
[嵌入式]
俄罗斯CPU,价格大幅上涨
据俄国媒体Kommersant报道,由于需求旺盛和物流复杂,俄罗斯公司设计的本土 CPU 的价格翻了一番。值得注意的是,Baikal Electronics 声称其合作伙伴正在出售其库存中的剩余物,而一些当地硬件制造商暗示芯片仍在生产中,只是制造成本变得更高了。 据《生意人报》援引俄罗斯 PC 供应链的消息来源称,自今年年初以来,Baikal Electronics 和 MCST 设计的 CPU 价格大幅上涨。报告称,价格上涨的原因是俄罗斯 PC、服务器和存储系统制造商对此类芯片的需求不断增长,以及生产转移到新工厂。 服务器和存储设备生产商 Norsi-Trans 的首席执行官谢尔盖·奥夫钦尼科夫 (Sergey Ovch
[嵌入式]
TQ2440国嵌学院gboot-设定CPU为svc模式
通过之前学习设定ARM的中断向量表,完成基本框架的设计,下面开始设定CPU到SVC模式(这里是指32位模式)。 同样是在ARM Architecture Reference Manual手册中,Exceptions的子目录下,找到对应的Reset模式: 关键部分我已标注红色,可以看到CPSR =0b10011 ,通过备注我们可以知道通过设定CPSR寄存器的0-4位可以设定CPU进如SVC模式。CPSR寄存器的第6、7位是关闭快速中断和中断,在bootloader启动时同样关闭。也就是CPSR =0b11010011=0xd3。代码如下: reset: bl set_svc //在reset下添加跳转指令b
[单片机]
CPU卡的接口特性、传输协议与读写程序设计
    摘要: 介绍ISO7816-4及中国金融集成电路(IC)卡规范所规定的T=0协议的CPU卡与终端之间的接口特性和传输协议,及以C51语言设计的CPU卡复位、下电及读写程序。     关键词: IC卡 CPU卡 终端 复位 字符传输协议(T=0协议) IC卡的概念是20世纪70年代提出的。法国BULL公司首创IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个方面。IC卡的核心是集成电路芯片,一般为3 μm 以下的半导体技术制造。IC卡具有写入数据和存储数据的能力。IC可存储其中的内容,根据需要可以有条件地供外部读取,或供内部信息处理或校验用。   根据各种集成电路的不同,IC卡
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved