CN105323404A - 图像处理装置及其控制方法 - Google Patents
图像处理装置及其控制方法 Download PDFInfo
- Publication number
- CN105323404A CN105323404A CN201510349848.XA CN201510349848A CN105323404A CN 105323404 A CN105323404 A CN 105323404A CN 201510349848 A CN201510349848 A CN 201510349848A CN 105323404 A CN105323404 A CN 105323404A
- Authority
- CN
- China
- Prior art keywords
- unit
- circuit
- reshuffle
- configuration information
- image processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00026—Methods therefor
- H04N1/00034—Measuring, i.e. determining a quantity by comparison with a standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32609—Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00071—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
- H04N1/00082—Adjusting or controlling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
- H04N1/00954—Scheduling operations or managing resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种图像处理装置及其控制方法。图像处理装置具有可部分地进行电路配置的可重配置电路。预先存储用于配置所述可重配置电路的电路配置信息,指定与执行作业所需的功能相对应的存储的电路配置信息,并且通过使用所指定的电路配置信息,配置所述可重配置电路的部分重配置单元,来在所述可重配置电路中部分地重配置所需的功能。如果所述重配置成功,则使用所述可重配置电路执行作业,而如果重配置失败,则重新执行重配置。
Description
技术领域
本发明涉及一种图像处理装置及其控制方法。
背景技术
具有可变逻辑电路的诸如PLD(可编程逻辑器件)和FPGA(场可编程门阵列)的可重配置电路是公知的。通常,当PLD或FPGA启动时,将存储在诸如ROM的非易失性存储器中的电路配置信息写入作为内部易失性存储器的配置存储器中,由此切换逻辑电路。此外,当电力供给中断时,删除配置存储器中的信息,因此,当供给电力时,需要通过将电路配置信息从非易失性存储器再次写入配置存储器,来重配置逻辑电路。将以这种方式仅进行一次PLD或FPGA的逻辑电路的配置的方法称为静止重配置。
另一方面,开发了能够在线路正在操作的同时改变逻辑电路的FPGA等,并且将在操作期间改变逻辑电路的方法称为动态重配置。此外,存在能够简单地重写特定区域而不是整个芯片的FPGA,并且将这种类型的重写称为部分重配置。特别地,存在部分地重配置一个逻辑电路部分而不停止正在操作的其他逻辑电路的操作的方法,并且将这种方法称为动态部分重配置。
通过动态部分重配置,代替在动态重配置期间重写整个配置存储器,仅重写配置存储器区域的一部分,由此使得能够部分地重配置FPGA中的逻辑电路。使用这种动态部分重配置技术,使得能够在FPGA的一个区域中实现多个逻辑电路,由此使得能够实现对硬件资源进行时分复用的逻辑电路。其结果是,能够使用较少的硬件资源灵活地实现与各种应用相对应的各种功能,同时保持高的硬件操作性能。
作为利用这种动态部分重配置的技术的一个示例,日本特开2011-186981号公开了如下技术:在流水线处理中,在通过按照以在流水线的最前面的电路开始的顺序在可重配置电路中进行重配置来切换功能的同时,进行数据处理。
在近年来的诸如MFP(多功能打印机)的图像处理装置中,已经能够选择与来自用户的请求相对应的多个处理(复印作业、打印作业、发送作业等),并且通过硬件或软件执行与这些处理相对应的图像处理。如果在这种图像处理装置中利用诸如FPGA的可重配置电路作为用于图像处理的硬件,则能够动态地并且部分地切换FPGA的电路配置,以实现上面描述的各种功能中的各个。其结果是,能够使用较少的硬件资源实现各种图像处理功能。注意,在用于进行部分重配置的配置中,如果部分重配置由于诸如设备故障、电气噪声或者写入定时问题的各种原因中的任何一个而失败,则无法配置所需的电路,并且无法实现希望的数据处理。
如上所述,在使用期间对可重配置电路进行部分重配置的情况下,如果部分重配置失败,则装置的性能劣化。例如,如果某种原因导致针对特定图像处理功能所需的某个图像处理功能的部分重配置失败,则将无法使用该图像处理功能,处理将停止,并且图像处理装置的性能将劣化。为此,在使用期间对可重配置电路进行部分地重配置的配置的情况下,需要实现对部分重配置失败的可能性给予考虑的配置。
发明内容
本发明使得能够实现如下机制,在具有能够对电路配置进行部分地重配置的可重配置电路的图像处理装置中,在可重配置电路的重配置失败的情况下,尽可能地抑制装置的性能的劣化。
本发明的一个方面提供一种图像处理装置,所述图像处理装置包括:可重配置电路,其包括可部分地进行电路配置的第一部分和第二部分;存储单元,其存储第一电路配置信息和第二电路配置信息,所述第一电路配置信息用于在所述第一部分中配置充当预定功能的第一电路,所述第二电路配置信息用于在所述第二部分中配置充当所述预定功能的第二电路;指定单元,其指定所述可重配置电路的、要对充当所述预定功能的电路进行配置的部分;以及配置单元,在所述指定单元指定所述第一部分的情况下,使用所存储的第一电路配置信息对所述第一部分进行电路配置,而在所述指定单元指定所述第二部分的情况下,使用所存储的第二电路配置信息对所述第二部分进行电路配置。
本发明的另一方面提供一种使用可重配置电路的控制方法,所述可重配置电路包括可部分地进行电路配置的第一部分和第二部分,所述控制方法包括:指定所述可重配置电路的、要对充当预定功能的电路进行配置的部分;进行控制,在所述指定步骤中指定所述第一部分的情况下,使用第一电路配置信息,在所述第一部分中配置充当所述预定功能的电路;以及进行控制,在所述指定中指定所述第二部分的情况下,使用第二电路配置信息,在所述第二部分中配置充当所述预定功能的电路。
本发明的再一方面提供一种图像处理装置,其具有可部分地进行电路配置的可重配置电路,所述图像处理装置包括:存储单元,其存储用于配置所述可重配置电路的电路配置信息;指定单元,其指定存储在所述存储单元中的、与执行作业所需的功能相对应的电路配置信息;重配置单元,其通过使用所述指定单元指定的所述电路配置信息,配置所述可重配置电路的部分重配置单元,来在所述可重配置电路中部分地重配置所述功能;以及控制单元,其进行控制,在由所述重配置单元进行的重配置成功的情况下,使用所述可重配置电路执行所述作业,而在所述重配置单元进行的重配置失败的情况下,使所述重配置单元重新执行重配置。
本发明的又一方面提供一种用于控制图像处理装置的控制方法,所述图像处理装置具有可部分地进行电路配置的可重配置电路,所述控制方法包括:指定存储在存储器中的、与执行作业所需的功能相对应的电路配置信息,所述存储器被配置为存储用于配置所述可重配置电路的电路配置信息;通过使用在指定步骤中指定的所述电路配置信息,配置所述可重配置电路的部分重配置单元,来在所述可重配置电路中部分地重配置所述功能;以及进行控制,在所述重配置步骤中重配置成功的情况下,使用所述可重配置电路执行所述作业,而在所述重配置中重配置失败的情况下,使得在所述重配置步骤中重新重配置。
从下面参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
包含在说明书中、构成说明书的一部分的附图例示了本发明的实施例,并且与文字描述一起用于解释本发明的原理。
图1是用于描述根据本发明的实施例的图像处理装置的结构的框图。
图2是用于描述根据实施例的图像处理装置的与部分重配置特别相关的结构的框图。
图3是用于描述根据实施例的配置ROM中存储的配置数据的数据结构的图。
图4是用于描述根据本发明的实施例的图像处理装置进行的处理的流程图。
图5是用于描述根据实施例的图像处理装置进行的图4的步骤S403中的FPGA部分重配置执行处理的详情的流程图。
图6是用于描述根据实施例的图像处理装置进行的图5的步骤S506中的处理的详情的流程图。
图7是用于描述根据实施例的图像处理装置进行的图4的步骤S405中执行的完全重配置处理的流程图。
具体实施方式
现在,参照附图详细描述本发明的实施例。注意,除非另外具体指出,否则在这些实施例中叙述的部件、数字表述和数值的相对布置不限制本发明的范围。
图1是用于描述根据本发明的实施例的图像处理装置100的结构的框图。
图像处理装置100具有:操作单元103,其具有由使用图像处理装置100的用户操作的键、触摸面板等;扫描器单元109,其通过扫描原稿来读取原稿的图像;以及打印机单元107,其基于图像数据将图像打印在片材上。扫描器单元109具有对扫描器单元109进行控制的CPU(未示出)、用于读取原稿的照明灯和扫描镜(二者都未示出)等。打印机单元106具有对打印机单元106进行控制的CPU(未示出)、用于进行图像形成和定影的感光鼓和定影设备(二者都未示出)等。
图像处理装置100还包括对图像处理装置100的操作进行总体控制的CPU101,并且CPU101执行用于控制图像处理装置100的各个单元的控制程序。此外,ROM104存储由CPU101执行的各种数据和控制程序。RAM111提供用于CPU101进行的操作的系统操作存储器和用于临时存储图像数据的图像存储器。存储器控制器110对到RAM111的数据写入和从RAM111的数据读出进行控制。存储器控制器110连接到系统总线120和图像总线121,并且控制对RAM111的访问。
FPGA(场可编程门阵列)140是可重配置电路,其构成图像处理装置100的图像处理电路等。虽然在本实施例中以FPGA为例描述可重配置电路,但是可以使用除FPGA之外的可重配置电路。配置控制器130在CPU101的控制下,对FPGA的电路配置进行控制。配置ROM150存储用于配置FPGA140的线路的电路配置信息(配置数据)。FPGA140的电路配置信息可以动态地被重写,也可以部分地被重写。具体来说,在FPGA140的重配置单元的一部分中配置的一个电路正在操作的同时,能够在与该一个电路所占用的部分不重叠的其他部分中配置其他电路。
网络I/F102通过网络与通用计算机等(未示出)进行通信(发送和接收)。打印机I/F106将图像总线121连接到打印机单元107,并且对与打印机单元107的接口连接进行控制。扫描器I/F108向图像总线121输出从扫描器单元109输入的图像数据,并且对与扫描器单元109的接口连接进行控制。USBI/F114经由USB接口与连接到图像处理装置100的通用计算机、USB设备等(未示出)进行通信(发送和接收)。FAX(传真)I/F115用于连接到公共线路网络,并且与图像处理装置或传真装置(未示出)进行通信(发送和接收)。ROMI/F112对从ROM104的数据读出(例如要由CPU101执行的程序的读出)进行控制。操作单元I/F113对CPU101和操作单元103之间的接口连接进行控制。这里,FPGA140、扫描器I/F108以及打印机I/F106连接到图像总线121,用于传送作为处理目标的图像数据。此外,网络I/F102、USBI/F114、FAXI/F115、操作单元I/F113、ROMI/F112、配置控制器130以及FPGA140经由系统总线120连接到CPU101。CPU101经由系统总线120在FPGA140、扫描器I/F108以及打印机I/F106中设置参数。
接下来,参照图2,对本实施例的图像处理装置100中的与部分重配置相关的结构给出描述。
图2是用于描述本实施例的图像处理装置100中与部分重配置特别相关的结构的框图。在图2中,用相同的附图标记指示图2中的在图1中例示的部分。
FPGA140在内部具有四个部分重配置单元(PR1至PR4)201至204。这些部分重配置单元可以动态地重配置它们的电路配置。虽然在本实施例中描述了在部分重配置单元中配置具有图像处理功能的电路的示例,但是毋庸置疑,可以在部分重配置单元中配置具有图像处理功能之外的功能的电路。
配置控制器130将存储在配置ROM150中的配置数据写入FPGA140指示的部分重配置单元。配置控制器130具有重配置管理单元205和错误检测单元206。重配置管理单元205对部分重配置单元201至204中的各个进行管理。例如,重配置管理单元205对这些部分重配置单元的空闲状态进行管理,例如在当前处理中是否正在使用部分重配置单元201至204。此外,重配置管理单元205确定是否可以重写部分重配置单元。重配置管理单元205基于来自CPU101的指令和表示是否可以重写部分重配置单元的确定结果,来重写部分重配置单元201至204中的配置数据。
在部分重配置单元201至204中的任意一个的部分重配置未正常结束的情况下,错误检测单元206检测错误。例如,错误检测单元206针对当在部分重配置单元201的重写期间配置数据的重写由于某种原因失败时、由可重配置电路(FPGA)输出的错误信号进行监视。如果检测到该错误信号,则错误检测单元206通知重配置管理单元205。稍后将参照图4至7描述在错误检测单元206检测到错误的情况下进行的处理。
接下来,参照图3,对用于在根据实施例的图像处理装置100中配置FPGA140的部分重配置单元201至204的配置数据的存储方法给出描述。
图3是用于描述本实施例的配置ROM150中存储的配置数据的数据结构的图。
FPGA140的部分重配置单元201至204的部分重配置所需的配置数据被与部分重配置单元相对应地存储在配置ROM150中。用于部分重配置单元201(PR1)的配置数据300表示用于在部分重配置单元201中配置逻辑电路的配置数据。图3示出了存在可以在部分重配置单元201中配置的四个功能A、B、C和D的情况。配置数据301是用于在PR1中配置用于功能A的电路的配置数据。类似地,配置数据302至304是分别用于在PR1中配置用于功能B、C和D的电路配置的配置数据。
此外,配置数据310表示用于在配置部分重配置单元(PR2)202中配置逻辑电路的配置数据。用于PR2的配置数据310也存储了用于四个功能A、B、C和D的配置数据,并且配置数据311是用于在PR2中配置用于功能A的电路的配置数据。类似地,配置数据312至314是分别用于在PR2中配置用于功能B、C和D的电路配置的配置数据。
此外,配置数据320表示用于在部分重配置单元(PR3)203中配置逻辑电路的配置数据。用于PR3的配置数据320也存储了用于四个功能A、B、C和D的配置数据,并且配置数据321是用于在PR3中配置用于功能A的电路的配置数据。类似地,配置数据322至324是分别用于在PR3中配置用于功能B、C和D的电路配置的配置数据。
此外,配置数据330表示用于在部分重配置单元(PR4)204中配置逻辑电路的配置数据。用于PR4的配置数据330也存储了用于四个功能A、B、C和D的配置数据,并且配置数据331是用于在PR4中配置用于功能A的电路的配置数据。类似地,配置数据332至334是分别用于在PR4中配置用于功能B、C和D的电路配置的配置数据。
如上所述,需要针对部分重配置单元中的各个准备配置数据。例如,考虑在部分重配置单元(PR1)201和部分重配置单元(PR2)202中配置用于功能A的电路配置的情况。在这种情况下,即使功能是同一功能A,也需要依据部分重配置单元准备不同的配置数据。也就是说,针对PR1的功能A配置数据301和针对PR2的功能A配置数据311。
为此,如果针对各个部分重配置单元提供了许多配置数据,则可以使用各个部分重配置单元用于各种功能,但是存在存储在配置ROM150中的数据量的增加。另一方面,如果对针对各个功能不同地配置的重配置单元设置限制,则在各个部分重配置单元中能够配置的功能的数量变得有限,但是能够减少配置数据的量,由此使得能够减小配置ROM150的容量。
本实施例描述了FPGA140具有四个部分重配置区域、并且在部分重配置区域的各个中配置四个功能A、B、C和D的情况。当然,部分重配置区域的数量和在其中配置的功能的数量限于四个,仅仅是为了简化描述,并且不需要将它们限于四个。
图4是用于描述根据本发明的该实施例的图像处理装置100进行的处理的流程图。注意,通过CPU101执行存储在ROM104中的控制程序,来执行图4的流程图中的过程。
首先,在步骤S401中,CPU101接收作业,然后进行到步骤S402,其中,CPU101指定为了执行接收到的作业而需要在FPGA140中配置的功能。例如,如果为了执行接收到的作业需要功能A,则指定功能A作为该作业的执行所需的功能。接下来,过程移动到步骤S403,其中,CPU101在FPGA140的部分重配置单元中配置在步骤S402中指定的功能。在该步骤S403中,在CPU101的控制下,配置控制器130从配置ROM150中读出配置指定的功能所需的配置数据,并且将配置数据写入FPGA140的部分重配置单元。稍后将参照图5描述在步骤S403中的部分重配置执行处理的详情。
接下来,过程移动到步骤S404,其中,CPU101确定在步骤S403中对FPGA140的部分重配置单元的配置是否成功,使得能够执行在步骤S402中指定的功能。这里,CPU101基于配置控制器130的重配置管理单元205从错误检测单元206获取的检测结果,来确定对部分重配置单元的配置是否成功。如果在步骤S404中CPU101确定在FPGA140的部分重配置单元中配置了在步骤S402中指定的作业执行所需的所有功能,则过程移动到步骤S407。在步骤S407中,CPU101使用在FPGA140中配置的功能进行针对接收到的作业的处理,然后结束该处理。
另一方面,如果在步骤S404中确定对部分重配置单元的配置失败,则过程移动到步骤S405。在步骤S405中,CPU101使配置控制器130对FPGA140执行完全重配置,因为针对作业执行所需的功能的部分重配置以错误结束。稍后将参照图7描述在步骤S405中执行的对FPGA140执行完全重配置的流程。当步骤S405的处理结束时,过程移动到步骤S406,其中,CPU101确定对FPGA140的完全重配置是否正常结束。这里,CPU101同样基于配置控制器130的重配置管理单元205从错误检测单元206获取的检测结果,来确定完全重配置是否成功。如果在步骤S406中CPU101确定对FPGA140的完全重配置正常结束,则过程移动到步骤S407,而如果完全重配置以错误结束,则过程移动到步骤S408,其中,发出错误通知,并且结束该处理。该错误通知根据来自CPU101的指令,在操作单元103的显示单元上显示错误,并且例如提示用户重新设置电力供给。
相应地,在可重配置电路(FPGA)中配置执行接收到的作业所需的功能,并且能够使用配置了功能的可重配置电路执行作业。
接下来,参照图5,详细描述部分重配置执行处理。
图5是用于描述根据本实施例的图像处理装置100进行的图4的步骤S403中的FPGA部分重配置执行处理的详情的流程图。注意,图5的流程图中的过程由CPU101、或者由配置控制器130根据来自CPU101的指令执行。
首先,在步骤S501中,CPU101指定要经历重配置的部分重配置单元,以及从存储在配置ROM150中的配置数据当中指定与要在部分重配置单元中配置的功能相对应的配置数据。例如,在部分重配置单元(PR1)201中配置功能A电路的情况下,CPU101从存储在配置ROM150中的配置数据当中,指定用于PR1功能A的配置数据301。这里,CPU101基于来自重配置管理单元205的信息,指定在FPGA140中的作业处理中未使用并且能够被重写的部分重配置单元。
接下来,过程移动到步骤S502,其中,CPU101指示配置控制器130执行部分重配置。具体来说,针对在步骤S501中指定的配置数据和写入目标部分重配置单元给出指令。这里,例如,给出将配置数据写入部分重配置单元(PR1)201的指令。然后,过程移动到步骤S503,其中,CPU101基于来自配置控制器130的响应,确定步骤S502中的部分重配置是否正常结束。在该确定中,重配置管理单元205针对由FPGA140输出的、表示部分重配置正常结束的信号进行监视,如果错误检测单元206未检测到错误,则确定部分重配置正常结束。如果在步骤S503中CPU101确定部分重配置正常结束,则过程移动到步骤S508,其中,CPU101确定针对执行作业所需的所有功能的部分重配置是否结束。如果针对所有功能的部分重配置结束,则该处理结束,并且过程移动到图4中的步骤S404。另一方面,如果在步骤S508中CPU101确定针对执行作业所需的所有功能的部分重配置未结束,则过程返回到步骤S501,并且执行针对剩余的必要功能的部分重配置。
另一方面,如果在步骤S503中CPU101确定部分重配置未正常结束,则过程移动到步骤S504。在步骤S504中,由于在步骤S502中执行的部分重配置由于某种原因失败,所以CPU101指示配置控制器130重新执行在步骤S502中进行的部分重配置。然后,过程移动到步骤S505,其中,与先前描述的步骤S503类似,CPU101确定在步骤S504中执行的部分重配置的重新执行是否正常结束。如果在步骤S505中CPU101确定部分重配置的重新执行正常结束,则过程移动到步骤S508,否则过程移动到步骤S506。注意,如果在步骤S505中确定部分重配置未正常结束,则CPU101可以多次执行步骤S504和步骤S505的处理。
在步骤S506中,CPU101指示配置控制器130将要写入用于执行功能的配置数据的部分重配置单元切换为未执行其他处理的部分重配置单元。此外,CPU101给出将相应的配置数据写入切换后的部分重配置单元的指令。例如,在当试图在部分重配置单元(PR1)201中配置功能A电路时失败的情况下,如果部分重配置单元(PR2)202空闲,则在该单元中进行针对功能A电路的重配置。稍后将参照图6详细描述步骤S506中用于切换部分重配置单元、然后执行部分重配置的处理。然后,过程移动到步骤S507,其中,CPU101确定在步骤S506中执行的部分重配置单元的切换和部分重配置是否成功。与步骤S503和步骤S505类似,该确定也由针对表示在FPGA中正常结束还是以错误结束的信号进行监视的重配置管理单元205和错误检测单元206进行。如果在步骤S507中CPU101确定部分重配置正常结束,则过程移动到步骤S508,而如果部分重配置以错误结束,则部分重配置处理结束,并且过程移动到图4的步骤S404。
以这种方式,如果配置数据到FPGA的一个部分重配置单元的写入失败,则可以将用于执行同一功能的配置数据写入FPGA中的其他部分重配置单元。相应地,即使在FPGA的一个部分重配置单元中针对一个功能的配置失败,也可以在其他部分重配置单元中配置同一功能。
接下来,参照图6,详细描述对部分重配置单元进行切换并部分地重配置的处理。
图6是用于描述根据本实施例的图像处理装置100进行的图5的步骤S506中的处理的详情的流程图。注意,图6的流程图中的过程由CPU101、或者由配置控制器130根据来自CPU101的指令执行。
首先,在步骤S601中,基于来自重配置管理单元205的信息,CPU101确定在FPGA140的部分重配置单元当中是否存在空闲的部分重配置单元(未配置有任何电路配置的部分重配置单元,也就是说,实际上不作为电路操作的部分重配置单元)。如果在步骤S601中CPU101确定在FPGA140的部分重配置单元当中存在空闲的部分重配置单元,则过程移动到步骤S602,而如果不存在空闲区域,则过程移动到步骤S604。在步骤S602中,CPU101指定要写入空闲的部分重配置单元的配置数据。例如,如果部分重配置单元(PR2)空闲,并且要在其中配置功能A,则从配置ROM150中指定用于PR2功能A的配置数据311。然后,过程移动到步骤S603,其中,CPU101通过将在步骤S602中指定的配置数据写入在步骤S601中找到的空闲的部分重配置单元,来执行部分重配置,然后该处理结束。注意,可想到有如下情况:在步骤S602中,与空闲的部分重配置单元相对应的、用于执行该功能的配置数据未存储在配置ROM150中。在这种情况下,CPU101可以搜索存储了用于执行该功能的配置数据的其他空闲的部分重配置单元。
另一方面,在步骤S604中,由于在FPGA140的部分重配置单元当中不存在空闲的部分重配置单元,因此CPU101确定在FPGA140的部分重配置单元当中,是否存在可重写的部分重配置单元。这里,可重写的部分重配置单元是在其中写入了某种配置数据但是未用于当前处理的部分重配置单元。如果在步骤S604中CPU101确定在FPGA140的部分重配置单元当中存在可重写的部分重配置单元,则过程移动到步骤S605,而如果不存在可重写的部分重配置单元,则该处理结束,并且过程移动到图5的步骤S507。
在步骤S605中,因为在FPGA140的部分重配置单元当中存在可重写的部分重配置单元,所以CPU101指定要在步骤S604中指定的可重写的部分重配置单元中配置的配置数据。例如,在部分重配置单元(PR3)203中配置功能A的情况下,从配置ROM150中指定用于PR3功能A的配置数据331。然后,过程移动到步骤S606,其中,CPU101利用在步骤S605中指定的配置数据,覆写在步骤S604中找到的可重写的部分重配置单元,然后该处理结束。注意,可想到有如下情况:在步骤S605中,与可重写的部分重配置单元相对应的、用于执行该功能的配置数据未存储在配置ROM150中。在这种情况下,CPU101可以搜索存储了用于执行该功能的配置数据的其他可重写的部分重配置单元。
相应地,如果对FPGA的一个部分重配置单元的配置失败,则搜索FPGA中的空闲(未配置)的部分重配置单元,或者进行了配置、但是当前未使用的部分重配置单元。当找到这种部分重配置单元时,可以指定与该部分重配置单元相对应并且与要在其中配置的功能相对应的配置数据,并且可以使用该指定的配置数据执行对FPGA的配置。
接下来,参照图7,详细描述图4的步骤S405中的执行完全重配置的处理。
图7是用于描述根据本实施例的图像处理装置100进行的、在图4的步骤S405中执行的完全重配置处理的详情的流程图。注意,图7的流程图中的过程由CPU101、或者由配置控制器130根据来自CPU101的指令来实现。
在步骤S701中,CPU101从配置控制器130获取在FPGA140的部分重配置单元中配置的配置数据的类型,并且将类型存储在RAM111中。为了在完全重配置之后执行部分重配置,并且将FPGA140的电路配置设置为与完全重配置之前相同的状态,在部分重配置单元中配置的配置数据的类型被存储在这里。接下来,过程移动到步骤S702,其中,CPU101对FPGA140执行完全重配置。这里,在FPGA140的部分重配置单元201至204中配置了FPGA140的功能A至D。例如,在部分重配置单元201中配置了功能A,在部分重配置单元202中配置了功能B,在部分重配置单元203中配置了功能C,并且在部分重配置单元204中配置了功能D。接下来,过程移动到步骤S703,其中,CPU101根据需要执行部分重配置,以获得在步骤S701中存储的与完全重配置之前相同的状态。这里,例如,在部分重配置单元201中配置了功能B,并且在部分重配置单元202中配置了功能A。注意,如果基于在步骤S701中存储的、在FPGA140的部分重配置单元中配置的配置数据的类型,执行步骤S702中的对FPGA140的完全重配置,则可以省略步骤S703的处理。
根据上面描述的本实施例,在包括可以经历动态部分重配置的FPGA的图像处理装置中,即使动态部分重配置失败,也能够执行用于尽可能抑制性能劣化的恢复控制。
其他实施例
本发明的实施例还能够由系统或装置的计算机以及系统或装置的计算机执行的方法来实现,所述计算机读出并执行记录在存储介质(其还可以被更完整地称为‘非易失性计算机可读存储介质’)上的计算机可执行指令(例如一个或更多个程序),以执行上述实施例中的一个或更多个的功能,和/或所述计算机包括一个或更多个电路(例如专用集成电路(ASIC)),用于执行上述实施例中的一个或更多个的功能,所述方法例如从存储介质中读出并执行计算机可执行指令,以执行上述实施例中的一个或更多个的功能,和/或控制一个或更多个电路,执行上述实施例中的一个或更多个的功能。所述计算机可以包括一个或更多个处理器(例如中央处理单元(CPU)、微处理单元(MPU)),并且可以包括单独的计算机或单独的处理器的网络,以读出并执行计算机可执行指令。例如可以从网络或存储介质向计算机提供计算机可执行指令。存储介质例如可以包括硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储设备、光盘(例如紧凑盘(CD)、数字通用盘(DVD)或蓝光盘(BD)TM)、闪存设备、存储卡等中的一个或更多个。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例对本发明进行了说明,但是应当理解,本发明不限于所公开的示例性实施例。所附权利要求的范围符合最宽的解释,以使其涵盖所有这些变型以及等同结构和功能。
Claims (15)
1.一种图像处理装置,所述图像处理装置包括:
可重配置电路,其包括可部分地进行电路配置的第一部分和第二部分;
存储单元,其存储第一电路配置信息和第二电路配置信息,所述第一电路配置信息用于在所述第一部分中配置充当预定功能的第一电路,所述第二电路配置信息用于在所述第二部分中配置充当所述预定功能的第二电路;
指定单元,其指定所述可重配置电路的、要对充当所述预定功能的电路进行配置的部分;以及
配置单元,其在所述指定单元指定所述第一部分的情况下,使用所存储的第一电路配置信息对所述第一部分进行电路配置,而在所述指定单元指定所述第二部分的情况下,使用所存储的第二电路配置信息对所述第二部分进行电路配置。
2.根据权利要求1所述的图像处理装置,其中,所述指定单元从所述可重配置电路中包括的多个部分当中,指定空闲部分。
3.根据权利要求2所述的图像处理装置,其中,所述空闲部分是实际上不进行作为电路操作的部分。
4.一种使用可重配置电路的控制方法,所述可重配置电路包括可部分地进行电路配置的第一部分和第二部分,所述控制方法包括:
指定步骤,指定所述可重配置电路的、要对充当预定功能的电路进行配置的部分;
控制步骤,进行控制,在所述指定步骤中指定所述第一部分的情况下,使用第一电路配置信息,在所述第一部分中配置充当所述预定功能的电路;以及
进行控制,在所述指定步骤中指定所述第二部分的情况下,使用第二电路配置信息,在所述第二部分中配置充当所述预定功能的电路。
5.根据权利要求4所述的控制方法,其中,通过从所述可重配置电路中包括的多个部分当中指定空闲部分,来进行所述指定步骤。
6.根据权利要求5所述的控制方法,其中,所述空闲部分是实际上不进行作为电路操作的部分。
7.一种图像处理装置,其具有可部分地进行电路配置的可重配置电路,所述图像处理装置包括:
存储单元,其存储用于配置所述可重配置电路的电路配置信息;
指定单元,其指定存储在所述存储单元中、与执行作业所需的功能相对应的电路配置信息;
重配置单元,其通过使用所述指定单元指定的所述电路配置信息,配置所述可重配置电路的部分重配置单元,来在所述可重配置电路中部分地重配置所述功能;以及
控制单元,其进行控制,在所述重配置单元进行的重配置成功的情况下,使用所述可重配置电路执行所述作业,而在所述重配置单元进行的重配置失败的情况下,使所述重配置单元重新执行重配置。
8.根据权利要求7所述的图像处理装置,
其中,所述可重配置电路具有可进行电路配置的多个部分重配置单元,并且
所述存储单元将与多个功能相对应的多个电路配置信息、与所述多个部分重配置单元中的各个相关联地存储。
9.根据权利要求8所述的图像处理装置,其中,所述控制单元控制所述重配置单元,在所述重配置单元进行的重配置失败的情况下,使用与所述功能相对应、并且与所述可重配置电路当中的未配置电路配置的部分重配置单元相对应的电路配置信息,来配置未配置电路配置的所述部分重配置单元。
10.根据权利要求8所述的图像处理装置,其中,所述控制单元控制所述重配置单元,在所述重配置单元进行的重配置失败的情况下,通过使用与所述功能相对应、并且与所述可重配置电路当中的配置了电路配置但是在所述作业中未使用的部分重配置单元相对应的电路配置信息进行覆写,来配置未使用的所述部分重配置单元。
11.根据权利要求9所述的图像处理装置,其中,所述控制单元进行控制,在所述重配置单元进行的重配置失败,并且在所述存储单元中未存储与所述功能相对应、并且与所述可重配置电路当中的未配置电路配置的部分重配置单元相对应的电路配置信息的情况下,使所述重配置单元对所述可重配置电路当中的、在所述存储单元中存储了与所述功能相对应的电路配置信息的、未配置电路配置的部分重配置单元,重新执行重配置。
12.根据权利要求10所述的图像处理装置,其中,所述控制单元进行控制,在所述重配置单元进行的重配置失败,并且在所述存储单元中未存储与所述功能相对应、并且与所述可重配置电路当中的配置了电路配置但是在所述作业中未使用的部分重配置单元相对应的电路配置信息的情况下,使所述重配置单元对所述作业未使用、并且在所述存储单元中存储了与所述功能相对应的电路配置信息的部分重配置单元,重新执行重配置。
13.根据权利要求8所述的图像处理装置,其中,所述控制单元还具有完全重配置单元,所述完全重配置单元被构造为在当所述重配置单元重新执行重配置时重配置失败的情况下,使用存储在所述存储单元中的电路配置信息,来配置所述可重配置电路的所有的部分重配置单元。
14.根据权利要求7所述的图像处理装置,其中,所述可重配置电路是各自能够动态地重配置所述多个部分重配置单元的FPGA。
15.一种用于控制图像处理装置的控制方法,所述图像处理装置具有可部分地进行电路配置的可重配置电路,所述控制方法包括:
指定步骤,指定存储在存储器中的、与执行作业所需的功能相对应的电路配置信息,所述存储器被构造为存储用于配置所述可重配置电路的电路配置信息;
重配置步骤,通过使用在指定步骤中指定的所述电路配置信息,配置所述可重配置电路的部分重配置单元,来在所述可重配置电路中部分地重配置所述功能;以及
控制步骤,进行控制,在重配置步骤中重配置成功的情况下,使用所述可重配置电路执行所述作业,而在所述重配置步骤中重配置失败的情况下,使得在所述重配置步骤中重新执行重配置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-129708 | 2014-06-24 | ||
JP2014129708A JP6598432B2 (ja) | 2014-06-24 | 2014-06-24 | 画像処理装置、その制御方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105323404A true CN105323404A (zh) | 2016-02-10 |
CN105323404B CN105323404B (zh) | 2019-05-03 |
Family
ID=54870808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510349848.XA Active CN105323404B (zh) | 2014-06-24 | 2015-06-23 | 图像处理装置及其控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9313364B2 (zh) |
JP (1) | JP6598432B2 (zh) |
CN (1) | CN105323404B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
JP6308821B2 (ja) * | 2014-03-13 | 2018-04-11 | キヤノン株式会社 | 画像処理装置 |
JP6478525B2 (ja) * | 2014-08-25 | 2019-03-06 | キヤノン株式会社 | 画像処理装置と、その制御方法、及びプログラム |
US9792154B2 (en) | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10511478B2 (en) | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US10216555B2 (en) * | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
WO2017188416A1 (ja) * | 2016-04-28 | 2017-11-02 | Necソリューションイノベータ株式会社 | 回路装置、回路書き換え方法、及びコンピュータ読み取り可能な記録媒体 |
JP6751057B2 (ja) * | 2017-07-04 | 2020-09-02 | 日立オートモティブシステムズ株式会社 | 電子制御システム |
JP2022040721A (ja) * | 2020-08-31 | 2022-03-11 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、及びプログラム |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000252814A (ja) * | 1999-03-02 | 2000-09-14 | Fuji Xerox Co Ltd | 情報処理システム |
JP2001136058A (ja) * | 1999-11-04 | 2001-05-18 | Nippon Telegr & Teleph Corp <Ntt> | 論理回路データ生成方法及び装置及び論理回路データ生成プログラムを格納した記憶媒体 |
CN1725642A (zh) * | 2004-07-20 | 2006-01-25 | 株式会社东芝 | 可编程逻辑电路装置和可编程逻辑电路重配置方法 |
JP2006099305A (ja) * | 2004-09-29 | 2006-04-13 | Hitachi Ltd | プログラマブルlsiのコンフィグレーション制御方法 |
JP2006262227A (ja) * | 2005-03-18 | 2006-09-28 | Konica Minolta Holdings Inc | ハードウェアコンフィグレーション装置 |
JP2009140353A (ja) * | 2007-12-07 | 2009-06-25 | Toshiba Corp | 再構成可能な集積回路、及びこれを用いた自己修復システム |
US20110314075A1 (en) * | 2010-06-18 | 2011-12-22 | Nokia Corporation | Method and apparatus for managing distributed computations within a computation space |
CN102508729A (zh) * | 2011-09-29 | 2012-06-20 | 中国航天科技集团公司第五研究院第五一三研究所 | Fpga内rom映射区动态刷新纠错方法 |
CN102970022A (zh) * | 2011-06-30 | 2013-03-13 | 阿尔特拉公司 | 用于提高电子电路可靠性的装置和相关方法 |
CN103516945A (zh) * | 2012-06-28 | 2014-01-15 | 佳能株式会社 | 信息处理装置及其控制方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248757B2 (en) * | 2003-12-15 | 2007-07-24 | Canon Kabushiki Kaisha | Method, device and computer program for designing a circuit having electric wires and optical connections |
US7734895B1 (en) * | 2005-04-28 | 2010-06-08 | Massachusetts Institute Of Technology | Configuring sets of processor cores for processing instructions |
JP5023856B2 (ja) * | 2007-07-18 | 2012-09-12 | 富士ゼロックス株式会社 | 演算処理装置及び演算処理プログラム |
JP5277615B2 (ja) * | 2007-11-22 | 2013-08-28 | 富士ゼロックス株式会社 | データ処理装置及びデータ処理プログラム |
US8856926B2 (en) * | 2008-06-27 | 2014-10-07 | Juniper Networks, Inc. | Dynamic policy provisioning within network security devices |
JP5477551B2 (ja) * | 2009-08-20 | 2014-04-23 | 株式会社リコー | 反射型光学センサ及び画像形成装置 |
JP5504985B2 (ja) | 2010-03-11 | 2014-05-28 | 富士ゼロックス株式会社 | データ処理装置 |
JP5589479B2 (ja) * | 2010-03-25 | 2014-09-17 | 富士ゼロックス株式会社 | データ処理装置 |
JP2013154606A (ja) * | 2012-01-31 | 2013-08-15 | Canon Inc | 印刷装置及びその制御方法 |
JP5876319B2 (ja) * | 2012-02-21 | 2016-03-02 | 日本電信電話株式会社 | サービス提供システム、サービス提供方法、リソースマネージャ、プログラム |
JP5953947B2 (ja) * | 2012-06-04 | 2016-07-20 | 株式会社Ihi | 耐環境被覆されたセラミックス基複合材料部品及びその製造方法 |
JP6004883B2 (ja) * | 2012-10-16 | 2016-10-12 | キヤノン株式会社 | 画像形成装置及びその制御方法、並びにプログラム |
JP6308821B2 (ja) * | 2014-03-13 | 2018-04-11 | キヤノン株式会社 | 画像処理装置 |
-
2014
- 2014-06-24 JP JP2014129708A patent/JP6598432B2/ja active Active
-
2015
- 2015-06-11 US US14/736,313 patent/US9313364B2/en not_active Expired - Fee Related
- 2015-06-23 CN CN201510349848.XA patent/CN105323404B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000252814A (ja) * | 1999-03-02 | 2000-09-14 | Fuji Xerox Co Ltd | 情報処理システム |
JP2001136058A (ja) * | 1999-11-04 | 2001-05-18 | Nippon Telegr & Teleph Corp <Ntt> | 論理回路データ生成方法及び装置及び論理回路データ生成プログラムを格納した記憶媒体 |
CN1725642A (zh) * | 2004-07-20 | 2006-01-25 | 株式会社东芝 | 可编程逻辑电路装置和可编程逻辑电路重配置方法 |
JP2006099305A (ja) * | 2004-09-29 | 2006-04-13 | Hitachi Ltd | プログラマブルlsiのコンフィグレーション制御方法 |
JP2006262227A (ja) * | 2005-03-18 | 2006-09-28 | Konica Minolta Holdings Inc | ハードウェアコンフィグレーション装置 |
JP2009140353A (ja) * | 2007-12-07 | 2009-06-25 | Toshiba Corp | 再構成可能な集積回路、及びこれを用いた自己修復システム |
US20110314075A1 (en) * | 2010-06-18 | 2011-12-22 | Nokia Corporation | Method and apparatus for managing distributed computations within a computation space |
CN102970022A (zh) * | 2011-06-30 | 2013-03-13 | 阿尔特拉公司 | 用于提高电子电路可靠性的装置和相关方法 |
CN102508729A (zh) * | 2011-09-29 | 2012-06-20 | 中国航天科技集团公司第五研究院第五一三研究所 | Fpga内rom映射区动态刷新纠错方法 |
CN103516945A (zh) * | 2012-06-28 | 2014-01-15 | 佳能株式会社 | 信息处理装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105323404B (zh) | 2019-05-03 |
JP2016009339A (ja) | 2016-01-18 |
US9313364B2 (en) | 2016-04-12 |
JP6598432B2 (ja) | 2019-10-30 |
US20150373225A1 (en) | 2015-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105323404A (zh) | 图像处理装置及其控制方法 | |
JP5746100B2 (ja) | 画像形成装置 | |
CN103516945B (zh) | 信息处理装置及其控制方法 | |
US20160036998A1 (en) | Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method | |
US10122883B2 (en) | Image processing apparatus including circuit configuration and method of controlling the same | |
US11073881B2 (en) | Electronic apparatus and control method of electronic apparatus | |
US10084452B2 (en) | Information processing apparatus, image processing apparatus with information processing apparatus, and control method for information processing apparatus | |
US9560232B2 (en) | Image processing apparatus, method of controlling the same, and storage medium for configuring a reconfigurable device | |
CN104219409A (zh) | 具有休眠功能的图像形成装置及其控制方法 | |
US20150256687A1 (en) | Image processing apparatus and method for controlling the same, and storage medium | |
JP2015149025A (ja) | 画像処理装置およびその制御方法、並びにプログラム | |
US9948808B2 (en) | Information processing apparatus having circuit configuration data installed based on identifier correspondence, method for controlling the same, and storage medium | |
US9760285B2 (en) | Image processing system and image processing apparatus for configuring logical circuit on circuit according to configuration data | |
JP2017129951A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US9448817B2 (en) | Information processing apparatus that saves data in main storage device and control method therefor, and storage medium | |
US10594877B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
EP3547194A1 (en) | Apparatus and method for secure boot | |
JP6864721B2 (ja) | 情報処理装置、およびその制御方法 | |
JP2015198405A (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
US10782975B1 (en) | Information processing apparatus, dynamic reconfiguration device, and non-transitory computer readable medium | |
US11968469B2 (en) | Computing apparatus, image capturing apparatus, control method, and storage medium | |
JP2017118450A (ja) | データ処理装置、その制御方法、及びプログラム | |
US20220066666A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
JP2006344022A (ja) | 機器及びプログラム起動方法 | |
JP2014026544A (ja) | 電子機器及びそのバックアッププログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |