WO2004104828A1 - 割り込みコントローラ、asic、及び電子機器 - Google Patents

割り込みコントローラ、asic、及び電子機器 Download PDF

Info

Publication number
WO2004104828A1
WO2004104828A1 PCT/JP2000/001768 JP0001768W WO2004104828A1 WO 2004104828 A1 WO2004104828 A1 WO 2004104828A1 JP 0001768 W JP0001768 W JP 0001768W WO 2004104828 A1 WO2004104828 A1 WO 2004104828A1
Authority
WO
WIPO (PCT)
Prior art keywords
interrupt
address
interrupt controller
memory
processor
Prior art date
Application number
PCT/JP2000/001768
Other languages
English (en)
French (fr)
Inventor
Yoshiaki Hashimoto
Original Assignee
Yoshiaki Hashimoto
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yoshiaki Hashimoto filed Critical Yoshiaki Hashimoto
Priority to US09/700,645 priority Critical patent/US6654839B1/en
Publication of WO2004104828A1 publication Critical patent/WO2004104828A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Definitions

  • the present invention relates to an interrupt controller, an AS IC, and an electronic device. [Background technology]
  • CPUs microprocessors
  • embedded CPUs are intended to be embedded as the core of ASIC.
  • the user uses this embedded CPU for the CPU that is the core of the AS IC, and designs the circuit itself by using a gate array or the like for the parts other than the CPU.
  • ARM AdvancedRISCMaChines
  • the ARM is a small, low-cost RISC-type CPU with high-speed throughput but low power consumption.
  • This ARM-based AS IC is expected to be a suitable AS IC for embedding in electronic devices such as mobile phones and GSM.
  • this ARM has the following technologies for interrupt processing. It turned out that there was a problem. '-For example, the standard operation of ARM at the time of interrupt processing is described with reference to Fig. 1.-
  • interrupt controller 610 When any one of the external interrupt requests IR0 to IR31 is input to the interrupt controller 610, the interrupt factor register 612 in the interrupt controller 610 holds the interrupt factor. Then, the interrupt controller 610 generates an interrupt request IRQ (normal level interrupt request) and notifies the CPU (ARM) 600 that there is an external interrupt request.
  • IRQ normal level interrupt request
  • the CPU 600 Upon receiving the IRQ, the CPU 600 reads the interrupt vector 622 stored at the vector address (00000018H) of the memory 620, as indicated by A1 in FIG. Then, as shown in A2, an interrupt processing routine (interrupt handler) 624 whose start address is specified by the interrupt vector 622 is started.
  • the activated interrupt processing routine 624 checks the interrupt factor held in the interrupt factor register 612. Then, various processes are performed according to the interrupt factor.
  • interrupt vector storage address can be specified (00000018H). Therefore, hardware can only branch to one interrupt processing routine 624, and branching to multiple interrupt processing routines can only be performed by software in the interrupt processing routine 624.
  • Japanese Patent Application Laid-Open No. 63-165929 discloses a prior art in which an interrupt vector table is built in an interrupt controller. According to this conventional technique, when an external interrupt occurs, the interrupt controller generates an interrupt request and notifies the CPU. When receiving the ACK signal from the CPU, the interrupt controller outputs the interrupt vector stored in the interrupt table to the CPU via the bus.
  • the present invention has been made in view of the above technical problems, and an object thereof is to enable direct branching to a plurality of interrupt processing routines.
  • an interrupt controller for interrupt control, a means for generating an interrupt request to a processor when an external interrupt request is received, and an address from the processor.
  • an interrupt request is issued to the processor.
  • the processor executes a read instruction of the interrupt vector (start address of the interrupt processing routine).
  • start address of the interrupt processing routine the address from the processor is trapped, and it is determined whether or not the read instruction of the interrupt vector has been executed based on the trapped address.
  • the CPU outputs a vector table address (address for storing the interrupt request template) corresponding to the accepted external interrupt request factor to the memory.
  • the interrupt vector corresponding to the cause of the external interrupt request is output from the memory storing the interrupt vector table.
  • the processor and the memory are connected to a high-performance first bus, and an interrupt controller is connected to a low-performance second bus. It is provided in the memory, not in the interrupt controller. Therefore, even if the interrupt controller is connected to the low-performance second bus in this manner, the interrupt vector tape can be read from the memory via the high-performance first bus. Files can be read at high speed. As a result, it is possible to speed up interrupt processing while reducing the hardware size of the interrupt controller.
  • the present invention is characterized in that an address switching signal to a selector for selecting and outputting one of an address from a processor and a vector table address from an interrupt controller is generated. In this way, the signal delay of the address from the port processor during the normal operation can be minimized.
  • the present invention includes a base register for storing a base address of a vector table address, wherein the base table is stored based on a cause of the external interrupt request and a base address from the base register. It is characterized by generating addresses. This makes it possible to continuously store the interrupt vector at an address desired by the user in the memory, thereby improving user convenience.
  • the present invention can switch between a first mode in which a process for trapping an address from a processor and generating the workable address is enabled and a second mode in which the process is disabled. It is characterized by being. In this way, it is possible to meet the needs of both users who want to operate in the first mode in which vector table addresses are generated and users who want to operate in the standard second mode. become.
  • an ASIC including any one of the above-described interrupt controllers, the processor that executes an instruction execution process, and the memory that stores at least the interrupt vector table. In this way, it is possible to provide an ASIC that can respond to the needs of various layers of users.
  • an electronic device includes the above ASIC, input means for inputting data, and output means for outputting at least one of an image and a sound under the control of the ASIC. It is characterized by. In this way, for example, it is possible to directly and immediately branch to an interrupt processing routine corresponding to each of a plurality of operations using the input means. This simplifies programs that operate electronic devices, The processing can be speeded up. [Brief description of drawings]
  • Figure 1 illustrates the standard ARM behavior during interrupt handling.
  • FIG. 2 is a block diagram showing the interrupt controller and its peripheral devices according to the present embodiment.
  • FIG. 3 is a diagram showing, as a comparative example, an example in which the prior art is applied.
  • FIG. 4 is a diagram showing an example in which the conventional technology is applied as a comparative example.
  • FIG. 5 is a diagram showing a detailed configuration example of the interrupt controller.
  • FIG. 6 is a signal waveform diagram for explaining the operation of the interrupt controller.
  • FIG. 7 is a diagram illustrating a configuration example of a microcomputer (ASIC) using the interrupt controller according to the present embodiment.
  • ASIC microcomputer
  • FIG. 8 is an example of a block diagram of an electronic device in which the microcomputer of FIG. 7 is incorporated.
  • 9A, 9B, and 9C are examples of external views of various electronic devices. [Best Mode for Carrying Out the Invention]
  • FIG. 2 shows a block diagram of the interrupt controller of the present embodiment and its peripheral devices.
  • the ARM adopts a bus architecture called an AMBA (Advanced Microcontroller Bus Architecture) in which an ASB (Advanced System Bus) and an APB (Advanced Peripheral Bus) are connected via a bus pledge 10.
  • ASB which is a system bus, has an address bus ASAB, a data bus ASD B, and a bus control line ASB C.
  • ASB is a high-performance bus, and is suitable as a bus to which the CPU 20 and the memory 40 that require high processing speed are connected.
  • bus control using ASB C is also complicated.
  • AP3B a bus for peripherals
  • APB is a bus with lower performance than ASB, but is superior to ASB in terms of low power consumption. Bus control using APBC is also easier than ASB.
  • I / O devices such as the interrupt controller 30, the timer 12, the P1014, and the UART 16, which do not require a very high processing speed, are connected.
  • the CPU 20 executes processing of various instructions, and in the present embodiment, ARM is used as the CPU 20.
  • the CPU 20 includes a bus IZF section 22 functioning as an interface with an address bus ASAB, a data bus ASD B, and a bus control line A SBC.
  • the interrupt controller 30 performs a process of detecting an external interrupt request I R0 to I R31 and a process of generating an IRQ and notifying the CPU 20 when an external interrupt request is received. Further, the interrupt controller 30 of the present embodiment also performs a process of generating the vector table address VTA (the storage address of the interrupt vector table 44) address switching signal SS.
  • VTA the storage address of the interrupt vector table 44
  • the memory 40 stores an interrupt vector table 44. That is, in the prior art of Japanese Patent Application Laid-Open No. 63-165929, an interrupt request table is provided in the interrupt controller, whereas in the present embodiment, an interrupt vector table 44 is provided in the memory 40.
  • the interrupt controller 30 Upon receiving an external interrupt request: any of IR0 to IR31, the interrupt controller 30 generates an interrupt request IRQ to the CPU 20 and notifies the CPU 20 that there is an external interrupt request. (2) When accepting the IRQ, the CPU 20 executes a read instruction of the interrupt vector 42 stored at the vector address (00000018H) when the transition to the interrupt processing is possible.
  • the interrupt controller 30 traps the address AD from the CPU 20. Then, it is determined whether or not the CPU 20 has executed the read instruction of the interrupt vector 42 based on the trapped address.
  • the interrupt controller 30 determines that the read instruction of the interrupt vector 42 has been executed, the interrupt controller 30 executes the vector processing corresponding to the cause of the external interrupt request accepted in (1) above. Generates address VTA. Further, the selector 32 controls the address switching signal SS so that the vector table address V TA is selected instead of the address AD from the CPU 20 and output to the SQ. As a result, on the address bus ASAB, the vector table address VTA generated by the interrupt controller 30 is used instead of the vector address (00000018H) from the CPU 20.
  • V31 is read.
  • the interrupt processing routine P0 When the interrupt vector V0 is read, the interrupt processing routine P0 whose start (first) address is specified is started by V0, and when the VI is read, the start address is set by V1. Starts the interrupt processing routine P1 in which... When V31 is read, the interrupt processing routine P31 whose start address is specified by V31 starts.
  • the interrupt vector 42 is stored at (00000018H) for simplicity of explanation, but since this interrupt vector 42 will not be read out after all, (00. It is not always necessary to store the interrupt vector 42 in H).
  • the interrupt processing routines P0 to P31 at a plurality of locations are used. You will be able to branch directly.
  • the hardware can branch to only one interrupt processing routine 624. For this reason, the only way to branch to the interrupt processing routine at a plurality of locations was to perform software processing using the interrupt processing routine 624 that was started first. Therefore, when external interrupt requests IR0 to IR: 31 are input, it is not possible to immediately branch to the interrupt processing routine corresponding to each external interrupt request.
  • the processing branches directly to the interrupt processing routine P0, and when IR1 is input, the processing branches directly to P1. It is possible to directly and immediately branch to a plurality of interrupt processing routines, such as branching to P0 to P31, depending on the interrupt factor. As a result, the processing speed can be increased, and the program can be made more compact and simplified. Moreover, the CPU 20 may simply perform the operation of reading the interrupt request 42 of (00000001 8H) as usual. Thus, direct branching to multiple interrupt handling routines is possible without changing other parts of the system.
  • FIGS. 3 and 4 show examples in which the prior art of Japanese Patent Application No. 63-165929 is applied as a comparative example of the present embodiment.
  • the interrupt table 44 is provided in the memory 40, but in FIG. 3, the interrupt vector table 732 is provided in the interrupt controller 730.
  • the interrupt controller 730 is connected to the low-performance APB. Therefore, in order for the CPU 720 to read the interrupt vector table 732, the interrupt vector table 732 must be read via the ASB, the bus bridge 710, and the APB as shown in B1 of FIG. This hinders faster interrupt processing. You. Further, in FIG. 3, since the interrupt vector table 732 is provided in the interrupt controller 730, the hardware of the interrupt controller 730 becomes large.
  • the interrupt vector table 44 is provided in the memory 40. Accordingly, the CPU 20 can read the interrupt vector table 44 from the memory 40 at high speed via the ASB. Therefore, even if the interrupt controller 30 is connected to the APB, the speeding up of interrupt processing is not hindered. Further, since the interrupt vector table 44 is provided in the memory 40, the hardware of the interrupt controller 30 can be reduced in size as compared with FIG. If the interrupt vector table 44 is stored in a surplus area of the memory 40, it is possible to prevent the memory 40 from increasing in size.
  • the interrupt controller # 30 is connected to a high performance ABS. If the interrupt controller 730 is connected to the ASB in this way, the CPU 720 can send the interrupt vector from the interrupt controller 730 via the ASB at a higher speed than the interrupt vector as shown in B2 in FIG. Table 732 can be read.
  • interrupt controller 730 is connected to the ASB as shown in Fig. 4, the hardware of the bus I / F unit 734 'provided in the interrupt controller 30 becomes large. ASB requires more advanced bus control than APB.
  • the CPU 720 that has accepted the IRQ goes to read the interrupt vector 742 of the memory 40 as shown in B3 of FIG. Therefore, in order for the CPU 720 to read the interrupt request table 732 properly, it is necessary to control the operation of the memory 740 when reading the interrupt vector table 732. This causes a problem that memory control and bus control become complicated.
  • the interrupt controller 30 can be connected to the APB as usual, as shown in FIG. Therefore, it is possible to prevent the hardware of the interrupt controller 30 from becoming large-scale because simple bus control is sufficient. Also, interrupt Since the vector table 44 is provided in the memory 40, there is no need to control the operation of the memory 40 when reading the interrupt vector table 44. Therefore, it is possible to prevent the memory control and the noise control from being complicated.
  • the interrupt factor register 50 is a register for holding the interrupt factor when an external interrupt request IR0 to IR31 is input. More specifically, the interrupt factor register 50 holds the signal levels of IR0 to IR31.
  • the interrupt request generator 52 is for generating an interrupt request IRQ to the CPU 20 based on the interrupt factor stored in the interrupt request register 50. That is, when any of the external interrupt requests IH0 to IR31 is input, an IRQ is generated to notify the CPU 20 that the external interrupt request has been input.
  • the base register 54 is a register for storing an upper bit as a base address of the vector table address VTA.
  • a data bus (APDB) is connected to the base register 54, and the CPU 20 can access it. Therefore, the user can write a desired base address into the base register 54. Therefore, the user can continuously arrange the interrupt vectors V0 to V31 at desired addresses of the memory 40.
  • the priority encoder 56 which can make the program more compact and simpler and can improve the convenience of the user, uses the lower bit of the vector table address VTA based on the interrupt factor from the interrupt factor register 50. Occurs. That is, the vector table address VTA is generated by connecting the base address (upper bit) from the base register 54 and the lower bit from the priority encoder 56. When a plurality of external interrupt requests IR0 to IR31 are input, the lower bit of the vector table address VTA corresponding to the interrupt source with the highest priority is output from the priority encoder 56. Will be.
  • the control unit 60 receives the address bus APAB and the bus control line APBC, and generates various register control signals.
  • the address comparator 62 traps the address AD from the CPU 20 and compares this AD with (00000018H). When AD and (0000018H) match, the address switching signal SS output from the address comparator 62 becomes L level. As a result, the tri-state buffer 58 becomes conductive, and the vector table address VTA is output to the selector 32 in FIG.
  • the mode flag register 64 has a first mode (a mode in which an address from the CPU 20 is trapped to generate a vector table address VTA) and a second mode (a mode in which this processing is disabled). This mode is a register that stores a mode flag for switching between and. For example, in the first mode, the output MQ of the mode flag register 64 becomes L level, and the comparison operation of the address comparator 62 is enabled.
  • MQ is at the H level
  • the comparison operation of the address comparator 62 is disabled, and the output SS of the address comparison 62 is fixed at the H level.
  • the tri-state buffer 58 is always non-conductive, and the selector 32 in FIG. 2 always selects and outputs the address AD from the CPU 20.
  • the mode flag register 64 is connected to the data bus APDB so that the CPU 20 can freely access it. Therefore, by using the mode flag register 64, the first mode in which the vector table address VTA is generated and the interrupt vector table 44 is read out by the CPU 20 and the interrupt vector 42 of the normal (00000018H) by the CPU 20 are generated.
  • the second mode to be read can be freely switched. As a result, the hardware is changed to meet the needs of both users who want to operate in the first mode and users who want to operate in the second mode, which is a standard operation of ARM. It can be handled simply by rewriting the mode flag register 64 without any change.
  • the operation of the interrupt controller 30 of FIG. 5 will be briefly described with reference to the signal waveform diagram of FIG.
  • the comparison operation by the address comparator 62 causes the address switching signal SS as shown in C5. Changes from H level to L level. As a result, the tristate buffer 58 becomes conductive, and the selector 32 selects and outputs the vector table address VTA. As a result, as shown in C6, the vector table address VTA is output from the CPU 20 instead of (00000018H) on the address bus AS AB. As a result, as shown in C7, the interrupt vector Vn (interrupt vector corresponding to IRn) is read from the memory 40 and output to the data bus ASDB. This enables a direct branch to the interrupt processing routine Pn.
  • FIG. 7 shows an example of a block diagram of a microcomputer (ASIC in a broad sense) including the interrupt controller 30 of the present embodiment.
  • the bus APB is connected to the bus 12, the PI 014s UART 16 and the interrupt controller 30 of the present embodiment.
  • a CPU 20, a memory 40, and the like are connected to a bus ASB connected to the bus APB via the bus prege 10.
  • the bus ASB is connected to the external bus via the external bus I / F unit 70. And This external bus is connected to a user logic circuit section 72, an LCD control section 74, an external memory 76, and the like.
  • the user logic circuit section 72 is a block composed of a circuit designed by a user using a gate array or the like. By providing such a user logic circuit section 72, a microcomputer with different specifications for each user can be realized.
  • the LCD control unit 74 is for generating various signals for controlling the display of LCD. By providing such an LCD control unit 74, it becomes possible to realize a micro computer suitable for a mobile phone or a GSM.
  • the external memory 76 is a memory provided externally, and its function can be realized by hardware such as RAM and ROM.
  • the microcomputer shown in FIG. 7 it becomes possible to provide a microcomputer according to the specifications desired by each user.
  • the mode flag register 64 of FIG. 5 by rewriting the mode flag register 64 of FIG. 5, the first mode in which a plurality of vector table addresses are generated and the second mode in which the standard operation of the ARM is performed are described. You can switch without changing the hardware. Therefore, it is possible to provide a microcomputer that meets the needs of a wider range of users.
  • FIG. 8 shows an example of a block diagram of an electronic device including the microcomputer (ASIC) shown in FIG.
  • This electronic device includes a microcomputer 504, an input unit 502, a memory 504, a power generation unit 506, an image output unit 508, and a sound output unit 510.
  • the input section 502 is for inputting various data.
  • the microphone mouth unit 500 performs various processes based on the data inputted by the input unit 502.
  • the memory 504 serves as a work area such as a microcomputer 504.
  • the power supply generation unit 506 is for generating various power supplies used in the electronic device.
  • the image output unit 508 is for outputting various images (characters, icons, graphics, etc.) displayed by the electronic device, and its function can be realized by hardware such as an LCD and a CUT.
  • Sound output section 5 Numeral 10 is for outputting various sounds (sounds, game sounds, etc.) output from the electronic device, and the function can be realized by hardware such as a speaker.
  • FIG. 9A shows an example of an external view of a mobile phone 550 which is one of the electronic devices.
  • the mobile phone 550 functions as a dial button 552 that functions as an input unit, an LCD 554 that functions as an image output unit and displays phone numbers, names, icons, etc., and functions as a sound output unit.
  • a speaker 5 5 6 for outputting audio.
  • FIG. 9B shows an example of an external view of a portable game device 560 which is one of the electronic devices.
  • the portable game device 560 has operation buttons 562 serving as an input unit, and a cross key. It is equipped with an LCD 566 that functions as an image output unit and displays game images, and a speaker 568 that functions as a sound output unit and outputs game sounds.
  • FIG. 9C shows an example of an external view of an electronic organizer 570 which is one of the electronic devices.
  • the electronic organizer 570 has a keyboard 572 that functions as an input unit and a character 570 that functions as an image output unit and displays characters, numbers, and graphics.
  • the following advantages can be obtained by incorporating the microcomputer of FIG. 7 using the interrupt controller of the present embodiment into the electronic devices of FIGS. 8 to 9C.
  • the method shown in FIG. 1 requires that the interrupt processing routine 624 detect which button is pressed by software. is there. This hinders high-speed processing and complicates the program description.
  • the interrupt controller of the present embodiment is used, when the dial button 552 is pressed, the interrupt processing routine corresponding to the pressed button can be started directly and immediately. Become. As a result, the processing can be speeded up and the description of the program can be simplified.
  • the electronic devices that can use the present embodiment include a portable information terminal, a pager, an electronic desk calculator, and a touch panel in addition to those shown in FIGS. 9A, 9B, and 9C.
  • Various electronic devices such as a device, a projector, a word processor, a viewfinder type or a direct view type video tape recorder, a force navigation device, and a printer can be considered.
  • the present invention is not limited to the present embodiment, and various modifications can be made within the scope of the present invention.
  • the method of determining whether or not a read instruction of an interrupt vector has been executed and the method of generating a vector table address according to the cause of an external interrupt request are particularly those described in FIGS. Desirable, but not limited to, c
  • the connection of the interrupt controller, CPU (processor), and memory is preferably as shown in FIG. 2, but is not limited to this.
  • the method of providing a selector that selects and outputs either AD from the CPU or VTA from the interrupt controller is particularly necessary to minimize the signal delay of the address AD during normal operation. desirable.
  • the configurations of the ASIC and the electronic device of the present invention are not limited to those described with reference to FIGS. 7 to 9C, and various modifications are possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Description

明 細 書 割り込みコントローラ、 AS IC、 及び電子機器
[技術分野]
本発明は、 割り込みコント口一ラ、 AS IC、 及び電子機器に関する。 [背景技術]
近年、 組み込み用途を夕一ゲットとした CPU (マイクロプロセッサ) が脚光 を浴びている。 このような組み込み用途の CPUは、 ASI Cのコアとして組み 込まれることを目的としている。 即ち、 ユーザは、 AS ICのコアとなる CPU についてはこの組み込み用途の CPUを用い、 CPU以外の部分をゲートアレイ などを用いて自身で回路設計する。
このような組み込み用途の CPUの 1つとして ARM社の ARM (Ad van c e dR I S CMa ch i n e s) と呼ばれる CPUが広く知られている。 この ARMは、 高速のスル一プヅトでありながら低消費電力で小規模で低コストな R I SC型の CPUである。 そして、 この ARMをコアとする AS I Cは、 携帯電 話、 GSMなどの電子機器に組み込むのに好適な AS I Cとして期待されている c しかしながら、 この ARMには、 割り込み処理に関して以下のような技術的課 題があることが判明した。 ' - 例えば、 割り込み処理の際の ARMの標準的な動作について図 1を用い - |¾明 する。
(A)外部からの割り込み要求 IR0〜IR31のいずれかが割り込みコント口 —ラ 610に入力されると、 割り込みコントローラ 610内の割り込み要因レジ ス夕 612が、 その割り込み要因を保持する。 そして、 割り込みコント口一ラ 6 10は、 割り込み要求 IRQ (通常レベルの割り込み要求) を発生して、 外部割 り込み要求があったことを CPU (ARM) 600に対して通知する。 (B) IRQを受け付けた CPU 600は、 図 1の A 1に示すように、 メモリ 6 20のべクタアドレス (00000018 H) に格納されている割り込みベクタ 622をリードする。 そして、 A 2に示すように割り込みベクタ 622によりそ の開始アドレスが指定される割り込み処理ルーチン (割り込みハンドラ) 624 を起動させる。
(C)起動した割り込み処理ル一チン 624は、 割り込み要因レジス夕 612に 保持されている割り込み要因を調べる。 そして、 割り込み要因にしたがった種々 の処理を行う。
このように ARMにおいては、 ベクタアドレス (割り込みベクタの格納アドレ ス) を 1つ (00000018 H) しか指定できない。 従って、 ハ一ドウエアで は 1箇所の割り込み処理ル一チン 624にしか分岐できず、 複数箇所の割り込み 処理ル一チンへの分岐については、 割り込み処理ルーチン 624内においてソフ トウエア的に分岐するしかなかった。
また、 特開昭 63 - 165929には、 割り込みコント口一ラ内に割り込みべ クタテーブルを内蔵させる従来技術が閧示されている。 この従来技術では、 割り 込みコント口一ラは、 外部割り込みが発生すると、 割り込み要求を発生して CP Uに通知する。 そして、 割り込みコントローラは、 CPUからの ACK信号を受 け付けると、 割り込みべク夕テ一ブルに格納されている割り込みべ-クタをバスを 介して CPUに出力する。
しかしながら、 この従来技術では、 割り込みベクタテーブルを割り込みコント ローラ内に設けているため、 割り込みコントロ一ラのハ一ドウエアの大規模化、 高コスト化の問題を招く。 また、 メモリ制御やバス制御が煩雑化する等の問題も める。 .
[発明の開示]
本発明は、 以上のような技術的課題に鑑みてなされたものであり、 その目的と するところは、 複数箇所の割り込み処理ルーチンへのダイレク卜な分岐を可能に する割り込みコントローラ、 A S I C、 及び電子機器を提供することにある。 上記課題を解決するために本発明は、 割り込み制御のための割り込みコントロ —ラであって、 外部割り込み要求を受け付けた場合に、 プロセッサに対して割り 込み要求を発生する手段と、 プロセッサからのアドレスをトラップし、 プロセッ サが前記割り込み要求を受け付けて割り込みベクタのリード命令を実行したか否 かを、 トラップしたアドレスに基づき判断する手段と、 割り込みベクタのリード 命令が実行されたと判断した場合に、 割り込みベクタテーブルを記憶するメモリ に対して、 前記外部割り込み要求の要因に応じたベクタテーブルァドレスを発生 する手段とを含むことを特徴とする。
本発明によれば、 外部割り込み要求を受け付けると、 プロセッサに対して割り 込み要求を発生する。 そして、 プロセッサは、 この割り込み要求を受け付けると、 割り込みベクタ (割り込み処理ル一チンの開始アドレス) のリード命令を実行す る。 この場合、 本発明では、 プロセッサからのアドレスをトラップし、 割り込み ベクタのリ一ド命令が実行されたか否かを、 このトラヅプしたアドレスに基づき 判断する。 そして、 実行されたと判断した場合には、 受け付けた外部割り込み要 求の要因に応じたベクタテーブルァドレス (割り込みぺク夕テ一プルの格納ァド レス) をメモリに対して出力する。 これにより、 割り込みべク夕テ一ブルを記憶 するメモリから、 外部割り込み要求の要因に応じた割り込みべク夕が出力される ようになる。 このように本発明によれば、 プロセッサが割り込みベクタのベクタ ァドレスを 1つしか指定できない場合にも、 複数箇所の割り込み処理ルーチンへ のダイレクトな分岐が可能になる。 この結果、 処理の高速化、 プログラムの簡素 化等を図ることが可能になる。
また本発明は、 前記プロセッサ及び前記メモリが高性能の第 1のバスに接続さ れ、 割り込みコントローラが低性能の第 2のバスに接続されることを特徴とする c 本発明では割り込みベクタテーブルが、 割り込みコント口一ラ内ではなくメモリ 内に設けられる。 従って、' このように割り込みコントローラを低性能の第 2のバ スに接続しても、 高性能の第 1のバスを介してメモリから割り込みベクタテープ ルを高速に読み出すことができるようになる。 この結果、 割り込みコントローラ のハードウェアの小規模化を図りながらも、 割り込み処理の高速化を図れるよう な 。
また本発明は、 プロセッサからのァドレスと割り込みコントローラからのべク 夕テーブルァドレスのいずれかを選択して出力するセレクタへのァドレス切り替 え信号を生成することを特徴とする。 このようにすれば、 通常動作時におけるプ 口セヅサからのアドレスの信号遅延を、 最小にすることができるようになる。 また本発明は、 ベクタテーブルァドレスのベースァドレスを記憶するべ一スレ ジス夕を含み、 前記外部割り込み要求の要因と前記ベースレジスタからのべ一ス アドレスとに基づいて、 前記べク夕テ一プルアドレスを発生することを特徴とす る。 このようにすれば、 メモリ内のユーザの所望するアドレスに、 割り込みべク 夕を連続して格納できるようになり、 ユーザの利便性を向上できる。
また本発明は、 プロセッサからのアドレスをトラップし前記ぺク夕テ一ブルア ドレスを発生する処理が有効になる第 1のモ一ドと、 該処理が無効になる第 2の モードとが切り替え可能であることを特徴とする。 このようにすれば、 ベクタテ —ブルアドレスが発生する第 1のモードでの動作を希望するユーザと、 標準的な 第 2のモードでの動作を希望するユーザの両方の要望に応えることができるよう になる。
また本発明に係る A S I Cは、 上記のいずれかの割り込みコントローラと、 命 令の実行処理を行う前記プロセッサと、 少なくとも前記割り込みベクタテーブル を記憶する前記メモリとを含むことを特徴とする。 このようにすれば、 種々の層 のユーザの要望に応えることができる A S I Cを提供できるようになる。
また本発明に係る電子機器は、 上記の A S I Cと、 デ一夕を入力するための入 力手段と、 前記 A S I Cの制御の下で画像及び音の少なくとも一方を出力する出 力手段とを含むことを特徴とする。 このようにすれば、 例えば入力手段を用いた 複数の操作の各々に対応した割り込み処理ル一チンに、 ダイレクトに且つ即座に 分岐できるようになる。 これにより電子機器を動作させるプログラムの簡素化や、 処理の高速化を図れるようになる。 [図面の簡単な説明]
図 1は、 割り込み処理の際の ARMの標準的動作について説明するための図で める。
図 2は、 本実施形態の割り込みコントローラとその周辺装置について示すプロ ック図である。
図 3は、 従来技術を適用した場合の例を比較例として示した図である。
図 4は、 従来技術を適用した場合の例を比較例として示した図である。
図 5は、 割り込みコント口一ラの詳細な構成例を示す図である。
図 6は、 割り込みコントローラの動作について説明するための信号波形図であ る。
図 7は、 本実施形態の割り込みコントローラを用いたマイクロコンピュー夕 (ASIC) の構成例を示す図である。
図 8は、 図 7のマイクロコンピュー夕が組み込まれる電子機器のプロック図の 例である。
図 9A、 図 9B、 図 9Cは、 種々の電子機器の外観図の例である。 [発明を実施するための最良の形態]
以下、 本発明の好適な実施形態について図面を用いて詳細に説明する。
1. 割り込みコントローラ
図 2に、 本実施形態の割り込みコントロ一ラとその周辺装置のプロック図を示 す。
ARMにおいては、 ASB (AdvancedSys t emBus) と APB (Advanced PeripheralBus) がバスプリヅジ 10を介し て接続される AM B A (AdvancedMi cro control lerBu s Archit ecture) と呼ばれるバスアーキテクチャを採用している。 システム用のバスである ASBは、 アドレスバス ASAB、 デ一夕バス ASD B、 バス制御線 ASB Cを有する。 ASBは高性能のバスであり、 高速な処理速 度が要求される CPU 20やメモリ 40が接続されるバスとして適している。 ま た ASBでは、 ASB Cを用いたバス制御も複雑なものになっている。
ペリフエラル用のバスである AP3Bは、 アドレスバス APAB、 データバス A PDBs バス制御線 APB Cを有する。 APBは A SBに比べると低性能のバス であるが、 低消費電力という観点からは ASBよりも優れている。 また APBC を用いたバス制御も ASBに比べて簡易になっている。 APBには、 それほど高 速な処理速度が要求されない割り込みコントローラ 30、 夕イマ 12、 P 101 4、 UART 16などの I/Oデバイスが接続される。
CPU (広義にはプロセッサ) 20は各種の命令の実行処理を行うものであり、 本実施形態では CPU 20として ARMが用いられている。 ' CPU 20は、 ァド レスバス ASAB、 デ一夕バス ASD B、 バス制御線 A S B Cとのインターフエ —スとして機能するバス IZF部 22を含む。
割り込みコントローラ 30は、 外部からの割り込み要求 I R 0〜I R 31を検 出する処理や、 外部割り込み要求があつた場合に IRQを発生して C P U 20に 通知する処理などを行う。 また本実施形態の割り込みコントロ一ラ 30は、 べク 夕テーブルアドレス VTA (割り込みべク夕テ一ブル 44の格納アドレス) ゃァ ドレス切り替え信号 S Sを発生する処理も行う。
メモリ 40は、 割り込みベクタテーブル 44を記憶する。 即ち、 特開昭 63— 165929の従来技術では割り込みコントローラ内に割り込みぺク夕テーブル が設けられているのに対して、 本実施形態では、 メモリ 40内に割り込みベクタ テーブル 44が設けられている。
次に、 本実施形態の動作について簡単に説明する。
(1)割り込みコントローラ 30は、 外部からの割り込み要求: IR0〜IR31 のいずれかを受け付けると、 CPU 20に対して割り込み要求 IRQを発生し、 外部割り込み要求があったことを CPU 20に通知する。 (2) IRQを受け付けた CPU20は、 割り込み処理への移行が可能である場 合には、 ベクタアドレス (00000018H) に格納される割り込みベクタ 4 2のリード命令を実行する。
(3)割り込みコントローラ 30は、 CPU20からのアドレス ADをトラヅプ する。 そして、 CPU20が割り込みベクタ 42のリード命令を実行したか否か を、 トラップしたアドレスに基づき判断する。
( 4 )割り込みコントローラ 30は、 割り込みべク夕 42のリ一ド命令が実行さ れたと判断した場合には、 上記 (1) で受け付けた外部割り込み要求の要因に応 じたべク夕テ一プルアドレス VTAを発生する。 また、 セレクタ 32が CPU2 0からのアドレス ADではなくベクタテーブルアドレス V T Aを選択して S Qに 出力するように、 アドレス切り替え信号 SSを制御する。 これにより、 アドレス バス ASAB上には、 CPU 20からのべクタアドレス (00000018H) ではなく、 割り込みコントローラ 30が発生したベクタテーブルァドレス VTA
(割り込みベクタテーブル 44の格納ァドレス) が出力されることになる。
以上のようにすれば、 CPU 20は割り込みベクタ 42を読み出したつもりで あっても、 実際には、 割り込みベクタテーブル 44の割り込みベクタ V0〜V3
1のいずれかが読み出されるようになる。 即ち、 上記 (1) で外部割り込み要求 IR0を受け付けた場合には割り込みベクタ V 0が、 I R 1を受け付けた場合に は場合には VIが、 IR 2を受け付けた場合には場合には V 2が ' · · · IR3
1を受け付けた場合には V 31が読み出されることになる。
そして、 割り込みべク夕 V0が読み出された場合には、 V0により開始 (先 頭) アドレスが指定される割り込み処理ルーチン P 0が起動し、 VIが読み出さ れた場合には V 1により開始ァドレスが指定される割り込み処理ルーチン P 1が 起動し · · · · V31が読み出された場合には V 31により開始アドレスが指定 される割り込み処理ル一チン P 31が起動するようになる。 なお、 図 2では、 説 明を簡易化するために (00000018 H) に割り込みベクタ 42を格納して いるが、 この割り込みベクタ 42は結局読み出されないことになるため、 (00. 000018 H) に割り込みベクタ 42を格納しておく必要は必ずしもない。 以上のように本実施形態によれば、 ベクタアドレスを 1つ (00000018 H) しか指定できない CPU (ARM) 20を用いた場合にも、 複数箇所の割り 込み処理ル一チン P 0〜P 31へダイレク卜に分岐できるようになる。
即ち、 ARMにおいては図 1で説明したようにハードウェアで 1箇所の割り込 み処理ルーチン 624にしか分岐できない。 このため、 複数箇所の割り込み処理 ル一チンへの分岐については、 最初に起動した割り込み処理ル一チン 624によ るソフトウェア処理により分岐するしかなかった。 このため、 外部割り込み要求 IR0〜i: 31が入力された場合に、 各々の外部割り込み要求に対応する割り 込み処理ル一チンに即座に分岐することができなかった。
これに対して、 本実施形態によれば、 例えば外部割り込み要求 IR0が入力さ れた場合には割り込み処理ルーチン P 0にダイレクトに分岐し、 I R 1が入力さ れた場合には P 1にダイレクトに分岐するというように、 複数箇所の割り込み処 理ルーチン; P 0〜P31に割り込み要因別にダイレク卜に且つ即座に分岐できる ようになる。 この結果、 処理の高速化、 プログラムのコンパクト化、 簡素化等を 図れるようになる。 しかも、 CPU 20は、 通常通りに単に (00000001 8H) の割り込みぺク夕 42をリードする動作を行うだけでよい。 従って、 シス テムの他の部分の変更を伴わずに、 複数箇所の割り込み処理ルーチンへのダイレ クトな分岐が可能になる。
図 3、 図 4に、 特閧昭 63 - 165929の従来技術を適用した場合の例を、 本実施形態の比較例として示す。
図 2では、 割り込みべク夕テ一ブル 44はメモリ 40に設けられているが、 図 3では、 割り込みベクタテーブル 732は割り込みコントロ一ラ 730に設けら れている。 また図 3では、 割り込みコントローラ 730は低性能の APBに接続 されている。 従って、 CPU 720が割り込みベクタテーブル 732を読み出す ためには、 図 3の B 1に示すように、 ASB、 バスブリッジ 710及び APBを 介して読み出さなければならない。 このため、 割り込み処理の高速化が妨げられ る。 更に、 図 3では、 割り込みベクタテーブル 732が割り込みコントローラ 7 30内に設けられるため、 割り込みコントローラ 730のハ一ドウエアが大規模 化する。
これに対して、 図 2の本実施形態では、 割り込みベクタテ一ブル 44はメモリ 40に設けられる。 従って、 CPU 20は A SBを介してメモリ 40から高速に 割り込みベクタテーブル 44を読み出すことができる。 従って、 割り込みコント ローラ 30を APBに接続していても、 割り込み処理の高速化が妨げられること がない。 また、 割り込みベクタテーブル 44がメモリ 40に設けられているため、 図 2に比べて割り込みコントローラ 30のハードウェアを小規模化できる。 そし て、 メモリ 40の余りの領域に割り込みベクタテーブル 44を格納するようにす れば、 メモリ 40が大規模化する事態も防止できる。
図 4では、 割り込みコントローラ Ί 30が高性能の A SBに接続されている。 このように割り込みコント口一ラ 730を AS Bに接続すれば、 図 4の B 2に示 すように、 CPU 720は A SBを介して割り込みコントローラ 730から図 3 と比較して高速に割り込みベクタテーブル 732を読み出すことができる。
しかしながら、 図 4のように割り込みコントローラ 730を ASBに接続する と、 割り込みコントローラ Ί 30に持たせるバス I/F部 734'のハードウェア が大規模化してしまう。 ASBは APBに比べて高度なバス制御が必要になるか らである。
また、 I RQを受け付けた CPU 720は図 4の B 3に示すようにメモり Ί 4 0の割り込みベクタ 742を読みに行く。 従って、 CPU720に割り込みぺク 夕テーブル 732を適正に読み出させるためには、 割り込みベクタテーブル 73 2の読み出し時にメモリ 740の動作を抑止する等の制御が必要になる。 このた め、 メモリ制御やバス制御が煩雑化するという問題を招く。
これに対して本実施形態によれば、 図 2のように割り込みコント口一ラ 30を 通常通り APBに接続できる。 従って、 簡易なバス制御で済むため割り込みコン トローラ 30のハードウェアが大規模化する事態を防止できる。 また、 割り込み ぺクタテーブル 44はメモリ 40に設けられるため、 割り込みベクタテーブル 4 4の読み出し時にメモり 40の動作を抑止する制御も必要ない。 従って、 メモリ 制御ゃノ ス制御が煩雑化するという事態を防止できる。
次に、 割り込みコントローラ 30の具体的な構成例について図 5を用いて説明 する。
割り込み要因レジスタ 50は、 外部割り込み要求 IR0〜IR31が入力され た場合にその割り込み要因を保持するためのレジス夕である。 より具体的には、 割り込み要因レジスタ 50は、 IR0〜IR31の信号レベルを保持する。
割り込み要求発生部 52は、 割り込み要求レジス夕 50に格納されている割り 込み要因に基づいて、 CPU 20に対して割り込み要求 IRQを発生するための ものである。 即ち、 外部割り込み要求 IH0〜IR31のいずれかが入力される と、 IRQを発生して、 CPU 20に外部割り込み要求が入力されたことを通知 する。
ベースレジス夕 54は、 ベクタテーブルアドレス VTAのベースァドレスとな る上位ビヅトを言 3憶するレジスタである。 このベースレジス夕 54にはデータバ ス (APDB) が接続されており、 CPU 20がアクセス可能になっている。 従 つて、 ユーザは、 自身が所望するべ一スアドレスをこのベースレジス夕 54に対 して書き込むことができる。 従って、 ユーザは、 メモリ 40の所望のアドレスに 割り込みベクタ V0~V31を連続的に配置できるようになる。 この結果、 プロ グラムのコンパクト化、 簡素化等を図れると共に、 ュ一ザの利便性を向上できる プライオリティエンコーダ 56は、 割り込み要因レジス夕 50からの割り込み 要因に基づいて、 ベクタテーブルアドレス VTAの下位ビットを発生する。 即ち、 ベクタテーブルァドレス VTAは、 ベ一スレジス夕 54からのべ一スァドレス (上位ビット) と、 プライオリティエンコーダ 56からの下位ビヅ トを連結する ことで生成されることになる。 なお、 外部割り込み要求 IR0〜IR31が複数 入力された場合には、 最も優先順位が高い割り込み要因に対応するベクターテー ブルアドレス VTAの下位ビヅトが、 プライオリティエンコーダ 56から出力さ れることになる。
制御部 60は、 アドレスバス APAB、 バス制御線 APB Cを受け、 各種のレ ジス夕制御信号を生成するためのものである。
アドレス比較器 62は、 CPU20からのアドレス ADをトラヅプし、 この A Dと (00000018H) とを比較するものである。 ADと (0000001 8H) がー致した場合には、 アドレス比較器 62の出力であるアドレス切り替え 信号 SSが Lレベルになる。 これにより、 トライステートバッファ 58が導通し、 ベクタテ一ブルアドレス VT Aが図 2のセレクタ 32に出力されることになる。 モ一ドフラグレジスタ 64は、 第 1のモード (CPU 20からのアドレスをト ラップしべクタテーブルァドレス VT Aを発生する她理が有効になるモード) と、 第 2のモード (この処理が無効になるモード) とを切り替えるためのモ一ドフラ グを格納するレジス夕である。 例えば第 1のモードでは、 モ一ドフラグレジス夕 64の出力 MQが Lレベルになり、 アドレス比較器 62の比較動作がイネ一ブル になる。 一方、 第 2のモードでは、 MQは Hレベルになり、 アドレス比較器 62 の比較動作がディスェ一ブルになり、 アドレス比較 62の出力 SSは Hレベルに 固定される。 これにより、 トライステートバッファ 58が常に非導通になると共 に、 図 2のセレクタ 32は CP U20からのァドレス ADを常に選択して出力す るようになる。
このモードフラグレジス夕 64は、 データバス APDBに接続されており、 C PU20が自由にアクセスできるようになつている。 従って、 このモードフラグ レジス夕 64を利用すれば、 ベクタテーブルアドレス VT Aが発生し CPU 20 により割り込みベクタテーブル 44が読み出される第 1のモードと、 CPU 20 により通常通り (00000018H) の割り込みベクタ 42が読み出される第 2のモードとを自在に切り替えることができるようになる。 この結果、 第 1のモ ―ドでの動作を所望するユーザと、 ARMの標準的な動作である第 2のモ一ドで の動作を所望するユーザの両方の要望に、 ハードウェアを変更することなくモー ドフラグレジス夕 64を書き換えるだけで対応できるようになる。 次に図 5の割り込みコント口一ラ 30の動作について図 6の信号波形図を用い て簡単に説明する。
図 6の C 1に示すように外部割り込み要求 IRn (n=0〜3 1) の信号が L レベルから Hレベルに変化すると、 変化後の信号レベルが割り込み要因レジス夕 50に保持される。 そして、 C2に示すように CPU20への割り込み要求 IR Qの信号が Lレペルから Hレベルに変化すると共に、 C 3に示すようにプライォ リティエンコーダ 56からべク夕テ一ブルアドレス VT Aの下位ビヅトが発生す る o
次に、 割り込み要求 I R Qを受け付けた C P U 20が C 4に示すようにァドレ ス ADに (000000 1 8H) を出力すると、 ァドレス比較器 62による比較 動作により、 C 5に示すようにアドレス切り替え信号 S Sが Hレベルから Lレべ ルに変化する。 これにより トライステートバッファ 58が導通状態になると共に セレクタ 32によりべクタテーブルァドレス VT Aが選択されて出力される。 こ の結果、 C 6に示すように、 アドレスバス AS AB上には、 CPU20からの (0000001 8 H) ではなくベクタテーブルァドレス VT Aが出力される。 これにより、 C7に示すように、 メモリ 40からは割り込みベクタ Vn (IRn に対応する割り込みベクタ) が読み出され、 デ一夕バス AS DB上に出力される ようになる。 これにより、 割り込み処理ルーチン Pnへのダイレクトな分岐が可 能になる。
2. マイクロコンピュータ (AS I C)
図 7に、 本実施形態の割り込みコントローラ 30を含むマイクロコンピュー夕 (広義には A S I C) のブロック図の例を示す。
バス APBには夕イマ 12、 P I 014s U AR T 1 6、 本実施形態の割り込 みコントローラ 30などが接続されている。 一方、 バス APBとバスプリヅジ 1 0を介して接続されるバス A SBには、 CPU 20、 メモリ 40などが接続され ている。
バス ASBは外部バス I/F部 70を介して外部バスに接続される。 そして、 この外部バスには、 ユーザロジック回路部 7 2、 L C D制御部 7 4、 外部メモリ 7 6などが接続される。
ここで、 ユーザロジック回路部 7 2は、 ユーザがゲートアレイなどを利用して 設計した回路からなるブロックである。 このようなユーザロジック回路部 7 2を 設けることで、 各ユーザ毎に仕様の異なるマイクロコンピュー夕を実現できる。
L C D制御部 7 4は、 L C Dの表示を制御するための各種信号を生成するため のものである。 このような L C D制御部 7 4を設けることで、 携帯電話や G S M に好適なマイクロコンピュ一夕を実現できるようになる。 外部メモリ 7 6は、 外 部に設けられるメモリであり、 その機能は R AMや R O Mなどのハードウエアに より実現できる。
図 7のマイクロコンピュー夕によれば、 各ユーザが所望する仕様に沿ったマイ クロコンピュー夕を提供できるようになる。 特に、 本実施形態では、 図 5のモー ドフラグレジスタ 6 4を書き換えることで、 複数のベクタテ一ブルアドレスを発 生する第 1のモードと、 A R Mの標準動作を行う第 2のモードとを、 ハ一ドゥエ ァを変更することなく切り替えることができる。 従って、 より幅広い層のユーザ の要望に沿ったマイクロコンピュータを提供できるようになる。
. ttナ機 5#
図 8に、 図 7のマイクロコンピュータ (A S I C ) を含む電子機器のブロック 図の一例を示す。 この電子機器は、 マイクロコンピュータ 5 0 0、 入力部 5 0 2、 メモリ 5 0 4、 電源生成部 5 0 6、 画像出力部 5 0 8、 音出力部 5 1 0を含む。 ここで、 入力部 5 0 2は、 種々のデ一夕を入力するためのものである。 マイク 口コンビュ一夕 5 0 0は、 この入力部 5 0 2により入力されたデ一夕に基づいて 種々の処理を行うことになる。 メモリ 5 0 4は、 マイクロコンピュータ 5 0 0な どの作業領域となるものである。 電源生成部 5 0 6は、 電子機器で使用される各 種電源を生成するためのものである。 画像出力部 5 0 8は、 電子機器が表示する 各種の画像 (文字、 アイコン、 グラフィック等) を出力するためのものであり、 その機能は、 L C Dや C U Tなどのハードウェアにより実現できる。 音出力部 5 1 0は、 電子機器が出力する各種の音 (音声、 ゲーム音等) を出力するためのも のであり、 その機能は、 スピーカなどのハードウェアにより実現できる。
図 9 Aに、 電子機器の 1つである携帯電話 5 5 0の外観図の例を示す。 この携 帯電話 5 5 0は、 入力部として機能するダイヤルボタン 5 5 2や、 画像出力部と して機能し電話番号や名前やアイコンなどを表示する L C D 5 5 4や、 音出力部 として機能し音声を出力するスピーカ 5 5 6を備える。
図 9 Bに、 電子機器の 1つである携帯型ゲーム装置 5 6 0の外観図の例を示す c この携帯型ゲーム装置 5 6 0は、 入力部として機能する操作ボタン 5 6 2、 十字 キー 5 6 4や、 画像出力部として機能しゲーム画像を表示する L C D 5 6 6や、 音出力部として機能しゲーム音を出力するスピーカ 5 6 8を備える。
図 9 Cに、 電子機器の 1つである電子手帳 5 7 0の外観図の例を示す。 この電 子手帳 5 7 0は、 入力部として機能するキーボード 5 7 2や、 画像出力部として 機能し文字、 数字、 グラフィックなどを表示する: L C D 5 7 4を備える。
図 8〜図 9 Cの電子機器に、 本実施形態の割り込みコントローラを用いた図 7 のマイクロコンピュー夕を組み込めば、 以下のような利点を得ることができる。 例えば、 図 9 Aのダイヤルボタン 5 5 2が押された場合に、 図 1の手法では、 ど のボタンが押されたかを、 割り込み処理ル一チン 6 2 4がソフトウエア的に検出 する必要がある。 このため、 処理の高速化が妨げられると共にプログラムの記述 も煩雑なものになる。 これに対して、 本実施形態の割り込みコントローラを利用 すれば、 ダイヤルボタン 5 5 2が押されると、 押されたポタンに対応する割り込 み処理ル一チンをダイレクトに且つ即座に起動できるようになる。 これにより、 処理の高速化を図れると共にプログラムの記載も簡素化できるようになる。
なお、 本実施形態を利用できる電子機器としては、 図 9 A、 図 9 B、 図 9 Cに 示すもの以外にも、 携帯型情報端末、 ぺ一ジャー、 電子卓上計算機、 夕ツチパネ ルを備えた装置、 プロジェクタ、 ワードプロセッサ、 ビューファインダ型又はモ 二夕直視型のビデオテープレコーダ、 力一ナビゲーシヨン装置、 プリンタ等、 種々の電子機器を考えることができる。 なお、 本発明は本実施形態に限定されず、 本発明の要旨の範囲 で種々の変形 実施が可能である。
例えば、 割り込みベクタのリ一ド命令が実行されたか否かを判断する手法や、 外部割り込み要求の要因に応じたベクタテーブルァドレスを発生する手法は、 図 5、 図 6などで説明したものが特に望ましいが、 これに限定されるものではない c また、 割り込みコントローラ、 C P U (プロセッサ) 、 メモリの接続も図 2に 示すものが特に望ましいが、 これに限定されるものではない。
また、 図 2のように、 C P Uからの A Dと割り込みコントローラからの V T A のいずれかを選択して出力するセレクタを設ける手法は、 通常動作時においてァ ドレス ADの信号遅延を最小化するために特に望ましい。 しかしながら、 本発明 では、 このようなセレクタを設けない構成とすることも可能である。
また、 本発明の A S I Cや電子機器の構成も、 図 7〜図 9 Cで説明したものに 限定されるものでなく、 種々の変形実施が^!能である。

Claims

請 求 の 範 囲
1 . 割り込み制御のための割り込みコントローラであって、
外部割り込み要求を受け付けた場合に、 プロセッサに対して割り込み要求を発 生する手段と、
プロセッサからのアドレスをトラップし、 プロセッサが前記割り込み要求を受 け付けて割り込みべク夕のリ一ド命令を実行したか否かを、 トラップしたァドレ スに基づき判断する手段と、
割り込みべクタのリ一ド命令が実行されたと判断した場合に、 割り込みべク夕 テーブルを記憶するメモリに対して、 前記外部割り込み要求の要因に応じたべク 夕テーブルァドレスを発生する手段と、
を含むことを特徴とする割り込みコントローラ。
2 . 請求項 1において、
前記プロセッサ及び前記メモリが高性能の第 1のバスに接続され、 割り込みコ ントロ一ラが低性能の第 2のバスに接続されることを特徴とする割り込みコント ローラ。
3 . 請求項 1において、
プロセッサからのァドレスと割り込みコントロ一ラからのべクタテーブルァド レスのいずれかを選択して出力するセレクタへのァドレス切り替え信号を生成す ることを特徴とする割り込みコントローラ。
4 . 請求項 1において、
ベクタテープルァドレスのペースァドレスを記憶するべ一スレジス夕を含み、 前記外部割り込み要求の要因と前記ベースレジス夕からのべ一スアドレスとに 基づいて、 前記べクタテーブルァドレスを発生することを特徵とする割り込みコ ント口一ラ。
5 . 請求項 1において、
プロセヅサからのァドレスをトラップし前記べク夕テ一ブルアドレスを発生す る処理が有効になる第 1のモ一ドと、 該処理が無効になる第 2のモ一ドとが切り 替え可能であることを特徴とする割り込みコントローラ。
6 . 請求項 1の割り込みコントローラと、
命令の実行処理を行う前記プロセッサと、
少なくとも前記割り込みべク夕テーブルを記憶する前記メモリとを含むことを 特徴とする A S I C;。
7 . 請求項 2の割り込みコントローラと、
命令の実行処理を行う前記プロセッサと、
少なくとも前記割り込みべク夕テ一ブルを記憶する前記メモリとを含むことを 特徴とする A S I C。
8 . 請求項 3の割り込みコントローラと、
命令の実行処理を行う前記プロセッサと、
少なくとも前記割り込みベクタテーブルを記憶する前記メモリとを含むことを 特徴とする A S I Co
9 . 請求項 4の割り込みコントローラと、
命令の実行処理を行う前記プロセッサと、
少なくとも前記割り込みベクタテーブルを記憶する前記メモリとを含むことを 特徴とする A S I C。
1 0 . 請求項 5の割り込みコントローラと、
命令の実行処理を行う前記プロセッサと、
少なくとも前記割り込みべク夕テーブルを記憶する前記メモリとを含むことを 特徴とする A S I C。
1 1 . 請求項 6の A S I Cと、
データを入力するための入力手段と、
前記 A S I Cの制御の下で画像及び音の少なくとも一方を出力する出力手段と を含むことを特徴とする電子機器。
1 2 . 請求項 7の A S I と、 データを入力するための入力手段と、
前記 AS I Cの制御の下で画像及び音の少なくとも一方を出力する出力手段と を含むことを特徴とする電子機器。
13. 請求項 8の AS I Cと、
デ一夕を入力するための入力手段と、
前記 AS I Cの制御の下で画像及び音の少なくとも一方を出力する出力手段と を含むことを特徴とする電子機器。
14. 請求項 9の AS I Cと、
データを入力するための入力手段と、
前記 AS I Cの制御の下で画像及び音の少なくとも一方を出力する出力手段と を含むことを特徴とする電子機器。
15. 請求項 10の AS I Cと、
デ一夕を入力するための入力手段と、
前記 AS I Cの制御の下で画像及び音の少なくとも一方を出力する出力手段と を含むことを特徴とする電子機器。
PCT/JP2000/001768 1999-03-23 2000-03-23 割り込みコントローラ、asic、及び電子機器 WO2004104828A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/700,645 US6654839B1 (en) 1999-03-23 2000-03-23 Interrupt controller, asic, and electronic equipment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP07806799A JP3778246B2 (ja) 1999-03-23 1999-03-23 割り込みコントローラ、asic、及び電子機器
JP11/78067 1999-03-23

Publications (1)

Publication Number Publication Date
WO2004104828A1 true WO2004104828A1 (ja) 2004-12-02

Family

ID=13651510

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/001768 WO2004104828A1 (ja) 1999-03-23 2000-03-23 割り込みコントローラ、asic、及び電子機器

Country Status (3)

Country Link
US (1) US6654839B1 (ja)
JP (1) JP3778246B2 (ja)
WO (1) WO2004104828A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
JP2005100210A (ja) * 2003-09-26 2005-04-14 Oki Electric Ind Co Ltd バス構成回路
US20050138512A1 (en) * 2003-12-01 2005-06-23 Oki Electric Industry Co., Ltd. Semiconductor integrated circuit
JP4409349B2 (ja) 2004-04-27 2010-02-03 Okiセミコンダクタ株式会社 デバッグ回路およびデバッグ制御方法
KR101086401B1 (ko) 2004-06-02 2011-11-25 삼성전자주식회사 서로 다른 속도로 동작하는 버스들을 인터페이싱하는 방법및 장치
US7424563B2 (en) * 2006-02-24 2008-09-09 Qualcomm Incorporated Two-level interrupt service routine
US20080005366A1 (en) * 2006-04-04 2008-01-03 Sreenidhi Raatni Apparatus and methods for handling requests over an interface
US7913017B2 (en) * 2008-09-25 2011-03-22 Mediatek Inc. Embedded system and interruption handling method
JP5938945B2 (ja) * 2012-02-29 2016-06-22 ブラザー工業株式会社 割り込み制御装置、画像処理装置
US10067892B2 (en) * 2015-03-06 2018-09-04 Microchip Technology Incorporated Microcontroller or microprocessor with dual mode interrupt
CN111506530A (zh) * 2019-01-30 2020-08-07 智原科技股份有限公司 中断管理系统及其管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5232647A (en) * 1975-09-08 1977-03-12 Mitsui Eng & Shipbuild Co Ltd Interruption system of electronic computer
JPS6057440A (ja) * 1983-09-08 1985-04-03 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置
US4628449A (en) * 1983-11-14 1986-12-09 Tandem Computers Incorporated Vector interrupt system and method
JPH01311353A (ja) * 1988-06-10 1989-12-15 Toshiba Corp 割込み制御装置
US5828891A (en) * 1995-12-20 1998-10-27 International Business Machines Corporation Multilevel interrupt device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63165929A (ja) 1986-12-27 1988-07-09 Mitsubishi Electric Corp 情報処理システム
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US6378023B1 (en) * 1996-02-14 2002-04-23 Advanced Micro Devices, Inc. Interrupt descriptor cache for a microprocessor
US5944816A (en) * 1996-05-17 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute multiple threads including interrupt service routines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5232647A (en) * 1975-09-08 1977-03-12 Mitsui Eng & Shipbuild Co Ltd Interruption system of electronic computer
JPS6057440A (ja) * 1983-09-08 1985-04-03 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置
US4628449A (en) * 1983-11-14 1986-12-09 Tandem Computers Incorporated Vector interrupt system and method
JPH01311353A (ja) * 1988-06-10 1989-12-15 Toshiba Corp 割込み制御装置
US5828891A (en) * 1995-12-20 1998-10-27 International Business Machines Corporation Multilevel interrupt device

Also Published As

Publication number Publication date
JP2000276358A (ja) 2000-10-06
US6654839B1 (en) 2003-11-25
JP3778246B2 (ja) 2006-05-24

Similar Documents

Publication Publication Date Title
US9507469B2 (en) Information processing device, operation input method and operation input program
US6810444B2 (en) Memory system allowing fast operation of processor while using flash memory incapable of random access
JP2010009534A (ja) 電子装置及び表示方法
WO2004104828A1 (ja) 割り込みコントローラ、asic、及び電子機器
US7673161B2 (en) Apparatus, system, and method for selecting a waking process
JP2002157078A (ja) 情報処理装置及び方法、並びに記録媒体
JPH09231006A (ja) 携帯情報処理装置
JP4182436B2 (ja) 情報処理装置
US20090213069A1 (en) Electronic apparatus and method of controlling electronic apparatus
US20080010541A1 (en) Integrated circuit device, debugging tool, debugging system, microcomputer, and electronic instrument
JP2009134626A (ja) 情報処理装置および情報処理装置の起動方法
JP2000293289A (ja) 携帯型端末装置
JP2000066649A (ja) 携帯情報処理装置、及び外部表示出力の制御方法
JP2004070888A (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP3777171B2 (ja) 情報処理装置、誤入力遷移防止方法、プログラム、及び記録媒体
JP3606124B2 (ja) 半導体集積回路装置及び電子機器
JP2003223317A (ja) 特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム
JP2004287761A (ja) 半導体装置、半導体回路、電子機器及びクロック供給制御方法
JP2000276369A (ja) バスブリッジ回路、asic、及び電子機器
JP2008065549A (ja) マイクロコンピュータ、情報処理システム、電子機器及びマイクロコンピュータの起動制御方法
JP2005321977A (ja) 情報処理装置及びその入力方法
US7340587B2 (en) Information processing apparatus, microcomputer, and electronic computer
JPH05314277A (ja) ポート制御回路
US20040093449A1 (en) Computer system with collapsible keyboard and alternate display functions and processing method thereof
US20040243399A1 (en) Computer system and method of controlling the same

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 09700645

Country of ref document: US

AK Designated states

Kind code of ref document: A1

Designated state(s): US