可执行外部程序码的集成电路和方法技术

技术编号:7244377 阅读:253 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种可执行外部程序码的集成电路,其包含有一处理器;一只读记忆体,用以储存第一例程和第二例程的程序码;以及一随机存取记忆体,具有第一记忆体区块和第二记忆体区块。处理器执行第一例程的程序码,并利用第一记忆体区块的复数个第一记忆单元存取第一例程的数据。处理器执行第二例程的程序码,并利用第一区块的复数个第二记忆单元存取第二例程的数据,第一记忆单元与第二记忆单元至少有一个记忆单元相同。处理器执行外部只读记忆体的第三例程的程序码,并于第二区块存取第三例程的数据。本发明专利技术还提出一种使用该集成电路执行外部程序码的方法。

【技术实现步骤摘要】

本专利技术涉及一种集成电路及其运作方法,尤其是涉及一种可执行外部程序码的集成电路和其运作方法。
技术介绍
在设计集成电路时,研发人员常会使用处理器(processor)配合特定功能的电路设计,以便在产品效能、研发时程和产品应用的弹性等方面达成需求。处理器也常被称为微处理器(microprocessor)、控制器(controller)、微控制器(micro controller)等。特定功能的电路设计因为只需执行某些特定功能,因此效能通常较佳,但电路设计的研发需要较长的时间,也较难因应不同的产品应用而更动电路设计。处理器虽然通常效能略差,但能配合研发人员所撰写的软件或固件(firmware)而能执行较多功能,因此可缩短研发时间, 并且提供较大的弹性。当运作时,处理器读取于非挥发性(non-volatile)记忆体的程序码,以执行所需的功能。非挥发性记忆体常内建于集成电路内,例如,以只读记忆体(read only memory, ROM)、快闪记忆体(flash memory)等方式实现,并且于集成电路制造时写入程序码。若集成电路制造完成后,需要新增或修改程序码以使集成电路达成所需的功能,则可能需要藉由修改只读记忆体的内容,并修改或重新制造光罩后,才能制造具有经修改的程序码的集成电路。虽然修改只读记忆体的内容比起修改电路设计已经较为容易,但仍需耗费许多资金和时间。因此,有些修改方式藉由将新增或修改过的程序码储存于另一个外部的非挥发性记忆体,当集成电路运作时,不但会读取内部的非挥发性记忆体内的程序码,并且会读取外部的非挥发性记忆体的程序码。如此一来,研发人员便能以较弹性且低成本的方式来新增或修改程序码,并且上下游协力厂商的研发人员也能以这种方式轻易的新增或修改集成电路的功能,而能发展出更多应用。此外,有些处理器支援可重复利用记忆体(data overlay或share memory)的功能,让程序码中的各个例程(routine)能够共用相同的随机记忆体(random access memory, RAM),而能够节省所使用的随机存取记忆体。例如,A例程需要在随机记忆体使用 30个记忆单元存取A例程所需的数据(data或variable),B例程需要在随机记忆体使用 20个记忆单元存取B例程所需的数据,若此二例程不会同时执行,则可让A例程和B例程在随机记忆体上共用部份或全部的记忆单元。例程也有被称为子例程(sub-routine)、程序 (program)、子程序(sub-program)、流程(process)等名称,而记忆单元可依设计考量采用位元组(byte)、字组(word)或其他合适的记忆体容量。然而,采用可重复利用记忆体功能的处理器,需要更仔细的控管各个例程的执行和随机存取记忆体的使用,以免例程由随机存取记忆体中存取了错误的数据,而产生了错误的输出。例如,研发人员欲以储存于外部只读记忆体的C例程取代A例程,C例程需要在随机记忆体上使用40个记忆体单元。假设原先A例程使用第N个至第N+四个记忆体单元存取数据,而另一 D例程使用第N+30个至第N+45个记忆体单元存取数据。若直接使用C例程取代A例程,而让C例程使用第N个至第N+39个记忆体单元存取数据,则C例程和D例程都可能因此存取到错误的数据,而使C例程以及D例程无法执行正确的功能。因此,如何使处理器、随机存取记忆体、集成电路内部和外部非挥发性记忆体正常运作,例如,载入正确的程序码和随机记忆体的使用控管等,并且让研发人员能更易于新增或修改程序码,是长期以来一直需要解决的问题。
技术实现思路
因此,需要一种执行外部程序码的装置与方法以解决上述的问题。为了解决上述问题,本说明书提供一种可执行外部程序码的集成电路,其包含有一处理器;一只读记忆体,用以储存一第一例程和一第二例程的程序码;以及一随机存取记忆体,具有一第一记忆体区块和一第二记忆体区块;其中该处理器执行该第一例程的程序码,并利用该第一记忆体区块的复数个第一记忆单元存取该第一例程的一数据,该处理器执行该第二例程的程序码,并利用该第一区块的复数个第二记忆单元存取该第二例程的一数据,该第一记忆单元与该第二记忆单元至少有一个记忆单元相同,且该处理器自一外部只读记忆体读取一第三例程的程序码,并于该第二区块存取该第三例程的一数据。本说明书另提供一种使用一集成电路执行外部程序码的方法,其包含有使用一处理器执行储存于一第一只读记忆体的一第一例程的程序码,将该第一例程的一数据储存于一随机存取记忆体的一第一区块的复数个第一记忆单元;使用该处理器执行储存于一第一只读记忆体的一第二例程的程序码,将该第二例程的一数据储存于该随机存取记忆体的该第一区块的复数个第二记忆单元,并且该第二记忆单元的至少其中之一和该第一记忆单元的至少其中之一为相同的记忆单元;使用该处理器执行储存于一第二只读记忆体的一第三例程的程序码,将该第三例程的一数据储存于该随机存取记忆体的该第二区块;其中该处理器、该第一只读记忆体和该随机存取记忆体设置于该集成电路内部,而该第二只读记忆体设置于该集成电路外部。上述实施例的优点之一在于能使集成电路的研发更有弹性,并且降低所需的研发成本和时间。附图说明 170180220、240、260导线非挥发性记忆体记忆体区块具体实施例方式以下将配合相关图式来说明本专利技术的实施例。在这些图式中,相同的标号表示相同或类似的元件或流程步骤。在说明书及后续的权利要求当中使用了某些词汇来指称特定的元件。本领域技术人员应可理解,可能会有不同的名词用来称呼同样的元件。本说明书及后续的权利要求并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的基准。在通篇说明书及后续的权项当中所提及的「包含」为一开放式的用语,故应解释成「包含但不限定于...」。另外,「耦接」一词包含任何直接及间接的连接手段。因此, 若文中描述第一装置耦接于第二装置,则代表第一装置可直接连接(包含通过电性连接、 有线/无线传输、或光学传输等讯号连接方式)于第二装置,或通过其他装置或连接手段间接的电性或讯号连接至该第二装置。图1为本专利技术一实施例的集成电路系统100简化后的功能方块图。集成电路系统 100包含集成电路110、导线170和非挥发性记忆体180。集成电路100包含处理器120、非挥发性记忆体130和随机存取记忆体140。处理器120可以采用任何合适形式的处理器,例如,精简指令集(reduced instruction set computing, RISC)处理器、复杂指令集(complex instruction set computing, CISC)处理器或其他架构的处理器,并且具有可重复利用记忆体的功能。例如,处理器120可使用 M8051系列处理器或80390系列处理器。非挥发性记忆体130可以采用快闪记忆体、可抹写式(erasable)的只读记忆体或不可抹写式的只读记忆体等,用以储存处理器120可执行的程序码。该程序码可以是各种程序语言的原始码(source code)、汇编码(assembly code)或可执行码等。随机存取记忆体140可以采用静态随机存取记忆体(static RAM, SRAM)、动态随机存取记忆体(dyn本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:林政良
申请(专利权)人:络达科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术