A. 存储器设计题!
(1)需要8片,因为16/2=8。
(2)因为16K=2的14次方,所以需要14位地址,即A13~A0。
(3)因为每个芯片都是2K×8位,而2k=2的11次方,所以加至各芯片的地址线是需要11位,即A10~A0。
(4)产生片选信号的地址线时去掉加至各芯片的地址线的部分,即A13~A11。
B. 嵌入式系统的存储器设计需要考虑哪些方面
常见的嵌入式系统
Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive
什么是嵌入式操作系统?嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。嵌入时操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,并且把硬件虚拟化。
从应用角度可分为通用型嵌入式操作系统和专用型嵌入式操作系统。常见的通用型嵌入式操作系统有Linux、VxWorks、Windows CE.net等。常用的专用型嵌入式操作系统有Smart Phone、Pocket PC、Symbian等。
按实时性可分为两类:
实时嵌入式操作系统主要面向控制、通信等领域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等。
非实时嵌入式操作系统主要面向消费类电子产品。这类产品包括PDA、移动电话、机顶盒、电子书、WebPhone等。如微软面向手机应用的Smart Phone操作系统。
C. 【计算机组成原理】存储器设计问题
1、要考虑速度问题,即CPU和存储器之间的速度;
2、容量问题,CPU的访问地址线要能够足够存储单元用。
3、成本问题,要适合要设计的系统,成本要低;
4、可靠性问题
5、存储器类型,选用eeprom还是flash rom,还是EPROM等等
第一问:ROM需要6个,先用两个组成2K*8一组,再用3组组成6K*8的ROM;RAM需要4个芯片组成2K*8.总计8K,所以需要13条地址线。片选信号,CPU的WR RD分别连接RAM芯片的EN ,OE ; EA连接ROM的OE。
芯片数量的计算方法为 数量n =ROM或RAM的总容量/ROM或RAM单个芯片的容量
D. 选用2764 EPROM 存储芯片,设计一个64KB的程序存储器,写出设计步骤…
4.2参见p.106-107
总线操作指的是发生在总线上的某些特定操作,总线周期指的是完成一次特定总线操作所需的时间。对8088而言其典型的总线周期由 4个T状态组成。PC/XT所采用的时钟频率为4.77MHz,每个T状态的持续时间为210ns。如果CLK引脚接5MHz的时钟信号,那么每个T状态的持续时间为200ns。
4.4解答:
当8088进行读写存储器或I/O接口时,如果存储器或I/O接口无法满足CPU的读写时序(来不及提供或读取数据时),需要CPU插入等待状态TW。(在T3前沿检测Ready信号,若无效则插入TW 。)
具体在读写总线周期的T3和T4之间插入TW。
4.6参见p.99,p.110
8088的某些输出线有三种状态:高电平、低电平、悬空(高阻态),称为三态能力。在高阻状态,CPU放弃其了对该引脚的控制权,由连接它的设备接管。
具有三态能力的引脚有:AD7~AD0,A15~A8,A19/S6~A16/S3,ALE,IO/M*,WR*,RD*,DEN*,DT/R*。
4.11
总线周期 IO/M* WR* RD*
存储器读 低 高 低
存储器写 低 低 高
I/O读 高 高 低
I/O写 高 低 高
4.12 答:
取该指令时引发存储器读总线操作。执行该指令时引发I/O读总线操作。(时序图略)
4.13 8088系统最小组态下,对指令ADD [2000H],AX (长度3B)。
答:取该指令时需要3个总线周期,均为存储器读周期。
执行该指令时需要4个总线周期,2个为存储器读总线周期(读出字操作数参与运算),2个为存储器写总线周期(保存16位运算结果)。
4.15 参见p.106图
74LS373 的G为电平锁存引脚,控制选通且转为无效时锁存数据。
OE* 输出允许引脚,信号来自ALE。
4.16 参见p.106图
数据收发器74LS245 是8位双向缓冲器,G*控制端为低电平有效,可传输数据;DIR控制导通方向:DIR=1,A→B;DIR=0,A←B。
4.17 参见p.111-112
归纳为:1、8086数据总线变为16位,数据地址线复用为AD15~AD0。
2、8086指令队列程度变为6字节长,当有2个字节空才取下一指令。
3、8088引脚IO/M* ,8086变为M/IO*;
4、引脚SS0* 变为BHE*/S7,BHE* 的作用是使D15~D8有效。
5、8086存储器组织为奇偶分块,偶地址取字只要读1次,奇地址取字需要读两次。
6、I/O端口大都采用偶地址,目的是引导8位数据到低8位总线AD7~AD0上,以提高效率。
=========================
5.1
Cache、主存和辅存的作用——参见 p.120~121
虚拟存储器——参见p.121
在CPU看来,访问主存和访问辅存有什么不同?
访问主存:通过存储器访问机器指令,按字随机访问。
访问辅存:通过操作系统,按块顺序访问。
5.2 在半导体存储器中,RAM指的是 随机存取存储器 ,它可读可写,但断电后信息一般会 丢失 ;而ROM指的是 只读存储器 ,正常工作时只能从中 读取 信息,但断电后信息 不会丢失 。以EPROM芯片2764为例,其存储容量为8K×8位,共有 8 条数据线和 13 条地址线。用它组成64KB的ROM存储区共需 8 片2764芯片。
5.4 一个容量为4K×4位的假想RAM存储芯片,他应该有多少根地址线引脚和多少根数据线引脚?如果让你来进行设计,那么它还需要哪些控制引脚?这些引脚分别起什么样的控制作用?
解答:
4K×4的芯片应该有12根地址线引脚和4根数据线引脚。
控制引脚应该有:
读取信号OE*:有效时,表示读取存储单元的数据
写入信号WE*:有效时,表示将数据写入存储单元
片选信号CS*:有效时,表示选中该芯片,可以进行读写操作。
5.7 什么是存储芯片的位扩充和地址扩充?采用静态RAM的芯片2114(1K*4位)或动态RAM的芯片4116(16K*1位)来组成32KB的RAM存储区,请问各需要多少芯片?在位方向和地址方向各需要进行什么样的扩充?
解答:(参见p.140) 使用多个芯片来扩充存储数据位的宽度,称为位扩充。
采用多个芯片在地址方向上进行扩充,称为地址扩充或字扩充。
用SRAM 2114组成32KBRAM存储区:2片为一组,得1KB,所以组成32KB就要32组,共需要64片SRAM 2114。
用DRAM 4116组成32KBRAM存储区:8片为一组,得16KB,所以组成32KB只要2组,共需要16片DRAM 4116。
机床作为机械制造业的重要基础装备,它的发展一直引起人们的关注,由于计算机技术的兴起,促使机床的控制信息出现了质的突破,导致了应用数字化技术进行柔性自动化控制的新一代机床-数控机床的诞生和发展。计算机的出现和应用,为人类提供了实现机械加工工艺过程自动化的理想手段。随着计算机的发展,数控机床也得到迅速的发展和广泛的应用,同时使人们对传统的机床传动及结构的概念发生了根本的转变。数控机床以其优异的性能和精度、灵捷而多样化的功能引起世人瞩目,并开创机械产品向机电一体化发展的先河。 数控机床是以数字化的信息实现机床控制的机电一体化产品,它把刀具和工件之间的相对位置,机床电机的启动和停止,主轴变速,工件松开和夹紧,刀具的选择,冷却泵的起停等各种操作和顺序动作等信息用代码化的数字记录在控制介质上,然后将数字信息送入数控装置或计算机,经过译码,运算,发出各种指令控制机床伺服系统或其它的执行元件,加工出所需的工件。 数控机床与普通机床相比,其主要有以下的优点: 1. 适应性强,适合加工单件或小批量的复杂工件; 在数控机床上改变加工工件时,只需重新编制新工件的加工程序,就能实现新工件加工。 2. 加工精度高; 3. 生产效率高; 4. 减轻劳动强度,改善劳动条件; 5. 良好的经济效益; 6. 有利于生产管理的现代化。 数控机床已成为我国市场需求的主流产品,需求量逐年激增。我国数控机机床近几年在产业化和产品开发上取得了明显的进步,特别是在机床的高速化、多轴化、复合化、精密化方面进步很大。但是,国产数控机床与先进国家的同类产品相比,还存在差距,还不能满足国家建设的需要。 我国是一个机床大国,有三百多万台普通机床。但机床的素质差,性能落后,单台机床的平均产值只有先进工业国家的1/10左右,差距太大,急待改造。 旧机床的数控化改造,顾名思义就是在普通机床上增加微机控制装置,使其具有一定的自动化能力,以实现预定的加工工艺目标。 随着数控机床越来越多的普及应用,数控机床的技术经济效益为大家所理解。在国内工厂的技术改造中,机床的微机数控化改造已成为重要方面。许多工厂一面购置数控机床一面利用数控、数显、PC技术改造普通机床,并取得了良好的经济效益。我国经济资源有限,国家大,机床需要量大,因此不可能拿出相当大的资金去购买新型的数控机床,而我国的旧机床很多,用经济型数控系统改造普通机床,在投资少的情况下,使其既能满足加工的需要,又能提高机床的自动化程度,比较符合我国的国情。 1984年,我国开始生产经济型数控系统,并用于改造旧机床。到目前为止,已有很多厂家生产经济型数控系统。可以预料,今后,机床的经济型数控化改造将迅速发展和普及。所以说,本毕业设计实例具有典型性和实用性。 第二章 总体方案的设计 2.1 设计任务 本设计任务是对CA6140普通车床进行数控改造。利用微机对纵、横向进给系统进行开环控制,纵向(Z向)脉冲当量为0.01mm/脉冲,横向(X向)脉冲当量为0.005mm/脉冲,驱动元件采用步进电机,传动系统采用滚珠丝杠副,刀架采用自动转位刀架。 2.2 总体方案的论证 对于普通机床的经济型数控改造,在确定总体设计方案时,应考虑在满足设计要求的前提下,对机床的改动应尽可能少,以降低成本。 (1)数控系统运动方式的确定 数控系统按运动方式可分为点位控制系统、点位直线控制系统、连续控制系统。由于要求CA6140车床加工复杂轮廓零件,所以本微机数控系统采用两轴联动连续控制系统。 (2)伺服进给系统的改造设计 数控机床的伺服进给系统有开环、半闭环和闭环之分。 因为开环控制具有结构简单、设计制造容易、控制精度较好、容易调试、价格便宜、使用维修方便等优点。所以,本设计决定采用开环控制系统。 (3)数控系统的硬件电路设计 任何一个数控系统都由硬件和软件两部分组成。硬件是数控系统的基础,性能的好坏直接影响整体数控系统的工作性能。有了硬件,软件才能有效地运行。 在设计的数控装置中,CPU的选择是关键,选择CPU应考虑以下要素: 1. 时钟频率和字长与被控对象的运动速度和精度密切相关; 2. 可扩展存储器的容量与数控功能的强弱相关; 3. I/O口扩展的能力与对外设控制的能力相关。 除此之外,还应根据数控系统的应用场合、控制对象以及各种性能、参数要求等,综合起来考虑以确定CPU。在我国,普通机床数控改造方面应用较普遍的是Z80CPU和MCS-51系列单片机,主要是因为它们的配套芯片便宜,普及性、通用性强,制造和维修方便,完全能满足经济型数控机床的改造需要。本设计中是以MCS-51系列单片机,51系列相对48系列指令更丰富,相对96系列价格更便宜,51系列中,是无ROM的8051,8751是用EPROM代替ROM的8051。目前,工控机中应用最多的是8031单片机。本设计以8031芯片为核心,增加存储器扩展电路、接口和面板操作开关组成的控制系统。 2.3 总体方案的确定 经总体设计方案的论证后,确定的CA6140车床经济型数控改造示意图如图所示。CA6140车床的主轴转速部分保留原机床的功能,即手动变速。车床的纵向(Z轴)和横向(X轴)进给运动采用步进电机驱动。由8031单片机组成微机作为数控装置的核心,由I/O接口、环形分配器与功率放大器一起控制步进电机转动,经齿轮减速后带动滚珠丝杠转动,从而实现车床的纵向、横向进给运动。刀架改成由微机控制的经电机驱动的自动控制的自动转位刀架。为保持切削螺纹的功能,必须安装主轴脉冲发生器,为此采用主轴靠同步齿形带使脉冲发生器同步旋转,发出两路信号:每转发出的脉冲个数和一个同步信号,经隔离电路以及I/O接口送给微机。如图2-1所示: 第三章 微机数控系统硬件电路设计 3.1微机数控系统硬件电路总体方案设计 本系统选用8031CPU作为数控系统的中央处理机。外接一片2764EPROM,作为监控程序的程序存储器和存放常用零件的加工程序。再选用一片6264RAM用于存放需要随机修改的零件程序、工作参数。采用译码法对扩展芯片进行寻址,采用74LS138译码器完成此功能。8279作为系统的输入输出口扩展,分别接键盘的输入、输出显示,8255接步进电机的环形分配器,分别并行控制X轴和Z轴的步进电机。另外,还要考虑机床与单片机之间的光电隔离,功率放大电路等。其硬件框图如图3-1所示: 图3-2 8031芯片内部结构图 各引脚功能简要介绍如下: ⒈ 源引脚 VSS:电源接地端。 VCC:+5V电源端。 ⒉ 输入/输出(I/O)口线 8031单片机有P0、P1、P2、P3 4个端口,每个端口8根I/O线。当系统扩展外部存储器时,P0口用来输出低8位并行数据,P2口用来输出高8位地址,P3口除可作为一个8位准双向并行口外,还具有第二功能,各引脚第二功能定义如下: P3.0 RXD:串行数据输入端。 P3.1 TXD:串行数据输出端 P3.2 INT0:外部中断0请求信号输入端。 P3.3 INT1:外部中断1请求信号输入端。 P3.4 T0:定时器/计数器0外部输入端 P3.5 T1:定时器/计数器1外部输入端 P3.6 WR:外部数据存储器写选通。 P3.7 RD:外部数据存储器读选通。 在进行第二功能操作前,对第二功能的输出锁存器必须由程序置1。 ⒊ 信号控制线 RST/VPD:RST为复位信号线输入引脚,在时钟电路工作以后,该引脚上出现两个机器周期以上的高电平,完成一次复位操作。 8031单片机采用两种复位方式:一种是加电自动复位,另一种为开关复位。 ALE/PROG:ALE是地址锁存允许信号。它的作用是把CPU从P0口分时送出的低8位地址锁存在一个外加的锁存器中。 :外部程序存储器读选通信号。当其为低电平时有效。
VPP:当EA为高电平且PC值小于0FFFH时CPU执行内部程序存储器中的程序。当EA为低电平时,CPU仅执行外部程序存储器中的程序。 XTAL1:震荡器的反相放大器输入,使用外部震荡器时必须接地; XTAL2:震荡器的反相放大器输出,使用外部震荡器时,接收外围震荡信号; (2)片外三总线结构 单片机在实际应用中,常常要扩展外部存储器、I/O口等。单片机的引脚,除了电源、复位、时钟输入以及用户I/O口外,其余的引脚都是为了实现系统扩展而设置的,这些引脚构成了三总线形式: ⒈ 地址总线AB 地址总线宽度为16位。因此,外部存储器直接寻址范围为64KB。由P0口经地址锁存器提供16位地址总线的低8位地址(A7~A0),P2口直接提供高8位地址(A15~A8)。 ⒉ 数据总线DB 数据总线宽度为8位,由P0口提供。 ⒊ 控制总线CB 控制总线由第二功能状态下的P3口和4根独立的控制线RST、EA、ALE和PSEN组成。其引脚图如图3-3所示: 3.1.2 8255A可编程并行I/O口扩展芯片 8255A可编程并行I/O口扩展芯片可以直接与MCS系列单片机系统总线连接,它具有三个8位的并行I/O口,具有三种工作方式,通过编程能够方便地采用无条件传送、查询传送或中断传送方式完成CPU与外围设备之间的信息交换。8255A的结构及引脚功能: 1、 8255A的结构 8255A的内部结构如图3-4所示。其中包括三个8位并行数据I/O端口,二个工作方式控制电路,一个读/写控制逻辑电路和一个8位数据总线缓冲器。各部分功能介绍如下: (1) 三个8位并行I/O端口A、B、C A口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器。可编程为8位输入、或8位输出、或8位双向寄存器。B口:具有一个8位数据输出锁存/缓冲器和一个8位输入或输出寄存器,但不能双向输入/输出。C口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器,C口可分作两个4位口,用于输入或输出,也可作为A口和B口选通方式工作时的状态控制信号。 (2) 工作方式控制电路 A、B两组控制电路把三个端口分成A、B两组,A组控制A口各位和C口高四位,B组控制B口各位和C口低四位。两组控制电路各有一个控制命令寄存器,用来接收由CPU写入的控制字,以决定两组端口的工作方式。也可根据控制字的要求对C口按位清“0”或置“1”。 (3) 读/写控制逻辑电路 它接收来自CPU的地址信号及一些控制信号,控制各个口的工作状态。 (4) 数据总线缓冲器 它是一个三态双向缓冲器,用于和系统的数据总线直接相连,以实现CPU和8255A之间信息的传送。
E. 微机原理与接口技术 存储器接口设计
用EPROM2732(4Kx8)组成8KBROM,--需要 2 片;
用SRAM6264(8Kx8)组成40KBRAM,--需要 5 片。
说明下74LS138译码器的6个引线A、B、C、G1、G2B、G2A分别与哪些地址线怎样相连?
--要和《地址》、《读控制》、《写控制》线连接。
怎样相连?
--题目没有具体的连接要求,那么,怎样连,都行。
F. SRAM存储器的设计理念
此设计,来源于数字电子技术中的:D 触发器。
G. 存储器的原理是什么
存储器讲述工作原理及作用
介绍
存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
2.按存取方式分类
(1)随机存储器(RAM):如果存储器中任何存储单元的内容都能被随机存取,且存取时间与存储单元的物理位置无关,则这种存储器称为随机存储器(RAM)。RAM主要用来存放各种输入/输出的程序、数据、中间运算结果以及存放与外界交换的信息和做堆栈用。随机存储器主要充当高速缓冲存储器和主存储器。
(2)串行访问存储器(SAS):如果存储器只能按某种顺序来存取,也就是说,存取时间与存储单元的物理位置有关,则这种存储器称为串行访问存储器。串行存储器又可分为顺序存取存储器(SAM)和直接存取存储器(DAM)。顺序存取存储器是完全的串行访问存储器,如磁带,信息以顺序的方式从存储介质的始端开始写入(或读出);直接存取存储器是部分串行访问存储器,如磁盘存储器,它介于顺序存取和随机存取之间。
(3)只读存储器(ROM):只读存储器是一种对其内容只能读不能写入的存储器,即预先一次写入的存储器。通常用来存放固定不变的信息。如经常用作微程序控制存储器。目前已有可重写的只读存储器。常见的有掩模ROM(MROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM).ROM的电路比RAM的简单、集成度高,成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序、成熟的用户程序放在ROM中。
3.按信息的可保存性分类
非永久记忆的存储器:断电后信息就消失的存储器,如半导体读/写存储器RAM。
永久性记忆的存储器:断电后仍能保存信息的存储器,如磁性材料做成的存储器以及半导体ROM。
4.按在计算机系统中的作用分
根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。
能力影响
从写命令转换到读命令,在某个时间访问某个地址,以及刷新数据等操作都要求数据总线在一定时间内保持休止状态,这样就不能充分利用存储器通道。此外,宽并行总线和DRAM内核预取都经常导致不必要的大数据量存取。在指定的时间段内,存储器控制器能存取的有用数据称为有效数据速率,这很大程度上取决于系统的特定应用。有效数据速率随着时间而变化,常低于峰值数据速率。在某些系统中,有效数据速率可下降到峰值速率的10%以下。
通常,这些系统受益于那些能产生更高有效数据速率的存储器技术的变化。在CPU方面存在类似的现象,最近几年诸如AMD和 TRANSMETA等公司已经指出,在测量基于CPU的系统的性能时,时钟频率不是唯一的要素。存储器技术已经很成熟,峰值速率和有效数据速率或许并不比以前匹配的更好。尽管峰值速率依然是存储器技术最重要的参数之一,但其他结构参数也可以极大地影响存储器系统的性能。
影响有效数据速率的参数
有几类影响有效数据速率的参数,其一是导致数据总线进入若干周期的停止状态。在这类参数中,总线转换、行周期时间、CAS延时以及RAS到CAS的延时(tRCD)引发系统结构中的大部分延迟问题。
总线转换本身会在数据通道上产生非常长的停止时间。以GDDR3系统为例,该系统对存储器的开放页不断写入数据。在这期间,存储器系统的有效数据速率与其峰值速率相当。不过,假设100个时钟周期中,存储器控制器从读转换到写。由于这个转换需要6个时钟周期,有效的数据速率下降到峰值速率的 94%。在这100个时钟周期中,如果存储器控制器将总线从写转换到读的话,将会丢失更多的时钟周期。这种存储器技术在从写转换到读时需要15个空闲周期,这会将有效数据速率进一步降低到峰值速率的79%。表1显示出针几种高性能存储器技术类似的计算结果。
显然,所有的存储器技术并不相同。需要很多总线转换的系统设计师可以选用诸如XDR、RDRAM或者DDR2这些更高效的技术来提升性能。另一方面,如果系统能将处理事务分组成非常长的读写序列,那么总线转换对有效带宽的影响最小。不过,其他的增加延迟现象,例如库(bank)冲突会降低有效带宽,对性能产生负面影响。
DRAM技术要求库的页或行在存取之前开放。一旦开放,在一个最小周期时间,即行周期时间(tRC)结束之前,同一个库中的不同页不能开放。对存储器开放库的不同页存取被称为分页遗漏,这会导致与任何tRC间隔未满足部分相关的延迟。对于还没有开放足够周期以满足tRC间隙的库而言,分页遗漏被称为库冲突。而tRC决定了库冲突延迟时间的长短,在给定的DRAM上可用的库数量直接影响库冲突产生的频率。
大多数存储器技术有4个或者8个库,在数十个时钟周期具有tRC值。在随机负载情况下,那些具有8个库的内核比具有4个库的内核所发生的库冲突更少。尽管tRC与库数量之间的相互影响很复杂,但是其累计影响可用多种方法量化。
存储器读事务处理
考虑三种简单的存储器读事务处理情况。第一种情况,存储器控制器发出每个事务处理,该事务处理与前一个事务处理产生一个库冲突。控制器必须在打开一个页和打开后续页之间等待一个tRC时间,这样增加了与页循环相关的最大延迟时间。在这种情况下的有效数据速率很大程度上决定于I/O,并主要受限于DRAM内核电路。最大的库冲突频率将有效带宽削减到当前最高端存储器技术峰值的20%到30%。
在第二种情况下,每个事务处理都以随机产生的地址为目标。此时,产生库冲突的机会取决于很多因素,包括tRC和存储器内核中库数量之间的相互作用。tRC值越小,开放页循环地越快,导致库冲突的损失越小。此外,存储器技术具有的库越多,随机地址存取库冲突的机率就越小。
第三种情况,每个事务处理就是一次页命中,在开放页中寻址不同的列地址。控制器不必访问关闭页,允许完全利用总线,这样就得到一种理想的情况,即有效数据速率等于峰值速率。
第一种和第三种情况都涉及到简单的计算,随机情况受其他的特性影响,这些特性没有包括在DRAM或者存储器接口中。存储器控制器仲裁和排队会极大地改善库冲突频率,因为更有可能出现不产生冲突的事务处理,而不是那些导致库冲突的事务处理。
然而,增加存储器队列深度未必增加不同存储器技术之间的相对有效数据速率。例如,即使增加存储器控制队列深度,XDR的有效数据速率也比 GDDR3高20%。存在这种增量主要是因为XDR具有更高的库数量以及更低的tRC值。一般而言,更短的tRC间隔、更多的库数量以及更大的控制器队列能产生更高的有效带宽。
实际上,很多效率限制现象是与行存取粒度相关的问题。tRC约束本质上要求存储器控制器从新开放的行中存取一定量的数据,以确保数据管线保持充满。事实上,为保持数据总线无中断地运行,在开放一个行之后,只须读取很少量的数据,即使不需要额外的数据。
另外一种减少存储器系统有效带宽的主要特性被归类到列存取粒度范畴,它规定了每次读写操作必须传输的数据量。与之相反,行存取粒度规定每个行激活(一般指每个RAS的CAS操作)需要多少单独的读写操作。列存取粒度对有效数据速率具有不易于量化的巨大影响。因为它规定一个读或写操作中需要传输的最小数据量,列存取粒度给那些一次只需要很少数据量的系统带来了问题。例如,一个需要来自两列各8字节的16字节存取粒度系统,必须读取总共32字节以存取两个位置。因为只需要32个字节中的16个字节,系统的有效数据速率降低到峰值速率的50%。总线带宽和脉冲时间长度这两个结构参数规定了存储器系统的存取粒度。
总线带宽是指连接存储器控制器和存储器件之间的数据线数量。它设定最小的存取粒度,因为对于一个指定的存储器事务处理,每条数据线必须至少传递一个数据位。而脉冲时间长度则规定对于指定的事务处理,每条数据线必须传递的位数量。每个事务处理中的每条数据线只传一个数据位的存储技术,其脉冲时间长度为1。总的列存取粒度很简单:列存取粒度=总线宽度×脉冲时间长度。
很多系统架构仅仅通过增加DRAM器件和存储总线带宽就能增加存储系统的可用带宽。毕竟,如果4个400MHz数据速率的连接可实现 1.6GHz的总峰值带宽,那么8个连接将得到3.2GHz。增加一个DRAM器件,电路板上的连线以及ASIC的管脚就会增多,总峰值带宽相应地倍增。
首要的是,架构师希望完全利用峰值带宽,这已经达到他们通过物理设计存储器总线所能达到的最大值。具有256位甚或512位存储总线的图形控制器已并不鲜见,这种控制器需要1,000个,甚至更多的管脚。封装设计师、ASIC底层规划工程师以及电路板设计工程师不能找到采用便宜的、商业上可行的方法来对这么多信号进行布线的硅片区域。仅仅增加总线宽度来获得更高的峰值数据速率,会导致因为列存取粒度限制而降低有效带宽。
假设某个特定存储技术的脉冲时间长度等于1,对于一个存储器处理,512位宽系统的存取粒度为512位(或者64字节)。如果控制器只需要一小段数据,那么剩下的数据就被浪费掉,这就降低了系统的有效数据速率。例如,只需要存储系统32字节数据的控制器将浪费剩余的32字节,进而导致有效的数据速率等于50%的峰值速率。这些计算都假定脉冲时间长度为1。随着存储器接口数据速率增加的趋势,大多数新技术的最低脉冲时间长度都大于1。
选择技巧
存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。
选择存储器时应遵循的基本原则
1、内部存储器与外部存储器
一般情况下,当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑,人们通常选择能满足应用要求的存储器容量最小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。目前市场上存在各种规模的外部存储器器件,我们很容易通过增加存储器来适应代码规模的增加。有时这意味着以封装尺寸相同但容量更大的存储器替代现有的存储器,或者在总线上增加存储器。即使微控制器带有内部存储器,也可以通过增加外部串行EEPROM或闪存来满足系统对非易失性存储器的需求。
2、引导存储器
在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。例如,如果没有外部的寻址总线或串行引导接口,通常使用内部存储器,而不需要专门的引导器件。但在一些没有内部程序存储器的系统中,初始化是操作代码的一部分,因此所有代码都将驻留在同一个外部程序存储器中。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而操作代码在外部存储器中。这很可能是最安全的方法,因为改变操作代码时不会出现意外地修改引导代码。在所有情况下,引导存储器都必须是非易失性存储器。
可以使用任何类型的存储器来满足嵌入式系统的要求,但终端应用和总成本要求通常是影响我们做出决策的主要因素。有时,把几个类型的存储器结合起来使用能更好地满足应用系统的要求。例如,一些PDA设计同时使用易失性存储器和非易失性存储器作为程序存储器和数据存储器。把永久的程序保存在非易失性ROM中,而把由用户下载的程序和数据存储在有电池支持的易失性DRAM中。不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。
H. 设计存储器
4 块ROM, 3 块RAM
对于地址线的连接,注意以下要点
1) 4块ROM要同时被选中
2) 2块2k*4的RAM要被同时选中。
至于具体需要几个片选信号,在个人设计。(你的问题应该改成需要几个地址线来做片选信号)
个人观点。^_^
I. 存储器设计方法:使用128M×8位SRAM芯片设计一个512M×32位的存储器
需要16片128M*8位的芯片!
J. 单片机及存储器扩展的设计
电路如图所示,U3地址范围:0000H~7FFFH,U5地址范围:8000H~FFFFH;CPU用89C52,内有8KROM