半导体装置及计算机系统的制作方法

文档序号:6412159阅读:320来源:国知局
专利名称:半导体装置及计算机系统的制作方法
技术领域
本发明涉及半导体装置及计算机系统,特别是涉及在同一芯片内包括CPU(中央处理器)及存储器的存储器内装半导体装置及使用了存储器内装半导体装置的计算机系统。
个人计算机和工作站等系统具有包括用于进行数据运算处理的CPU(中央处理器)的微处理器及用于存储数据的存储器。把微处理器及存储器作为互相分开的芯片安装到板上,二者通过在板上印刷的外部数据总线进行数据交换。
存在着在系统中具有多个微处理器的多处理器系统。在这种多处理器系统中,存储器由多个微处理器所共有 在多处理器系统中,由各微处理器并行进行的处理顺序,有可能成为问题。即,存在着多个微处理器同时访问多个微处理器共有的存储器等共有资源那样的访问竞争问题。
在以往的多处理器系统中。通过利用信号量来解决访问竞争问题。该信号量的值表示已达到可以利用共有资源的状态了。要访问共有资源的微处理器首先读信号量的值、当判断为可以访问共有资源时,就把信号量的值改写成新值,获得该共有资源的访问权。对信号量的这一系列“读和改写”的访问必须不可分地进行。因为如果把“读”和“写”断开,则在读与写之间,其它微处理器读了尚未改写完的信号量的值以后,已判断为可以访问共有资源了、结果是在两个微处理器之间,对共有资源的访问发生了冲突。
经过上面说明的顺序获得了对共有资源访问权的微处理器,对共有资源开始访问。另一方面,由读取信号量之值的结果,来得到对共有资源访问权的微处理器进入待机状态。在过去的多处理器系统中,该信号量之值存储在与微处理器不在同一芯片的存储器中。过去的微处理器备有用于执行禁止依据其它微处理器对信号量的访问而自己对信号量进行访问的互锁存储器访问的专用指令和外部端子,在执行该专用指令时(例如,在进行对信号量的“读和改写”的访问间),请求外部总线控制器,以便维护外部端子,使一系列的存储器访问不可分地进行。总线控制器接受这一请求,禁止其它微处理器对信号量的访问。
本发明的目的在于,得到改善了从芯片外部在同一芯片内备有CPU及存储器的存储器内装半导体装置中所包括的存储器的访问与从存储器内装半导体装置中所包括的CPU对其访问的竞争问题的存储器内装半导体装置。
本发明的目的还在于,得到存储器内装半导体装置,对在同一芯片内备有CPU及存储器的存储器内装半导体装置中CPU的内装存储器的一系列存储器访问,不受来自外部的访问影响地、不可分地进行。
与本发明有关的半导体存储装置在一个芯片内包括存储数据的存储器、对存储器进行互锁访问的CPU以及控制电路;控制电路接受用于从外部访问存储器的请求信号,输出响应于请求信号的应答信号,在CPU进行互锁访问期间,使应答信号成为表示排除从外部访问存储器的状态。
还有,CPU在接受互锁访问指令后,就开始互锁访问;在接受互锁访问结束指令后,就结束互锁访问。
还有,CPU对存储器进行非互锁访问;请求信号包括用于请求总线权的保持请求的信号;应答信号包括用于通知已释放总线权的保持确认信号;在CPU的非互锁访问时,控制电路响应于保持请求信号变成表示请求总线权的电平,使保持确认信号成为表示已释放总线权的应答电平,在CPU的互锁访问期间内,通过使保持确认信号成为与应答电平不同的电平,使应答信号成为表示排除从外部访问存储器的状态。
还有,CPU对存储器进行非互锁访问;请求信号包括用于请求从外部访问存储器的芯片选择信号应答信号包括用于通知从外部访问存储器已结束的数据结束信号;当CPU非互锁访问时,控制电路响应于芯片选择信号变成表示请求从外部访问存储器的电平,使数据结束信号成为表示从外部访问存储器已结束的应答电平,在CPU的互锁访问期间内,通过使数据结束信号成为与应答电平不同的电平,使应答信号成为表示排除从外部访问存储器的状态。
还有,CPU对存储器进行非互锁访问;请求信号包括用于请求总线权的保持请求信号及从外部访问存储器的芯片选择信号;应答信号包括用于通知已释放总线权的保持确认信号及用于通知从外部访问存储器已结束了的数据结束信号;控制电路具有可以切换的第一锁定方式及第二锁定方式,在第一锁定方式下,当CPU非互锁访问时,响应于保持请求信号变成表示请求总线权的电平,使保持确认信号成为表示已释放总线权的第一应答电平,在CPU的互锁访问期间内,通过使保持确认信号成为与第一应答电平不同的电平,使应答信号成为表示排除从外部访问存储器的状态,在第二锁定方式下,当CPU非互锁访问时,响应于芯片选择信号变成表示请求从外部访问存储器的电平,使数据结束信号成为表示从外部访问存储器已结束的第二应答电平,在CPU的互锁访问期间内,通过使数据结束信号成为与第二应答电平不同的电平,使应答信号成为表示排除从外部访问存储器的状态。
还有,与本发明有关的计算机系统包括在一个芯片内包括CPU及存储器CPU对存储器进行互锁访问的半导体装置;对存储器进行访问的外部总线主控器;以及在CPU互锁访问期间内禁止依据外部总线主控器对存储器进行访问的外部总线控制器。


图1为示出本发明实施形态的计算机系统的方框图;图2为示出本发明实施形态的CPU的方框图;图3为示出本发明实施形态的外部总线接口单元的方框图;图4为示出本发明实施形态的存储器控制器的方框图;图5为示出本发明实施形态的微处理器地址空间的图;图6为示出本发明实施形态的微处理器指令取出访问操作的时间图;图7为示出本发明实施形态的微处理器操作读访问操作的定时图;图8为示出本发明实施形态的微处理器操作写访问操作的定时图;图9为示出本发明实施形态的微处理器的外部总线主控器读访问操作的时序图;图10为示出本发明实施形态的微处理器的外部总线主控器写周期操作的时序图;图11为示出本发明实施形态的微处理器的访问竞争时操作的时序图;图12为示出本发明实施形态的微处理器的访问竞争时操作的时序图;图13为示出本发明实施形态的微处理器的保持排他锁定方式时的互锁访问时序图14为示出本发明实施形态的微处理器的芯片选择排他锁定方式时的互锁访问的时序图。
实施形态1下面,根据图1~图14说明有关本发明实施形态、即动态随机存取存储器(DRAM)内装的简化指令系统计算机(RISC)型微处理器。首先,参照图1,计算机系统STM备有配置在单板上的单片微处理器100、外部总线控制器200、外部总线主控器300以及外部存储器400。微处理器100、外部总线主控器300及外部存储器400连接到在板上形成的16位宽的外部数据总线500上,通过该外部数据总线500交接数据。
微处理器100内装DRAM,接受从外部输入的时钟信号CLKIN,与该时钟信号CLKIN同步而操作。还有,微处理器100接受来自外部总线控制器200的保持请求信号/HREQ,当该保持请求信号1 HREQ变成表示请求向微处理器100的保持状态转变的L电平时,就输出变成为表示已转变成保持状态的L电平的保持确认信号/HACK。
即,当保持确认信号/HACK为表示微处理器100不处于保持状态的H电平时,能够使用外部数据总线500的总线权在微处理器100手中。例如,在外部总线主控器200需要外部总线500的总线权以便通过外部数据总线500从外部存储器400读出数据的情况下,外部总线控制器200就使用于请求外部数据总线500的总线权的保持请求信号/HREQ成为L电平,向微处理器100请求总线权。当微处理器100判断为可以提供外部数据总线500的总线权时,自己就向保持状态转变,使表示用于通知已释放了外部数据总线500的总线权的保持确认信号/HACK成为L电平,之后释放总线权。这样,外部总线控制器200控制外部总线,以免在外部数据总线500上产生来自微处理器100、外部总线主控器300及外部存储器400的数据冲突。
进而,微处理器100接受用于请求从外部总线控制器200访问微处理器100中内装DRAM的芯片选择信号/CS、用于表示该访问是读还是写的读/写信号R/W及用于指定在所访问内装DRAM区域内的地址的23位地址信号A[830]。微处理器100响应于芯片选择信号/CS,已经变成表示请求访问的L电平,当读/写信号R/W为指示“读”的H电平时,把内装DRAM区域内的地址信号A[830]指定的地址内存储着的数据作为外部数据ext D
,输出到外部数据总线500上;当读/写信号R/W为指示“写”的L电平时,把相应于外部数据ext D
的数据写到以内装DRAM区域内的地址信号A[830]指定的地址内。
进而还有,当存储着从外部总线主控器300对内装DRAM区域的访问时,微处理器100输出用于通知对内装DRAM区域的访问(内部总线周期)已结束的数据结束信号/DC。当芯片选择信号/CS成为L电平时,微处理器100就输出数据结束信号/DC,使之成为表示对内装DRAM区域的访问来结束的H电平。此后,当对内装DRAM区域的访问结束时,微处理器100就把数据结束信号/DC改变成为表示访问已结束的L电平。而且,当芯片选择信号/CS返回到原来的H电平时,微处理器100就结束数据结束信号/DC的输出 还有,当保持请求信号/HREQ返回到原来的H电平时,微处理器100就使保持确认信号/HACK成为H电平。
还有,微处理器100把用于对外部数据总线500起动总线周期的总线起动信号/BS输出到外部总线控制器200上。当访问外部存储器400时,微处理器100使总线起动信号/BS成为表示对外部数据总线500起动总线周期的L电平。与此同时,微处理器100把读/写信号R/W及地址信号A[830]提供到外部总线控制器200上,当读/写信号R/W为H电平时,通过外部数据总线500从外部存储器400作为外部数据ext D
读出数据;当读/写信号R/W为L电平时,把数据作为外部数据ext D
输出到外部数据总线500上,将此数据写入外部存储器400中。此后,当外部总线控制器200使数据结束信号/DC改变成为表示对外部存储器400的访问(外部总线周期)已结束的L电平时,微处理器100就使总线起动信号/BS成为H电平。还有,微处理器100根据数据结束信号/DC已变成L电平将读出数据锁存起来,或者结束写入数据的保持。
外部总线控制器200接受用于通知从外部总线主控器300请求外部数据总线500的总线权的总线权请求信号/REQB。当该总线权请求信号/REQB变成为表示总线权已被请求的L电平时,外部总线控制器200就使保持请求信号/HREQ成为L电平,与此同时,中断输出已成为H电平的数据结束信号/DC。在此瞬间,因为微处理器100也不输出数据结束信号/DC了,所以,该数据结束信号/DC变成为高阻状态。当总线权请求信号/REQB变成H电平时,外部总线控制器200使保持请求信号/HREQ成为H电平。
还有,外部总线控制器200接受用于表示从外部总线主控器300读出或写入的总线主控器用读/写信号R/WBM及24位地址信号A[831],输出用于访问微处理器100内DRAM区域的控制信号/CS、R/W、A[830]及用于访问外部存储器400的控制信号CTRL。当保持确认信号/HACK响应于保持请求信号/HREQ而变成L电平时,外部总线控制器200响应于总线主控器用读/写信号R/WBM及地址信号A[831],改变控制信号/CS、R/W、A[830]或控制信号CTRL 。
更详细地说,如果来自外部总线主控器300的24位地址信号A[831]中的4位A[811]为0000,外部总线控制器200就判断为是访问微处理器100中的内装DRAM区域。而且,外部总线控制器200使芯片选择信号/CS成为L电平,与此同时,把地址信号A[831]中的23位A[830]提供给微处理器100上,如果总线主控器用读/写信号R/WBM为H电平,就判断为“读”,使读/写信号R/W成为H电平;如果总线主控器用读/写信号R/WBM为L电平,就判断为“写”,使读/写信号R/W成为L电平。还有,如果24位地址信号A[831]中的4位A[811]内至少一位为1,就判断为是访问外部存储器400。而且,外部总线控制器200使控制信号CTRL根据地址信号A[831]及总线主控器用读/写信号R/WBM而改变。在这里,控制信号CTRL表示用于控制外部存储器400的多个信号的总称。
进而还有,外部总线控制器200把用于通知对微处理器100的内装DRAM区域或对外部存储器400的访问已结束的总线主控器用数据结束信号/DCBM输出给外部总线主控器300。当外部总线主控器300访问了微处理器100的内装DRAM区域时,当借助于微处理器100使数据结束信号/DC成为L电平时,外部总线控制器200使总线主控器用数据结束信号/DCBM成为表示访问已结束的L电平。还有,当外部总线主控器300访问了外部存储器400时,当估计经过了预先确定的外部存储器400的“读”或“写”周期时间以后,外部总线控制器200就使总线主控器用数据结束信号/DCBM成为L电平。
还有,当使芯片选择信号/CS成为L电平时,当使来自外部总线主控器300的总线权请求信号/REQB成为H电平时,在使保持请求信号/HREQ改变成为H电平之前或与此同时,外部总线控制器200使芯片选择信号/CS成为H电平,同时结束读/写信号R/W及地址信号A[830]的输出。
进而,当总线起动信号/BS变成L电平时,外部总线控制器200就判断为是从微处理器100访问外部存储器400。而且,外部总线控制器200根据来自微处理器100的读/写信号R/W及地址信号A[830]改变控制信号CTRL。此后,当估计经过了预先确定的外部存储器400的“读”或“写”周期时间以后,外部总线控制器200就使数据结束信号/DC成为L电平,与此同时,结束控制信号CTRL的保持。
外部总线主控器300请求对数据总线500的总线权。在该外部总线主控器300中,例如包括与微处理器100的结果相同的微处理器或结构不同的其它种类的微处理器等。当访问微处理器100的内装DRAM区域或外部存储器400时,外部总线主控器300就使总线权请求信号/REQB成为L电平,与此同时,把总线主控器用读/写信号R/WBM及地址信号A[831]改变成相应于访问的电平。还有,当总线主控器用数据结束信号/DCBM变成L电平时,在读周期时,外部总线主控器300就把外部数据ext D
馈存起来;在写周期时,结束外部数据ext D
的保持。
外部存储器400具有16M字节(128M位)的容量,例如包括两个(每一个包括8部分)64M位的DRAM。外部存储器400从外部总线控制器200接受控制信号,相应于该控制信号CTRL存储通过外部数据总线500提供的外部数据ext D
;把存储着的数据作为外部数据extD
输出到外部数据总线500上。
其次,说明有关微处理器100的结构。参照图1,微处理器100在1个芯片内备有进行数据运算的CPU 110、存储数据的1M字节(8M位)的内装DRAM 120及存储着在内装DRAM 120中所存储的数据的一部分的4K字节(32K位)的超高速缓冲存储器130。还有,微处理器100备有接受从外部输入的时钟信号CLKIN、产生频率为时钟信号CLKIN的4倍的时钟信号CLOCK及与时钟信号CLKIN同步的内部时钟信号int CLK的锁相环(PLL)时钟产生电路140。进而,微处理器100备有用于在芯片外部与内部电路之间交换信号的外部总线接口单元150。进而还有,微处理器100备有存储器控制器160,与时钟信号CLOCK同步而操作,从CPU110及外部总线接口单元150接受各种信号,响应于这些信号,控制DRAM 120及超高速缓冲存储器130。还有,微处理器100备有128位宽的内部数据总线170、CPU 110、DRAM 120、超高速缓冲存储器130及外部总线接口单元150,通过该内部数据总线170进行数据的交换。
CPU 110输出用于对存储器160通知请求在CPU 110中取出指令码的指令取出访问请求信号/REQF、用于通知请求把指令的执行目标数据即操作数读出或写入的操作数访问请求信号/REQO、用于指定进行指令取出访问的存储器地址的指令取出访问地址信号AF、用于指定进行操作访问的存储器地址的操作数访问地址信号AO及用于通知CPU 110请求的对内装DRAM区域的访问是否为互锁访问的锁定信号/LOCK。因为在超高速缓冲存储器130中复制并存储着DRAM 120的一部分数据,所以,所谓对内装DRAM区域的访问意味着对DRAM 120或超高速缓冲存储器130的访问。还有,CPU 110输出用于表示操作数访问是“读”还是“写”的操作数读/写信号OPR/W。
还有,CPU 110从存储器控制器160接受用于表示指令取出访问已响应的指令取出访问确认信号/ACKF、用于表示操作数访问已响应的操作数访问确认信号/ACKO、用于通知指令取出访问已结束的指令取出访问结束信号/ENDF及用于通知操作数访问已结束的操作数访问结束信号/ENDO。
而且,在指令取出访问时,CPU 110使指令取出访问请求信号/REQF成为表示指令取出访问C请求的L电平,与此同时,根据要访问的地址来改变指令取出访问的地址信号AF。在响应该指令取出访问请求信号/REQF、指令取出访问确认信号/ACKF改变成L电平以后,当指令取出访问结束信号/ENDF改变成表示指令取出访问结束的L电平时,CPU110就把内部数据总线170上的128位的内部数据int D
锁存起来。
还有,当操作数访问时,CPU 110使操作数访问请求信号/REQO成为表示操作数访问已请求的L电平。与此同时,CPU 110在操作数读出的情况下,使操作数读/写信号OPR/W成为H电平;在操作数写入的情况下,使操作数读/写信号OPR/W成为L电平,根据要访问的地址来改变内部地址信号int A。还有,在操作数“读”为按照互锁访问的情况下,使锁定信号/LOCK成为表示互锁访问的L电平。此后,当操作数访问确认信号/ACKO改变成L电平时,在操作数写的情况下,把操作数作为内部数据int D
中的32位数据输出到内部数据总线170上。还有,在操作数“写”为按照互锁访问的情况下,为了结束互锁访问期间,使锁定信号/LOCK成为H电平。此后,当操作数访问结束信号/ENDO改变成表示操作数访问结束的L电平时,在操作数“读”的情况下,CPU 110把内部数据总线170上的128位内部数据int D
锁存起来;在操作数“写”的情况下, CPU 110结束向内部数据总线170输出的操作数的保持。
DRAM 120从存储器控制器160接受控制信号CTRLD,响应于该控制信号CTRLD,把通过内部数据总线170接受的内部数据int D
存储起来;把存储着的数据作为内部数据int D
输出到内部数据总线170上。在这里,控制信号CTRLD是用于对DRAM 120进行“读”及“写”操作的各种信号的总称。
超高速缓冲存储器130由静态随机存取存储器(SRAM)构成。超高速缓冲存储器130从存储器控制器160接受控制信号CTRLC,响应于该控制信号CTRLC,把通过内部数据总线170接受的内部数据intD
存储起来;把存储着的数据作为内部数据int D
输出到内部数据总线170上。在这里,控制信号CTRLC是用于对超高速缓冲存储器130进行“读”及“写”操作的各种信号的总称。还有,超高速缓冲存储器130能够把内装DRAM 120中所存储数据的一部分及外部存储器400中所存储数据的一部分复制并存储起来。即,内装DRAM 120的超高速缓冲存储器或外部存储器400的超高速缓冲存储器可以切换;但是,在这里,作为内装DRAM 120的超高速缓冲存储器加以说明。
PLL时钟产生电路140包括倍频电路,例如,当从外部输入的时钟信号CLKIN的频率为16.65MHz时,输出66.6MHz的时钟信号CLOCK。内部时钟信号int CLK是与输入时钟信号CLKIN相位相同的信号,频率与时钟信号CLKIN相同。
外部总线接口单元150从外部接受保持请求信号/HREQ、芯片选择信号/CS、数据结束信号/DC、读/写信号R/W及地址信号A[830],输出分别相应于这些信号的内部保持请求信号int/HREQ、内部芯片选择信号int/CS、内部数据结束信号int/DC、内部读/写信号int R/W及内部地址信号int A[830]。还有,外部总线接口单元150接受内部保持确认信号int/HACK、内部数据结束信号int/DC、内部读/写信号int R/W及内部总线起动信号int/BS,把分别相应于这些信号的保持确认信号/HACK、数据结束信号/DC、读/写信号R/W及总线起动信号/BS输出到外部。
还有,外部总线接口单元150进行在外部数据总线500与内部数据总线170之间的数据传送。当从内部数据总线170把数据传送到外部数据总线500上时,外部总线接口单元150首先把内部数据总线170上的128位并行的内部数据int D
暂时保持,然后,将其作为外部数据ext D
、以16位为单位依次输出到外部数据总线500上。相反,当把数据从外部数据总线500传送到内部数据总线170上时,外部总线接口单元150首先把外部数据总线500上的外部数据ext D
以16位为单位依次串行地取出并保持,然后,将其并行地输出到内部数据总线170上。并行输出的方法有一直到取出128位以后并行地输出128位的情况,有取出32位就停住、并行输出32位的情况;同样地,还有输出64位、输出96位的情况。
存储器控制器160从CPU 110接受指令取出访问地址信号AF、操作数访问地址信号AD、指令取出访问请求信号/REQF、操作数访问请求信号/REQO、锁定信号/LOCK及操作数读/写信号OPR/W,从外部总线接口单元150接受内部保持请求信号int/HREQ及内部数据结束信号int/DC。内部保持请求信号int/HREQ及内部芯片选择信号int/CS是为了从外部访问内装DRAM区域所必需的信号。存储器控制器160对指令取出访问请求、操作数访问请求、保持请求及芯片选择(对内装DRAM区域的访问请求)等4种请求进行判断。
在互锁访问期间内及在非互锁访问期间内,存储器控制器160改变该判断方法。还有,在互锁访问中,有两种可以用软件切换的方式,即排他地进行内部保持请求信号int/HREQ的保持排他锁定方式及排他地进行内部芯片选择信号/CS的芯片选择排他锁定方式,变成为通过各种方式都切换判断方法 还有,存储器控制器160输出反映对4种请求的判断结果的指令取出信号确认信号/ACKF、操作数访问确认信号/ACKO、内部保持确认信号int/HACK及内部数据结束信号int/DC。
而且,在非互锁访问时,当内部保持请求信号int/HREQ变成L电平时,存储器控制器160就判定微处理器100是否要起动对外部数据总线的总线周期,如果不想起动,就使内部保持确认信号int/HACK成为L电平。即,通过表示请求指令取出访问或操作数访问的指令取出访问请求信号/REQF或操作数访问请求信号/REQO是否变成L电平或通过指令取出访问地址信号AF或操作数访问地址信号AO是否指定了外部存储器400的地址来判断是否要对外部存储器400进行指令取出访问及操作数访问。
而且,如果指令取出访问请求信号/REQF为L电平且指令取出访问地址信号AF指定了外部存储器400的地址、或者操作数访问请求信号/REQO为L电平且操作数访问地址信号AO指定了外部存储器400的地址,则即使内部保持请求信号int/HREQ变成L电平了,执行中的对外部的指令取出访问或操作数访问一直进行到结束时,存储器控制器160也不使内部保持访问确认信号int/HACK成为L电平。不然的话,就立刻使内部保持确认信号int/HACK成为L电平还有,在非互锁访问时,当内部保持请求信号int/HREQ变成L电平时,存储器控制器160不响应来自CPU 110的对外部的指令取出访问或操作数访问的请求即,当内部保持请求信号int/HREQ为L电平时,即使指令取出访问信号AF指定了外部存储器400的地址且指令取出访问请求信号/REQF变成L电平、或者操作数访问地址信号AO指定了外部存储器400的地址且操作数访问请求信号/REQO变成L电平,直到响应于内部保持请求信号int/HREQ变成H电平为止,内部保持确认信号int/HACK成为H电平,得到了外部数据总线500的总线权,存储器控制器160也不使对应于请求的各种指令取出访问确认信号/ACKF或者操作数访问确认信号/ACKO成为L电平。
即,在非互锁时,如果指令取出访问及操作数访问为对外部存储器400的访问,存储器控制器160则在指令取出访问请求信号/REQF、操作数访问请求信号/REQO及内部保持请求信号int/HREQ中,从光变成L电平者开始顺序地使应答信号。即指令取出访问确认信号/ACKF、操作数访问确认信号/ACKO及内部保持确认信号int/HACK成为L电平。在指令取出访问请求信号/REQF、操作数访问请求信号/REQO及内部保持请求信号int/HREQ同时变成L电平的情况下,存储器控制器160首先根据保持请求,使内部保持确认信号int/HACK成为L电平。此后,根据操作数访问请求,使操作数访问确认信号/ACKO成为L电平。而且,当该操作数访问结束时,根据指令取出访问请求,使指令取出访问确认信号/ACKF成为L电平。
但是,在非互锁时,如果指令取出访问及操作数访问为对内装DRAM区域的访问,则不管内部保持请求信号int/HREQ如何,都从指令取出访问请求信号/REQF及操作数访问请求信号/REQ0中先变成L电平者开始顺序地使应答信号,即指令取出访问确认信号/ACKF及操作数访问确认信号/ACKO成为L电平。在此情况下,当指令取出访问请求信号/REQF及操作数访问请求信号/REQO同时变成L电平时,首先,使操作数访问确认信号/ACKO成为L电平。当该操作数访问结束时,根据指令取出访问请求,使指令取出确认信号/ACKF成为L电平。
还有,在非互锁访问时,当内部芯片选择信号int/CS变成L电平时,在指令取出访问请求信号/REQF及操作数访问请求信号/REQO为H电平,或者即使其中任一已为L电平但因该请求为对外部的访问,所以,对应的指令取出访问确认信号/ACKF或操作数访问确认信号/ACKO为维持H电平的情况下,存储器控制器160就根据芯片选择进行对内部DRAM的访问,当该访问结束时,使应答的内部数据结束信号int/DC成为L电平。
还有,在非互锁访问时,在指令取出访问请求信号/REQF、操作数访问请求信号/REQO及内部芯片选择信号int/CS同时变成L电平的情况下,存储器控制器160首先根据芯片进行对内装DRAM区域的访问,当该访问结束时,使内部数据结束信号int/DC成为L电平。此后,根据操作数访问请求,使操作数访问确认信号/ACKO成为L电平。此后,根据操作数访问请求,使操作数访问确认信号/ACKO成为L电平。而且,当该操作数访问结束时,根据指令取出访问请求,使指令访问确认信号/ACKF成为L电平。因为芯片选择信号/CS根据保持请求信号/HREQ及保持确认信号/HACK变成L电平而成为L电平,所以,当内部芯片选择信号int/CS变成L电平时,内部保持确认信号int/HACK变成L电平。
使锁定信号/LOCK成为L电平,使操作数读/写信号OPR/W成为H电平,响应于操作数访问请求信号/REQO变成L电平,操作数访问确认信号/ACKO变成L电平,借此,即从附属于互锁的操作数读周期开始时起,互锁访问期间就开始了 在使锁定信号/LOCK成为H电平、使操作数读/写信号OPR/W成为L电平、操作数访问请求信号/REQO变成L电平以后,操作数访问结束信号/ENDO变成L电平,借此,即在附属于互锁的操作数写周期结束时,该互锁访问周期就结束了。
在互锁期间内设定为保持排他锁定方式的情况下,即使内部保持请求信号int/HREQ变成了L电平了一直到互锁访问期间结束,存储器控制器160都不理睬,而是使内部保持确认信号int/HACK成为表示排除从外部对内装DRAM区域的访问的H电平。还有,在互锁期间内,存储器控制器160在指令取出访问请求信号/REQF及操作数访问请求信号/REQO中,从先变成L电平者开始顺序地使应答的指令取出访问确认信号/ACKF及操作数访问确认信号/ACKO成为L电平。进而,当指令取出访问请求信号/REQF及操作数访问请求信号/REQO同时变成L电平时,存储器控制器160首先使操作数访问确认信号/ACKO成为L电平。而且,当该操作数访问结束时,就使指令取出访问确认信号/ACKF成为L电平。
在互锁访问期间内,设定为芯片选择排他锁定方式的情况下,即使内部芯片选择信号int/CS变成L电平了,一直到互锁访问期间结束,存储器控制器160都不理睬,而是不进行对内装DRAM区域的访问,使数据结束信号int/DC成为维持原来的H电平,通知排除对内装DRAM区域的访问。还有,这时,存储器控制器160也是在指令取出访问请求信号/REQF及控制数访问请求信号/REQO中,从先变成L电平者开始顺序地使应答的指令取出访问确认信号/ACKF及操作数访问确认信号/ACKO成为L电平。进而,当指令取出访问请求信号/REQF及操作数访问请求信号/REQO同时变成L电平时、存储器控制器160首先使操作数访问确认信号/ACKO成为L电平。而且,当该操作数访问结束时,就使指令取出访问确认信号/ACKF成为L电平。
进而,存储器控制器160从外部总线接口单元150接受内部数据结束信号int/DC、内部读/写信号int R/W及内部地址信号intA[830],输出指令取出访问结束信号/ENDF、操作数访问结束信号/ENDO、内部读/写信号int R/W、内部地址信号int A[830]、内部总线起动信号int/BS、控制信号CTRLD及控制信号CTRLC。
在已使指令取出访问确认信号/ACKF成为L电平时,存储器控制器160在根据来自CPU 110的指令取出访问地址信号AF是指定了内装DRAM区域内的地址还是指定了外部存储器400的地址的判定结果,判断为是对外部存储器的访问时,就使内部读/写信号int R/W成为表示“读”的H电平,与此同时,把内部地址信号改变成对外部存储器400进行访问的地址,使内部总线起动信号int/BS成为表示对外部数据总线500起动总线周期的L电平。此后,当内部数据结束信号int/DC变成表示总线周期结束的L电平时,存储器控制器160使内部总线起动信号int/BS返回到H电平,再使之成为L电平,与此同时,改变内部地址信号int A[830],起动总线周期。这样,取出32位的数据时,起动总线周期2次;如果取出64位,则起动4次;如果取出96位,则起动6次;如果取出128位,则起动8次 而且,存储器控制器160根据内部数据结束信号int DC2、4、6或8次变成了L电平,使指令取出访问结束信号/ENDF成为L电平。
还有,当根据判定结果判断为是对内装DRAM区域的访问时,存储器控制器160就判定来自CPU 110的指令取出访问地址信号AF是否对应于超高速缓冲存储器130中存储着的数据的地址,如果是对应的地址,就作为选中超高速缓冲存储器,判断为对超高速缓冲存储器130的访问,改变用于控制超高速缓冲存储器130的控制信号CTRLC。还有,如果不是对应的地址,则作为未选中超高速缓冲存储器,判断为对内装DRAM120的访问,改变用于控制内装DRAM 120的控制信号CTRLD。此后,当估计经过了内装DRAM 120或超高速缓冲存储器130的周期时间以后,存储器控制器160使指令取出访问结束信号/ENDF成为L电平,与此同时,结束控制信号CTRLC或CTRLD的保持。
还有,与使操作数访问确认信号/ACKO成为L电平时也已使指令取出访问确认信号/ACKF成为L电平时相同。当存储器控制器160判断为操作数访问是对外部存储器400的访问时,就使内部读/写信号int R/W响应于操作数读/写信号OPR/W,如果操作数读/写信号OPR/W变成H电平了,就使内部读/写信号int R/W改变成H电平,如果操作数读/写信号变成L电平了,就使内部读/写信号int R/W改变成L电平。与此同时,把内部地址信号int A[830]改变成对外部存储器400进行访问的地址,使内部总线起动信号int/BS成为表示对外部数据总线500起动了总线周期的L电平。
此后,当内部数据结束信号int/DC变成表示总线周期结束的L电平时,存储器控制器160使内部总线起动信号int/BS返回到H电平,再使之成为L电平,与此同时,改变内部地址信号int A[830],起动总线周期。这样,取出或输出32位的数据时,起动总线周期2次;如果取出64位,则起动4次;如果取出96位,则起动6次;如果取出128位,则起动8次。而且,存储器控制器160根据内部数据结束信号int/DC 2、4、6或8次变成了L电平,使操作数访问结束信号/ENDO成为L电平。
还有,当判断为操作数访问是对内装DRAM区域的访问时,如果选中超高速缓冲存储器,就响应于来自CPU 110的操作数访问地址信号AO及操作数读/写信号OPR/W,改变用于控制超高速缓冲存储器130的控制信号CTRLC。如果未选中超高速缓冲存储器,就响应于来自CPU 110的操作数访问地址信号AO及操作数读/写信号OPR/W,改变用于控制内装DRAM 120的控制信号CTRLD。此后,当估计经过了内装DRAM 120或超高速缓冲存储器130的周期时间以后,存储器控制器160就使操作数访问结束信号/ENDO成为L电平,结束控制信号CTRLC或CTRLD的保持。
进而,在响应于内部芯片选择信号int/CS变成L电平了的情况下,与依据CPU 110对内装DRAM区域的访问时相同,CPU 110基于来自外部总线接口单元150的内部地址int A[830]进行选中或未选中超高速缓冲存储器的判定。而且,如果选中超高速缓冲存储器,就响应于内部读/写信号int R/W及来自外部总线接口单元150的内部地址int A[830],改变用于控制超高速缓冲存储器130的控制信号CTRLC。还有,如果未选中超高速缓冲存储器,就响应于内部读/写信号int R/W及来自外部总线接口单元150的内部地址int A[830],改变用于控制内装DRAM 120的控制信号CTRLD。此后,当估计经过了内装DRAM 120或超高速缓冲存储器130的周期时间以后,存储器控制器160就使内部数据结束信号int/DC成为L电平,与此同时,结束控制信号CTRLC或CTRLD的保持其次,参照图2,更详细地说明CPU 110。CPU 110以32位RISC型CPU为核心构成。指令长度为16位或32位。还有,从CPU 110对内装DRAM区域或外部存储器400的操作数访问只利用load(取数)指令及store(存入)指令来进行。参照图2,CPU 110包括用于接受来自内部数据总线170的128位内部数据int D
,把其中32位作为指令输出的指令队列110a。还有,CPU 110包括把从指令队列110a接受的指令详码以后输出的指令译码器110b。虽然当32位的数据从指令队列110a传送过来时,并不清楚该数据是32位的指令还是16位的指令,但是,通过由指令译码器110b译码,就清楚是32位还是16位了。
还有,CPU 110包括产生作为指令队列110a要取出的指令而存储着的指令取出访问地址信号AF的程序计数器110c;用于存储数据6b寄存器单元110d。寄存器单元110d具有16个32位的寄存器。进而,CPU110包括用于进行数据的加法运算、减法运算以及“与”及“或”的逻辑运算的算术逻辑单元(ALU)110e;用于把数据位串中所需个数的位移位或循环的移位器110f;用于进行数据乘加运算的乘加运算单元110g。乘加运算单元110g具有32×16位的乘法器及56位的累加器。进而还有,COU 110包括用于在寄存器单元110d、ALU 110e、移位器110f及乘加运算单元110g之间进行数据取出及数据存入的取存单元110h。
还有,CPU 110包括用于接受来自内部数据总线170的128位内部数据int D
并将其中32位输出、从寄存器110d等单元接受32位的数据并将其输出到内部数据总线170上的数据选择器110i。进而,CPU110包括用于控制操作数访问的CPU控制电路110j。指令以5级流水线处理。流水线是利用指令队列110a的指令取出、利用指令译码器110b的指令译码、利用ALU 110e等的执行、利用CPU控制电路110j的存储器访问以及利用数据选择器110i的对寄存器的写回。
当已把全部所需指令输出到指令译码器110b上时,为了取出下一个指令,指令队列110a使指令取出访问请求信号/REQF成为L电平。而且,当指令通过内部数据总线170传输过去而使指令取出访问结束信号/ENDF变成L电平时,就把来自内部数据总线170的指令锁存起来。指令译码器110b把从指令队列110a接受的指令译码,传送到寄存器单元110d、ALU 110e、移位器110f、乘加运算单元110g、取存单元110h或CPU控制电路110j上。当指令队列110a使指令取出访问请求信号/REQF成为L电平时,程序计数器110c就把用于指定指令取出访问目的地的指令取出访问地址信号AF改变成进行访问的地址。还有,当指令取出确认信号/ACKF变成L电平时,程序计数器110c就结束指令取出访问地址信号AF的输出。
数据选择器110j接受操作数访问地址信号AO、操作数访问确认信号/ACKO及操作数访问结束信号/ENDO。在操作数写入时,当操作访问确认信号/ACKO变成L电平时,数据选择器110j就把从寄存器单元110d等处接受的32位数据输出到响应128位宽的65内部数据总线170中操作数访问地址信号AO的32位上。还有,在操作数读出时,当操作数访问结束信号/ENDO变成L电平时,数据选择器110i就把来自内部数据总线170的128位的数据锁存起来,把其中相应于操作数访问地址信号AO的32位输出。
CPU控制电路110j从指令译码器110b接受已译码的指令。还有,当来自指令译码器110b的指令为取数(load)指令或存储(store)指令、而这些指令的操作数指定部分指定了内装DRAM区域、外部存储器400以及虽然在微处理器100之内但在CPU110之外的某一寄存器时,CPU控制电路110j就根据该操作数指定部分改变操作数访问地址信号AO。这时,CPU控制电路110j使操作数访问请求信号/REQO成为L电平,在load指令的情况下,使操作数读/写信号OPR/W成为H电平;在store指令的情况下,使操作数读/写信号OPR/W成为L电平。还有,在load指令为附属于互锁的load指令的情况下,CPU控制电路110j使锁定信号/LOCK成为L电平;在store指令为附属于互锁的store指令的情况下,CPU控制电路110j使锁定信号/LOCK为H电平。
其次,更详细地说明有关外部总线接口单元150。参照图3,外部总线接口单元150包括从外部接受保持请求信号/HREQ、输出内部保持请求信号int/HREQ的保持请求信号输入缓冲器150a。如果保持请求信号/HREQ为H电平,保持请求信号输入缓冲器150a就使内部保持请求信号int/HREQ成为H电平;如果保持请求信号/HREQ为L电平;缓冲器150a就使内部保持请求信号int/HREQ成为L电平。还有,外部总线接口单元150包括接受内部保持确认信号int/HACK,把保持确认信号/HACK输出到外部的保持确认信号输出缓冲器150b。如果内部保持确认信号int/HACK为H电平,保持确认信号输出缓冲器150b就使保持确认信号/HACK成为H电平;如果内部保持确认信号int/HACK为L电平,缓冲器150b就使保持确认信号/HACK成为L电平。
进而,外部总线接口单元150包括从外部接受芯片选择信号/CS、输出内部芯片选择信号int/CS的芯片选择信号输入缓冲器150c。如果芯片选择信号/CS为H电平,芯片选择信号输入缓冲器150c就使内部芯片选择信号int/CS成为H电平;如果芯片选择信号/CS为L电平,缓冲器150c就使内部芯片选择信号int/CS成为L电平进而还有,外部总线接口单元150包括数据结束信号输入/输出缓冲器150d,接受内部芯片选择信号int/CS,进而从外部接受数据结束信号/DC,输出内部数据结束信号int/DC;或者接受内部数据结束信号int/DC,输出数据结束信号/DC。在内部芯片选择信号int/CS为H电平的情况下,如果来自外部的数据结束信号/DC为H电平,数据结束信号输入/输出缓冲器150d就使内部数据结束信号int/DC成为H电平,如果来自外部的数据结束信号/DC为L电平,缓冲器150d就使内部数据结束信号int/DC成为L电平;在内部芯片选择信号int/CS为L电平的情况下,如果内部数据结束信号int/DC为H电平,缓冲器150d就使到外部的数据结束信号/DC成为H电平,如果内部数据结束信号int/DC为L电平,缓冲器150d就使到外部的数据结束信号/DC成为L电平。
还有,外部总线接口单元150包括读写信号输入输出缓冲器150e,用于接受内部保持确认信号int/HACK,进而从外部接受读/写信号R/W,输出内部读/写信号int R/W;或者接受内部读/写信号int R/W,输出读/写信号R/W。在内部保持确认信号int/HACK为H电平的情况下,如果内部读/写信号int R/W为H电平,读/写信号输入/输出缓冲器150e就使读/写信号R/W成为H电平,如果内部读/写信号int R/W为L电平,缓冲器150e就使读/写信号R/W成为L电平;在内部保持确认信号int/HACK为L电平的情况下,如果来自外部的读/写信号R/W为H电平,缓冲器150e就使内部读/写信号int R/W成为H电平,如果来自外部的读/写信号R/W为L电平,缓冲器150e就使内部读/写信号int R/W成为L电平。
进而,外部总线接口单元150包括地址信号输入/输出缓冲器150f,用于接受内部保持确认信号int/HACK,进而从外部接受地址信号A[830],输出内部地址信号int A[830];或者接受内部地址信号intA[830],输出地址信号A[830],在内部保持确认信号int/HACK为H电平的情况下,地址信号输入/输出缓冲器150f使地址信号A[830]成为与内部地址信号int A[830]相同的电平在内部保持确认信号int/HACK为L电平的情况下,缓冲器150f使内部地址信号int A[830]成为与地址信号A[830]相同的电平。
进而还有,外部总线接口单元150包括接受内部总线起动信号int/BS、把总线起动信号/BS输出到外部的总线起动信号输出缓冲器150g。如果内部总线起动信号int/BS为H电平,总线起动信号输出缓冲器150g就使总线起动信号/BS成为H电平;如果内部总线起动信号int/BS为L电平,缓冲器150g就使总线起动信号/RS成为L电平。
还有,外部总线接口单元150包括数据缓冲器150h,用于接受内部保持确认信号int/HACK、内部数据结束信号int/DC、内部读/写信号intR/W及内部时钟信号int CLK,进而从外部接受外部数据ext D
,输出内部数据int D
;或者接受内部数据int D
输出外部数据extD
,用于进行128位内部数据总线与16位外部数据总线的总线宽度变换。当内部保持确认信号int/HACK为H电平时,在内部读/写信号intR/W为H电平的情况下,当内部时钟信号int CLK从L电平改变成H电平时,如果内部数据结束信号int/DC为L电平,数据缓冲器150h就把16位的外部数据ext D
锁存起来并存储到数据缓冲器150h中,与此同时,把已存储的数据作为128位内部数据int D
的某一16位而输出。
还有,当内部保持确认信号int/HACK为H电平时,在内部读/写信号int R/W为L电平的情况下,当内部时钟信号int CLK从L电平改变成H电平时,如果内部数据结束信号int/DC为L电平,数据缓冲器150h就结束从128位内部数据int D
中输出的16位外部数据ext D
的输出保持。进而,当内部保持确认信号int/HACK为L电平时,在内部读/写信号int R/W为H电平的情况下,当内部时钟信号int CLK从H电平改变成L电平时,如果内部数据结束信号int/DC为L电平,数据缓冲器150h就从128位内部数据int D
中输出16位的外部数据extD

进而还有,当内部保持确认信号int/HACK为L电平时,在内部读/写信号int R/W为L电平的情况下,当内部时钟信号int CLK从H电平改变成L电平时,如果内部数据结束信号int/DC为L电平,数据缓冲器150h就把16位的外部数据ext D
锁存起来并存储到数据缓冲器150h中,与此同时,把已存储的数据作为128位内部数据int D
的某一16位而输出。
其次,更详细地说明有关微处理器100中的存储器控制器160。参照图4,存储器控制器160包括用于设定锁定方式的锁定方式寄存器161,寄存器161把通过内部数据总线传送过来的数据存储起来,把该存储数据作为锁定方式信号LM输出。锁定方式信号LM为L电平时,把锁定方式设定成保持排他锁定方式;锁定方式信号LM为H电平时,把锁定方式设定成芯片选择排他锁定方式。为了设定锁定方式寄存器161的值,使CPU110对锁定方式寄存器161执行store指令。即,使之执行所谓ST、AO、LM指令。ST表示Store指令,AO表示store指令的执行目标地址,LM表示锁定方式的数据。把AO设定为锁定方式寄存器161的地址,当设定为保持排他锁定方式时使LM为0,当设定为芯片选择排他锁定方式时使LM为1,借此,如果进行操作数访问,则借助于操作数访问地址信号AO指定了锁定方式寄存器161,把LM通过内部数据总线170传送到锁定方式寄存器161内。
还有,存储器控制器160包括接受锁定方式信号LM、锁定信号/LOCK、内部保持请求信号int/HREQ及内部芯片选择信号int/CS,输出带锁定的保持请求信号/HREQL及带锁定的芯片选择信号/CSL的互锁电路162。互锁电路162进而包括接受内部保持请求信号int/HREQ、输出其倒相信号的倒相器162a以及接受锁定信号/LOCK、输出其倒相信号的倒相器162b。还有,互锁电路162包括与非(NAND)电路162c和复合门电路162d,与非电路162c接受来自倒相器162b的倒相信号及带锁定的保持请求信号/HREQL,复合门电路162d由接受来自倒相器162a的倒相信号、与非电路162c的输出信号及锁定方式信号LM输出带锁定的保持请求信号/HREQL的与非门及或门构成。
进而,互锁电路162包括接受互锁方式信号LM、输出其倒相信号的倒相器162e以及接受内部芯片选择信号int/CS、输出其倒相信号的倒相器162f。互锁电路162还包括与非电路162g和复合门电路162h,与非电路162g接受来自倒相器162b的锁定信号/LOCK的倒相信号及带锁定的芯片选择信号/CS,复合门电路162h由接受与非电路162g的输出信号、来自倒相器162f的倒相信号及依据锁定方式信号LM的倒相器162e的倒相信号、输出带锁定的芯片选择信号/CSL的与非门及或门构成的。而且,当锁定信号/LOCK为H电平时,不管锁定方式信号LM的值如何,互锁电路162部把带锁定的保持请求信号/HREQL及带锁定的芯片选择信号/CSL改变成为分别相应于内部保持请求信号int/HREQ及内部芯片选择信号int/CS的电平。
还有,当锁定信号/LOCK为L电平、带锁定的保持请求信号/HREQL为H电平时,如果锁定方式信号LM为L电平,则不管内部保持请求信号int/HREQ如何,互锁电路162都把带锁定的保持请求信号/HREQL锁定为H电平。进而,当锁定信号/LOCK为L电平、带锁定的芯片选择信号/CSL为H电平时,如果锁定方式信号LM为H电平,则互锁电路162把带锁定的保持请求信号/HREQL改变成为相应于内部保持请求信号int/HREQ的电平,不管内部芯片选择信号int/CS如何,都把带锁定的芯片选择信号/CSL锁定于H电平。
但是,在前面存储器控制器160的说明中,为了方便起见,虽然说明了指令取出访问请求信号/REQF、操作数访问请求信号/REQO及内部保持请求信号int/HREQ同时变成L电平的情况,但是,因为互锁电路162中的倒相器162a及复合门电路162d有延时,所以,严格地说,该说明是指令取出访问请求信号/REQF、操作数访问请求信号/REQO及带锁定的保持请求信号/HREQL同时变成L电平情况的说明。同样地,虽然说明了指令取出访问请求信号/REQF、操作数访问请求信号/REQO及内部芯片选择信号int/CS同时变成L电平的情况,但是,因为互锁电路162中的倒相器162f及复合门电路162h有延时,所以,严格地说,该说明是指令取出访问请求信号/REQF、操作数访问请求信号/REQO及带锁定的芯片选择信号/CSL同时变成L电平情况的说明。
进而,存储器控制器160包括保持控制电路163,接受指令取出访问地址信号AF、操作数访问地址信号AO、指令取出访问请求信号/REQF、操作数访问请求信号/REQO及带锁定的保持请求信号/HREQL输出内部保持确认信号int/HACK,保持控制电路163还输出用于表示带锁定的保持请求信号/HREQL及指令取出访问请求信号/REQF中哪一个先变成L电平的指令取出用快慢检测信号FLF、用于表示带锁定的保持请求信号/HREQL及操作数访问请求信号/REQO中哪一个先变成L电平的操作数用快慢检测信号FLO、用于表示指令取出访问地址信号AF是否指定了外部存储器400的地址的指令取出用外部访问检测信号EADF及用于表示操作数访问地址信号AO是否指定了外部存储器400的地址的操作数用外部访问检测信号EADO如果带锁定的保持请求信号/HREQL比指令取出访问请求信号/REQF及操作数访问请求信号/REQO先变成L电平,或者带锁定的保持请求信号/HREQL与指令取出访问请求信号/REQF及操作数访问请求信号/REQO之一同时变成L电平而另一同时或较后变成L电平,则保持控制电路163立刻使内部保持确认信号int/HACK成为L电平。还有,即使带锁定的保持请求信号/HREQL比指令取出访问请求信号/REQF后变成L电平,如果指令取出访问地址信号AF来指定外部存储器400的地址,即指令取出访问并不起动外部总线周期,则保持控制电路163也立刻使内部保持确认信号int/HACK成为L电平。
还有,即使带锁定的保持请求信号/HREQL比操作数访问请求信号/REQO后变成L电平,如果操作数访问地址信号AO未指定外部存储器400的地址,即操作数访问并不起动外部总线周期,则保持控制电路163也立刻使内部保持确认信号int/HACK成为L电平。不是这些情况时,即使带锁定的保持请求信号/HREQL变成L电平了,保持请求控制电路163也不立刻使内部保持确认信号int/HACK成为L电平,借此,对这一请求按待机处理,根据已先变成L电平的指令取出访问请求信号/REQF或操作数访问请求信号/REQO变成H电平了,才使内部保持确认信号int/HACK成为L电平。
进而,如果指令取出访问请求信号/REQF比带锁定的保持请求信号/HREQL先变成L电平,保持控制电路163就使指令取出用快慢检测信号FLF成为H电平;如果指令取出访问请求信号/REQF比带锁定的保持请求信号/HREQL后变成或同时变成L电平,保持控制电路163就使指令取出用快慢检测信号FLF成为L电平。还有,如果操作数访问请求信号/REQO比带锁定的保持请求信号/HREQL先变成L电平,保持控制电路163就使操作数用快慢检测信号FLO成为H电平;如果操作数访问请求信号/REQO比带锁定的保持请求信号/HREQL后变成或同时变成L电平,保持控制电路163就使操作数用快慢检测信号FLO成为L电平。
还有,在指令取出访问地址信号AF指定了外部存储器400的地址的情况下,保持控制电路163使指令取出用外部访问检测信号EADF成为H电平;否则使之成为L电平。进而,在操作数访问地址信号AO指定了外部存储器400的地址的情况下,保持控制电路163使操作数用外部访问检测信号EADO成为H电平;否则使之成为L电平。
进而还有,存储器控制器160包括判断控制电路164,接受指令取出访问请求信号/REQF、操作数访问请求信号/REQO、带锁定的保持请求信号/HREQL、带锁定的芯片选择信号/CSL、指令取出用快慢检测信号FLF、操作数用快慢检测信号FLO、指令取出用外部访问检测信号EADF及操作数用外部访问检测信号EADO,输出指令取出访问确认信号/ACKF、操作数访问确认信号/ACKO、指令取出访问结束信号/ENDF、操作数访问结束信号/ENDO及内部数据结束信号int/DC。
如果指令取出访问请求信号/REQF比操作数访问请求信号/REQO先变成L电平,指令取出用快慢检测信号FLF为表示指令取出访问请求信号/REQF比带锁定的保持请求信号/HREQL先变成L电平的H电平,判断控制电路164就立刻使指令取出访问确认信号/ACKF成为L电平。此时,即使指令取出用快慢检测信号FLF为L电平,如果指令取出用外部访问检测信号EADF变成为表示不起动外部总线周期的L电平,且指令取出访问请求信号/REQF比带锁定的芯片选择信号/CSL先变成L电平,判断控制电路164就立刻使指令取出访问确认信号/ACKF成为L电平。不是这些情况时,即使指令取出访问请求信号/REQF变成L电平了,判断控制电路164也不立刻使指令取出访问确认信号/ACKF成为L电平,借此,对这一请求按待机处理。
而且,当因为带锁定的保持请求信号/HREQL而先变成或同时变成L电平而按待机处理时,该带锁定的保持请求信号/HREQL变成H电平;当因为带锁定的芯片选择信号/CSL而先变成或同时变成L电平而按待机处理时,该带锁定的芯片选择信号/CSL变成H电平;当因为操作数访问请求信号/REQO先变成或同时变成L电平而按待机处理时,该操作数访问请求信号/REQO变成H电平,故判断控制电路164使指令取出访问确认信号/ACKF成为L电平还有,如果操作数访问请求信号/REQO比指令取出访问请求信号/REQF先变成L电平、或者与之同时变成L电平,操作数用快慢检测信号FLO为表示操作数访问请求信号/REQO比带锁定的保持请求信号/HREQL先变成L电平的H电平,判断控制电路164就立刻使操作数访问确认信号/ACKO成为L电平。这时,即使操作数用快慢检测信号FLO为L电平,如果操作数用外部访问检测信号EADO变成为表示不起动外部总线周期的L电平,且操作数访问请求信号/REQO比带锁定的芯片选择信号/CSL先变成L电平,判断控制电路164就立刻使操作数访问确认信号/ACKO成为L电平。不是这些情况时,即使操作数访问请求信号/REQO变成L电平了,判断控制电路164也不立刻使操作数访问确认信号/ACKO成为L电平,借此,对这一请求按待机处理。
而且,当带锁定的保持请求信号/HREQL先变成或同时变成L电平而按待机处理时,该带锁定的保持请求信号/HREQL变成H电平了;当带锁定的芯片选择信号/CSL先变成或同时变成L电平而按待机处理时,该带锁定的芯片选择信号/CSL变成H电平了;当指令取出访问请求信号/REQF先变成L电平而按待机处理时,该指令取出访问请求信号/REQF变成H电平,因此,判断控制电路164才使操作数访问确认信号/ACKO成为L电平。
进而,如果带锁定的芯片选择信号/CSL比指令取出访问请求信号/REQF及操作数访问请求信号/REQO先变成或者同时变成L电平,就使指令取出访问确认信号/ACKF及操作数访问确认信号/ACKO维持原来的H电平,当估计经过了内装DRAM 120或超高速缓冲存储器130的周期时间以后,判断控制电路164就使内部数据结束信号tnt/DC成为L电平。还有,即使带锁定的芯片选择信号/CSL比指令取出访问请求信号/REQF或操作数访问请求信号/REQO后变成L电平,因为对应于已先变成L电平的指令取出访问请求信号/REQF或操作数访问请求信号/REQO的外部访问检测信号EADF或EADO变成表示起动外部总线周期的H电平,与带锁定的保持请求信号/HREQL判断的结果是按待机处理而使指令取出访问确认信号/ACKF或操作数访问确认信号/ACKO也维持原来的H电平时,则在估计经过内装DRAM 120或超高速缓冲存储器130的周期时间以后,判断控制电路164也使内部数据结束信号int/DC成为L电平。
进而还有,当使指令取出访问确认信号/ACKF成为L电平时,如果指令取出用外部访问检测信号EADF为H电平,则响应内部数据结束信号int/DC;如果检测信号EADF为L电平,则在估计经过内装DRAM 120或超高速缓冲存储器130的周期时间以后,判断控制电路164使指令取出访问结束信号/ENDF成为L电平。还有,当使操作数访问确认信号/ACKO成为L电平时,如果操作数用外部访问检测信号EADO为H电平,则响应内部数据结束信号int/DC;如果检测信号EADO为L电平,则在估计经过内装DRAM 120或超高速缓冲存储器130的周期时间以后,判断控制电路164使操作数访问结束信号/ENDO成为L电平。
其次,说明有关地址空间 参照图5,在微处理器100的使用空间中,用户可以利用的区域为物理地址从H’000000到H’FFFFFF的16M字节。其中,从H’000000到H’FFFFFF的1M字节区域为内装DRAM区域。还有,地址以32位的宽度处理。
其次,说明有关微处理器100的指令传送操作及指令执行的目标数据即操作数的传送操作。首先,说明有关CPU 110进行取指令的指令取出访问情况。参照图1、图2及图3,当要取出的指令存在于超高速缓冲存储器130内时,为选中超高速缓冲存储器,把128位的4个指令码从超高速缓冲存储器130通过内部数据总线170传送到CPU 110内的指令队列110a中。长度为16位的指令外观上为32位的指令码。当要取出的指令不在超高速缓冲存储器130内而在内装DRAM 120内时,CPU110把128位的指令码从内装DRAM 120通过内部数据总线170传送到CPU 110内的指令队列110a中。当要取出的指令不在超高速缓冲存储器130和内装DRAM 120内、而是在外部存储器400内时,CPU 110把指令码从外部存储器400通过外部数据总线500存储到外部总线接口单元150内的128位数据缓冲器150h中。
至数据缓冲器150h的数据存储方法有三种。第一种,在数据缓冲器150h中存储所需1条指令为32位的指令码,每次取出16位,两次取出一条指令。第二种,把所需1条指令为32位的指令码存储到数据缓冲器150h中,从开头一直到数据缓冲器150h的边界。这时,如果从数据缓冲器150h的开头地址部分中取出所需32位的指令码,则一直到数据缓冲器150h的边界为止剩下的96位为三个指令码,接连从数据缓冲器150h中取出。即,从外部数据总线800每16位一次取入8次。还有,如果从开头第二个地址部分取出所需32位的指令码,则一直到数据缓冲器150h的边界为止,剩下的64位为两个指令码,接连从数据缓冲器150h中取出。即每次16位、从外部数据总线500取出6次指令。
经过同样地考虑,如果从数据缓冲器150的开头第三个地址部分取出所需32位的指令码,则一直到数据缓冲器150h的边界为止剩下的32位为一个指令码,接连从数据缓冲器150h取出。即每次16位、从外部数据总线500取出4次指令。如果从数据缓冲器150h的最后地址部分取出所需32位的指令码,接着就不进行指令码的取出了。即每次16位、从外部数据总线500取出两次指令。还有,第三种是,一条指令包括所需的32位指令码,把128位的4条指令码存储在数据缓冲器150h中。这时,数据缓冲器150h每次16位、从外部数据总线500取出8次指令码。而且,把外部总线接口单元150内的数据缓冲器150h中存储着的指令码通过内部数据总线170传送到CPU 110内的指令队列110a中。
其次,说明有关CPU 110对操作数进行读出的操作数读访问的情况。当所需操作数存在于内装DRAM区域的地址中时,CPU 110把包括所需操作数的128位的数据从超高速缓冲存储器130或内装DRAM 120通过内部数据总线170传送到CPU 110内的数据选择器110i中。数据选择器110i把其中所需的32位操作数传送到CPU 110内部的电路中。当所需的操作数存在于外部存储器区域的地址内时,CPU 110从外部数据总线500把32位所需操作数存储到外部总线接口单元150内的数据缓冲器150h中,通过内部数据总线170传送到CPU 110内的数据选择器110i中。
其次,说明有关CPU 110对操作数进行写入的操作数写访问的情况。首先,把从CPU110输出的32位操作数提供到数据选择器110i中。数据选择器110i把来自CPU 110的32位操作数传送到128条内部数据总线170中的32条上。而且,当把该操作数写入内装DRAM区域的地址内时,通过内部数据总线170把操作数写入超高速缓冲存储器130或内装DRAM 120中。还有,当把该操作数写入外部存储器400内时,通过内部数据总线170把操作数暂时存储到外部总线接口单元150内的数据缓冲器150h中,每次16位传送到外部数据总线500上。
其次,说明有关外部总线主控器300把存在于内装DRAM区域内的地址中的操作数写入的外部总线主控器可访问的情况。首先,从超高速缓冲存储器130或内装DRAM 120把包括所需操作数的128位数据通过内部数据总线170传送并存储到外部总线接口单元150内的数据缓冲器150h中。此后,把该数据缓冲器150h中存储着的操作数每次16位传送到外部数据总线500上。而且,外部总线主控器300接受通过外部数据总线500传送的操作数。
其次,说明有关外部总线主控器300把操作数写入内装DRAM区域内的地址中的外部总线主控器写访问的情况。首先,把数据从外部总线主控器300通过外部数据总线、以16位为单位传送到外部总线接口单元150内的数据缓冲器150h中,存储在数据缓冲器150h内。此后,把数据缓冲器150h内存储的数据通过内部数据总线170写入超高速缓冲存储器130或内装DRAM 120内。
其次,详细地说明对超高速缓冲存储器或内装DRAM的访问操作,参照图6,说明有关CPU 110最初从超高速缓冲存储器130或内装DRAM120把数据读出的指令取出访问的约定。首先,在t1时刻,CPU 110内的指令队列110a在t1时刻使指令取出请求信号/REQF成为L电平;当CPU 110内的程序计数器110c把指令取出访问地址信号AF改变成指定内装DRAM区域的地址时,存储器控制器160就响应于该请求,在t2时刻使指令取出访问确认信号/ACKF成为L电平。此后,存储器控制器160使控制信号CTRLC或CTRLD成为对超高速缓冲存储器130或内装DRAM120指示读出的状态。于是,把来自超高速缓冲存储器130或内装DRAM120的数据作为内部数据int D
在t3时刻输出到内部数据总线170上。CPU 110取出该输出的内部数据int D
。还有,在t3时刻,存储器控制器160使指令取出访问结束信号/ENDF成为L电平。
第二,参照图7说明有关CPU 110从超高速缓冲存储器130或内装DRAM 120进行读数据的操作数读出访问的约定。首先,在t1时刻CPU110内的CPU控制电路110j在t1时刻使操作数访问请求信号/REQO成为L电平;当把操作数访问地址信号AO改变成指定内装DRAM区域的地址时,存储器控制器160就响应于该请求,在t2时刻使操作数访问确认信号/ACKO成为L电平。此后,存储器控制器160使控制信号CTRLC或CTRLD成为对超高速缓冲存储器130或内装DRAM 120指示读出的状态。于是,把来自超高速缓冲存储器130或内装DRAM 120的数据作为内部数据int D
在t3时刻输出到内部数据总线170上。CPU 110取出该输出的内部数据int D
。还有,在t3时刻,存储器控制器160使操作数访问结束信号/ENDO成为L电平。
第三,参照图8,说明有关CPU把数据写入超高速缓冲存储器130或内装DRAM 120内的操作数写入访问的约定。首先,在瞬间t1,CPU110内的CPU控制电路110j在瞬间t1使操作数访问请求信号/REQO成为L电平;当把操作数访问地址信号AO改变成指定内装DRAM区域的地址时,存储器控制器160就响应于该请求,在t2时刻使操作数访问确认信号/ACKO形成为L电平。于是,CPU 110把写入数据作为内部数据intD
输出到内部数据总线170上。此后,存储器控制器160使控制信号CTRLC或CTRLD成为对超高速缓冲存储器130或内装DRAM 120指示写入的状态。于是,把来自内部数据总线170的数据写入超高速缓冲存储器130或内装DRAM 120内。还有,在t5时刻,存储器控制器160使操作数访问结束信号/ENDO成为L电平。
第四,参照图9,说明有关外部总线主控器300从超高速缓冲存储器130或内装DRAM 120把数据读出的外部总线主控器读访问的约定。首先,根据来自外部总线主控器300的请求,在t1时刻,外部总线控制器200使保持请求信号/HREQ成为L电平。微处理器100响应于此,在t2时刻使保持确认信号/HACK为L电平。于是,在t3时刻,外部总线控制器200使芯片选择信号/CS成为L电平,与此同时,把地址信号A[830]改变成指定目标的地址,使读/写信号R/W成为H电平。于是,CPU 110内的存储器控制器160使控制信号CTRLC或CTRLD成为对超高速缓冲存储器130或内装DRAM 120指示读出的状态。
此后,把内部数据int D
从超高速缓冲存储器130或内装DRAM 120输出到内部数据总线170上,将其取出并存储到外部总线接口单元150内;把该存储着的数据作为外部数据ext D
,在各时刻t6、t8、t10、t12,每一时刻16位输出到外部数据总线500上。还有,在t6时刻,使数据结束信号/DC成为L电平。
第五,参照图10,说明有关外部总线主控器300把数据写入超高速缓冲存储器130或内装DRAM 120内的外部总线主控器写访问的约定。首先,根据来自外部总线主控器300的请求,外部总线控制器200在t1时刻使保持请求信号/HREQ成为L电平。微处理器110响应于此,在t2时刻使保持确认信号/HACK为L电平,于是,外部总线控制器200在t3时刻使芯片选择信号/CS成为L电平,与此同时,把地址信号A[830]改变成指定目标的地址,使读/写信号R/W成为L电平,把写入数据作为外部数据ext D
提供给外部总线主控器300。
把从外部总线主控器300输出的写入数据每16位存储到微处理器100的外部总线接口单元150内的数据缓冲器150h中。为了向外部通知已把外部数据总线500上的数据存储到数据缓冲器150h中,在t4时刻,微处理器100使数据结束信号/DC成为L电平。在t11时刻,使芯片选择信号/CS成为H电平,如果读/写信号R/W为L电平,存储器控制器160就使控制信号CTRLC或CTRLD成为对超高速缓冲存储器130或内装DRAM 120指示写入的状态。
此后,把取入并存储到外部总线接口单元150中的写入数据输出到内部数据总线170上,把该内部数据总线170上的数据存储到超高速缓冲存储器130或内装DRAM 120内。
其次,说明CPU 110与外部总线主控器300的访问发生了竞争的情况。参照图11,例如如同操作数访问请求信号/REQO及芯片选择信号/CS同时变成L电平时那样同时发生了来自CPU 110的访问请求与来自外部总线主控器300的访问请求的情况时,通过存储器控制器160的控制,在优先处理了来自外部总线主控器300的访问请求以后,处理来自CPU110的访问请求。还有,参照图12,例如如同操作数访问请求信号/REQO比芯片选择信号/CS先变成L电平时那样先发生了来自芯片选择CPU 110的访问请求时,在利用存储器控制器160的控制处理了来自CPU 110的访问请求以后,处理来自外部总线主控器300的请求。先发生了来自外部总线主控器300的访问请求时,处理顺序与此相反。
其次,说明有关依据CPU 110的互锁访问。首先,参照图13,说明有关设定为保持排他锁定方式时的互锁访问的约定。在从带互锁的load指令一直执行到带互锁的store指令的执行期间内,CPU 110使锁定信号/LOCK成为L电平。在从根据依据带互锁的load指令的操作数访问请求而使操作数访问确认信号/ACKO成为L电平开始、一直到根据依据带锁定的store指令的操作数访问请求而使操作数访问确认信号/ACKO成为L电平的期间内,即使从外部提供的保持请求信号/HREQ变成L电平了,存储器控制器160也不理睬,因而,在依据CPU 110的互锁访问期间内,对外部总线主控器300不释放外部数据总线500的总线权。而且,在进行了依据带锁定的store指令的store处理以后,存储器控制器160才接受保持请求。
进而,参照图14,说明有关设定为芯片选择排他锁定方式时的互锁访问的约定。在从带互锁的load指令的执行一直到带互锁的store指令的执行的期间内,CPU 110使锁定信号/LOCK成为L电平。在从根据依据带互锁的load指令的操作数访问请求而使操作数访问确认信号/ACKO成为L电平开始、一直到根据依据带锁定的store指令的操作数访问请求而使操作数访问确认信号/ACKO成为L电平的期间内,即使从外部提供的芯片选择信号/CS变成L电平了,存储器控制器160也不理睬。因而,在依据CPU 110的互锁访问期间内,不进行依据外部总线主控器300的对内装DRAM区域的访问。而且,在进行了依据带锁定的store指令的store处理以后,存储器控制器160才接受来自外部总线主控器300的访问请求。
如上所述,本实施形态1的微处理器100包括CPU 110、内装DRAM 120及存储器控制器160;存储器控制器160控制CPU 110对内装DRAM 120进行的互锁访问,以使CPU 110可以进行互锁访问;因此,不存在从外部对访问内装DRAM 120的干涉,使CPU 110能够不可分地进行“读-修改-写”的访问。由此,能够解决在一个芯片内设置内装DRAM 120及CPU 110产生的访问竞争问题,因此,可以把内装DRAM120作为与外部的共有存储器而利用。
特别是,在内状DRAM区域中存储了信号量的值那样的系统中,能够解决CPU 110在读出与改写信号量的值之间从外部进行改写的问题。此外,在把内装DRAM区域作为共有存储器使用的情况下,CPU 110还能够排他地对来自外部的访问请求执行一系列的处理。
还有,因为可以切换保持排他锁定方式与芯片选择排他锁定方式,所以,能够根据系统,设定最佳的锁定方式。
权利要求
1.一种半导体装置,其特征在于,在一个芯片内包括存储数据的存储器;对所述存储器进行互锁访问的CPU;以及控制电路,接受用于从外部访问所述存储器的请求信号,输出响应于所述请求信号的应答信号,在所述CPU进行所述互锁访问期间,使所述应答信号成为表示排除从外部访问所述存储器的状态。
2.根据权利要求1中所述的半导体装置,其特征在于,CPU在接受互锁访问指令后,就开始互锁访问;在接受互锁访问结束指令后,就结束互锁访问。
3.根据权利要求1中所述的半导体装置,其特征在于CPU对存储器进行非互锁访问;请求信号包括用于请求总线权的保持请求的信号;应答信号包括用于通知已释放所述总线权的保持确认信号;在所述CPU进行所述非互锁访问时,控制电路响应于所述保持请求信号,变成表示请求总线权的电平,使保持确认信号成为表示已释放总线权的应答电平;在所述CPU进行互锁访问期间内,通过使所述保持确认信号成为与所述应答电平不同的电平,使所述应答信号成为表示排除从外部访问所述存储器的状态。
4.根据权利要求1中所述的半导体装置,其特征在于CPU对存储器进行非互锁访问;请求信号包括用于请求从外部访问所述存储器的芯片选择信号;应答信号包括用于通知从外部访问所述存储器已结束的数据结束信号;当所述CPU进行所述非互锁访问时,控制电路响应于所述芯片选择信号,变成表示请求从外部访问所述存储器的电平,使所述数据结束信号成为表示从外部访问所述存储器已结束的应答电平,在所述CPU的互锁访问期间内,通过使所述数据结束信号成为与所述应答电平不同的电平,使所述应答信号成为表示排除从外部访问所述存储器的状态。
5.根据权利要求1中所述的半导体装置,其特征在于CPU对存储器进行非互锁访问;请求信号包括用于请求总线权的保持请求信号及从外部访问所述存储器的芯片选择信号;应答信号包括用于通知已释放所述总线权的保持确认信号及用于通知从外部访问所述存储器已结束的数据结束信号;控制电路具有可以切换的第一锁定方式及第二锁定方式,在第一锁定方式下,当所述CPU进行所述非互锁访问时,响应于所述保持请求信号,变成表示请求总线权的电平,使所述保持确认信号成为表示已释放总线权的第一应答电平,在所述CPU的互锁访问期间内,通过使所述保持确认信号成为与所述第一应答电平不同的电平,使所述应答信号成为表示排除从外部访问存储器的状态,在所述第二锁定方式下,当所述CPU进行所述非互锁访问时,响应于所述芯片选择信号,变成表示请求从外部访问所述存储器的电平,使所述数据结束信号成为表示从外部访问所述存储器已结束的第二应答电平,在所述CPU的互锁访问期间内,通过使所述数据结束信号成为与所述第二应答电平不同的电平,使所述应答信号成为表示排除从外部访问所述存储器的状态。
6.一种计算机系统,其特征在于,备有在一个芯片内包括CPU及存储器,所述CPU对所述存储器进行互锁访问的半导体装置;对所述存储器进行访问的外部总线主控器;以及在所述CPU互锁访问期间内禁止依据所述外部总线主控器对所述存储器进行访问的外部总线控制器。
全文摘要
一种在同一芯片上形成了CPU及存储器的半导体装置,包括:CPU110、内装DRAM120及存储器控制器160;存储器控制器160进行控制,以使CPU110能够对内装DRAM120进行互锁访问。
文档编号G06F15/17GK1181548SQ9711384
公开日1998年5月13日 申请日期1997年6月27日 优先权日1996年11月5日
发明者佐藤贡, 岩田俊一 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1