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

1引言
随着超大规模集成电路工艺的发展,在一颗芯片上集成上百万甚至上亿个晶体管已成为现实。现在,芯片厂商都以面积最小化、功能最大化作为自己的发展方向,深亚微米效应理论及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所示。
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子系统的设计、总线的选择和接口设计,以及存储器单元的接口设计。
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速度比较低,这两种总线技术已经逐渐被淘汰。