您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于8086CPU的单芯片计算机系统的设计
基于8086CPU的单芯片计算机系统的设计孙璐,陶晶,舒展,张永志(合肥工业大学电气学院自动化系,安徽合肥230009)摘要:本文依据集成电路设计方法学,探讨了一种基于标准Intel8086微处理器的单芯片计算机平台的架构。研究了其与SDRAM,8255并行接口等外围IP的集成,并在对AMBA协议和8086CPU分析的基础上,采用遵从AMBA传输协议的系统总线代替传统的8086CPU三总线结构,搭建了基于8086IP软核的单芯片计算机系统,并实现了FPGA功能演示。关键词:微处理器;SoC;单芯片计算机;AMBA协议中图分类号:TP368.1Designof8086CPUBasedComputer-on-a-chipSystemSUNLu,TAOJing,SHUZhan,ZHANGYong-zhi(SchoolofElectricalEngineeringandAutomation,HeifeiUniversityofTechnology,Hefei,230009,China)Abstract:AccordingtotheICdesignmethodology,thispaperdiscussesthedesignofonekindofComputer-on-a-chipsystemarchitecture,whichisbasedonthestandardIntel8086microprocessor,investigateshowtointegratethe8086CPUandperipheralIPsuchas,SDRAMcontroller,8255PPIetc.BasedontheanalysisofthestandardIntel8086microprocessorandAMBASpecification,theComputer-on-a-chipsystembasedon8086CPUwhichusesAMBAbusinsteadoftraditionalthree-busstructureof8086CPUisconstructed,andtheFPGAhardwareemulationisfulfilled.Keywords:Microprocessor;SoC;Computer-on-a-chip;AMBASpecification1引言随着超大规模集成电路工艺的发展,在一颗芯片上集成上百万甚至上亿个晶体管已成为现实。现在,芯片厂商都以面积昀小化、功能昀大化作为自己的发展方向,深亚微米效应理论及IP核技术越来越受到理论界和工业界的广泛关注,系统芯片是当前技术发展的必然趋势。计算机的发展经历了电子管计算机、晶体管计算机、集成电路计算机和大规模集成电路计算机,它的发展一直是将越来越多的功能集成在越来越小的空间内。可以预见,在某些特定领域,半导体制造业朝着整合型单芯片系统的总体趋势将会日益明显。所谓单芯片计算机即是将传统PC机箱里的主板上的芯片组、CPU、内存、显卡、声卡和网卡等昀大限度的集成在单个芯片中。单芯片计算机与传统PC相比,重量、体积和功耗大幅下降,从而系统性能将得到很大地改善,同时带来价格的突破性下降,直接促进计算机的迅速普及。本文搭建的单芯片计算机系统基于标准8086CPU,集成了AMBA总线、SDRAM、8255、ROM等外围IP,并在AlteraDE2FPGA开发板上实现了功能演示。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要有一定的代表性,因此昀终选择标准Intel8086CPU。基于8086的单芯片计算机基本结构,如图1所示。图1基于8086的单芯片计算机基本结构3单芯片计算机系统的设计8086CPU芯片有两种工作模式,昀小模式与昀大模式。所谓昀小模式,是指系统中只有一个8086微处理器,在这种情况下,所有的总线控制信号,都直接由8086CPU产生,系统的总线控制逻辑电路被减到昀少,该模式适用于规模较小的微机应用系统。本实验采用8086的昀小工作模式进行单芯片计算机的设计。所谓单芯片计算机系统设计,即除了包含CPU、ROM、RAM、总线、地址锁存器、数据收发器、外设地址译码电路以外,集成一个或一个以上的外围I/O接口,从而构成一个完整的系统。搭建的系统结构图如2所示。本论文所设计的8086单芯片计算机系统集成了遵从AMBA协议的总线、8255通用并行接口,以及SDRAM控制器。在这里,以8255通用并行接口为例,介绍包含8255应用电路的单芯片计算机系统的设计。8255作为外围I/O设备通过AHB总线与8086CPU进行通信。单芯片计算机系统的RTL级设计是一个SoC的设计过程。包括CPU子系统的设计、总线的选择和接口设计,以及存储器单元的接口设计。图28086单芯片计算机系统结构3.1CPU子系统的设计CPU子系统包括8086CPU、数据收发控制器、地址锁存器和存储器译码电路等。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速度比较低,这两种总线技术已经逐渐被淘汰。AMBA拥有众多第三方支持,在基于ARM处理器内核的SoC设计中,已经成为广泛支持的现有互联标准之一。2.0版AMBA标准定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。AHB的总线架构的相互连接采用了传统的带有主模块和从模块的共享总线模式,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。因此,本论文所选择的总线遵从AHB总线传输的基本规范,并在此基础上针对8086CPU的特点增加和修正了某些总线的接口。整个设计主要包括两方面的内容:AHB和8086传输时序的匹配;基于8086CPU的总线接口的扩展设计。总线结构图如图3所示。图38086单芯片计算机系统总线结构3.2.2传输时序的匹配因为AHB总线和CPU的传输协议不同,所以需要匹配两个接口的时序,以保证CPU与其他外围IP可以通过总线正常通信。相关接口控制信号如表1所示。表18086CPU和AHB总线关键控制信号类别信号名输入/输出功能描述RD_N输入读信号WR_N输入写信号8086CPU接口信号READY输出就绪信号HGRANT输入总线允许信号HREADYIn输入传输完成信号HBUSREQ输出总线访问请求信号HTRANS[1:0]输出传输类型信号,表明当前传输的类型。AHB总线接口信号HWRITE输出读/写控制信号,高电平为写;低电平为读信号接口模块首先根据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一直为低电平,表示目前8086CPU要访问的AHB总线上的从设备没有准备就绪,要求8086处理器核插入等待状态,状态机一直保持T2状态不变。T3:CPU通过AHB总线与外围IP进行通信,直至通信结束,返回到T1状态。图48086CPU与AHB总线的状态转换图8086处理器核的读写信号受READY信号控制,当READY信号为高电平时,可进行数据的接收和发送,否则读写信号保持。READY信号由AHB总线上从设备传输完成信号HREADYIn、AHB总线允许信号HGRANT以及从设备应答信号HRESP三者共同决定。而总线上的读写控制信号HWRITE由组合逻辑产生。其产生过程伪码如表2所示。表2读写信号产生的伪码:ifMIO=0andWR_N=0thenHWRITE=1//AHB总线进行写操作elseMIO=0andRD_N=0thenHWRITE=0//AHB总线进行读操作endifREADY信号产生的过程伪码:if(HREADYIn=1)and(HGRANT=1)and从设备应答信号HRESP为OKEYthenREADY=1;then状态机由T2转向T1elseREADY=0;then状态机维持T2状态endif其中控制AHB传输的伪码如表3所示。表3AHB传输的伪码如下:ifREADY=1thenHTRANS=2'b10andHBUSREQ=1'b1;//CPU访问AHB总线,以单个方式传输数据。elseREADY=0thenHTRANS=2'b00andHBUSREQ=1'b0;//CPU进入等待状态,终止数据传输。endif3.2.3总线接口扩展8086CPU除了数据、地址总线以及读写和READY等主要控制信号外,还有中断请求和应答以及外接DMA设备的相关端口信号。而这些信号是标准AHB总线所不具备的,因此还需要扩展总线接口以匹配8086CPU。总线接口的扩展设计主要包括两部分:中断处理和DMA数据通道。8086CPU关于中断和DMA的端口信号如表4所示。表48086CPU中断和DMA接口信号类别信号名输入/输出功能描述INTR输入可屏蔽的中断请求信号INTAN输出中断响应信号HOLD输入总线保持请求信号8086CPU接口信号HLDA输出总线保持响应信号系统总线在接收到外设的中断请求之后,会向CPU
本文标题:基于8086CPU的单芯片计算机系统的设计
链接地址:https://www.777doc.com/doc-359535 .html