KR100317976B1 - Device for Performing Interrupt Service Routine in the system having cache memory - Google Patents

Device for Performing Interrupt Service Routine in the system having cache memory Download PDF

Info

Publication number
KR100317976B1
KR100317976B1 KR1019990068419A KR19990068419A KR100317976B1 KR 100317976 B1 KR100317976 B1 KR 100317976B1 KR 1019990068419 A KR1019990068419 A KR 1019990068419A KR 19990068419 A KR19990068419 A KR 19990068419A KR 100317976 B1 KR100317976 B1 KR 100317976B1
Authority
KR
South Korea
Prior art keywords
memory
cpu
cache
instructions
interrupt
Prior art date
Application number
KR1019990068419A
Other languages
Korean (ko)
Other versions
KR20010066564A (en
Inventor
박태규
Original Assignee
대표이사 서승모
(주)씨앤에스 테크놀로지
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 대표이사 서승모, (주)씨앤에스 테크놀로지 filed Critical 대표이사 서승모
Priority to KR1019990068419A priority Critical patent/KR100317976B1/en
Publication of KR20010066564A publication Critical patent/KR20010066564A/en
Application granted granted Critical
Publication of KR100317976B1 publication Critical patent/KR100317976B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • 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
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 인터럽트 서비스 루틴을 위한 장치에 관한 것으로서, 캐시의 힛 비율을 증가시키기 위하여, 인터럽트 서비스 루틴에 사용되는 명령어 및 데이타를 저장하는 별도의 제로 대기(Zero wait)내부 SRAM을 캐시 메모리, CPU와 함께 온 칩(on-chip)화하여 캐시 힛(hit) 비율을 높이는 인터럽트 서비스 루틴을 위한 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for an interrupt service routine, wherein a separate zero wait internal SRAM for storing instructions and data used in an interrupt service routine is provided to increase the cache rate of the cache and the CPU. An apparatus for an interrupt service routine that is on-chip together to increase the cache hit ratio.

본 발명은 시스템의 전반을 제어하는 CPU와, 상기 CPU에서 최근에 사용된 명령어 및 데이타가 저장되는 캐시 메모리와, 상기 캐시 메모리를 제어하는 캐시 제어부와, 상기 CPU, 상기 캐시 제어부, 메모리 제어부, 인터럽트 제어부를 연결하여 신호의 이동이 가능하도록 하는 시스템 버스와, CPU에서 사용되는 명령어 및 데이타를 저장하는 주메모리와, 인터럽트 요구 신호를 인식하는 인터럽트 제어부와, 인터럽트 서비스 루틴에 사용되는 명령어 및 데이터를 저장하기 위한 제로 대기 내부 SRAM과, 상기 주메모리 및 제로 대기 내부 SRAM내에 저장되어 있는 명령어 및 데이타의 입출력을 제어하는 메모리 제어부로 구성되어 진다.The present invention provides a CPU for controlling the overall system, a cache memory for storing recently used instructions and data in the CPU, a cache controller for controlling the cache memory, the CPU, the cache controller, a memory controller, and an interrupt. A system bus that connects the control unit to enable signal movement, a main memory that stores instructions and data used by the CPU, an interrupt control unit that recognizes an interrupt request signal, and stores instructions and data used for an interrupt service routine. It consists of a zero standby internal SRAM and a memory control unit for controlling input and output of instructions and data stored in the main memory and the zero standby internal SRAM.

Description

캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을 위한 장치{Device for Performing Interrupt Service Routine in the system having cache memory}Device for performing interrupt service routine in the system having cache memory

본 발명은 인터럽트 서비스 루틴을 위한 장치에 관한 것으로서, 캐시의 힛 비율을 증가시키기 위하여, 인터럽터 서비스 루틴에 사용되는 명령어 및 데이타를 저장하는 별도의 제로 대기 내부 SRAM을 캐시 메모리, CPU와 함께 온 칩(on-chip)화하여 캐시 힛 비율을 높이는 인터럽트 서비스 루틴을 위한 장치에 관한 것이다The present invention relates to an apparatus for an interrupt service routine, and in order to increase the cache rate of the cache, a separate zero standby internal SRAM for storing instructions and data used in the interrupter service routine is provided together with a cache memory and a CPU. A device for an interrupt service routine that increases the cache hit rate by on-chip

일반적으로, CPU와 주변 회로부의 동작에서 발생하는 가장 큰 병목 현상은 CPU가 메모리를 액세스할 때 일어난다. 일반적으로 칩 외부에 존재하는 주 메모리를 액세스하기 위해서는 한 클록 사이클 이상이 소요되는 반면, 칩 내부의 SRAM을 액세스하기 위해서는 한 클록 사이클 이내에 완료된다. 이러한 칩 외부에 존재하는 주 메모리를 액세스 할 때 생기는 병목 현상을 줄이기 위한 방법으로 캐시가 사용된다. 상기 캐시는 CPU에서 최근에 사용된 명령어 및 데이타를 저장하는 작은 크기의 메모리로서, CPU에서 사용되는 명령어 및 데이타가 지역성 즉, CPU가 메모리의 일정한 영역에서 같은 명령어를 반복해서 수행하는 경향이 있다는 사실에 기초를 두고 있다. 다시 말해서, CPU가 자주 이용하는 명령어 및 데이타를 캐시 메모리에 저장하여 CPU가 주메모리에 매번 액세스하지 않도록 하여 시스템의 효율을 높이는 것이다.In general, the biggest bottleneck in the operation of the CPU and peripheral circuitry occurs when the CPU accesses the memory. Typically, it takes more than one clock cycle to access main memory outside the chip, while accessing the SRAM inside the chip is completed within one clock cycle. Caches are used as a way to reduce bottlenecks when accessing main memory outside these chips. The cache is a small memory that stores recently used instructions and data in the CPU, the fact that the instructions and data used in the CPU are local, i.e., the CPU tends to perform the same instruction repeatedly in certain areas of memory. Is based on. In other words, by storing instructions and data frequently used by the CPU in cache memory, the CPU is not accessed every time to increase the efficiency of the system.

캐시 힛은 CPU가 캐시 메모리에 액세스 하였을 경우, 원하는 명령어 및 데이타가 존재하는 것을 의미하는데, 만약 CPU가 원하는 명령어 및 데이타가 캐시 메모리 내에 존재하지 않으면, CPU는 주메모리에 액세스하여 원하는 명령어 및 데이타를 가져오면서, 캐시 메모리에 저장한다. 그래서, CPU가 재차 그 명령어 및 데이타를 원하는 경우, 주메모리에 재차 접근하지 않고 캐시 메모리에 직접 접근하여 가져올 수 있도록 한다. 또한, 캐시 힛 비율이란 캐시 힛이 발생하는 정도를 의미한다.A cache cache means that the instruction and data desired are present when the CPU accesses the cache memory. If the instruction and data desired by the CPU do not exist in the cache memory, the CPU accesses the main memory and retrieves the desired instruction and data. As you retrieve, store it in cache memory. Thus, if the CPU wants the instruction and data again, it can access and retrieve the cache memory directly without accessing the main memory again. In addition, the cache hit ratio means the extent to which the cache hit occurs.

인터럽트는 현재 수행중인 작업을 잠시 중단하고, 메모리 상의 임의의 정해진 영역으로 분기해 인터럽트 서비스 루틴에 따라 원하는 작업을 수행한 후 원래의 위치로 돌아오는 역할을 한다.Interrupt interrupts the current task, branches to a fixed area in memory, performs the desired task according to the interrupt service routine, and returns to the original position.

도 1에서 도시한 바와 같이, 종래의 인터럽트 서비스 루틴을 위한 장치에 있어서, 인터럽트 요구 신호가 입력되었을 때, 인터럽트 제어부(6)는 이를 인식하여 CPU(1)에 인터럽트 요구가 있음을 알리면, 상기 CPU(1)는 인터럽트 서비스 루틴을 수행한다. 이 때, 상기 CPU(1)는 인터럽트 서비스 루틴에서 수행되는 명령어 및 데이타를 가져오기 위해 캐시 제어부(2)에 신호를 인가하여 캐시 메모리(3)에 원하는 명령어 및 데이타가 존재하는 지를 검색한다. 상기 원하는 명령어 및 데이타가 캐시 메모리(3)에 존재하면, 캐시 제어부(2)는 그 명령어 및 데이타를 읽어들여 CPU(1)에 전달한다. 만일, 원하는 명령어 및 데이타가 캐시 메모리(3)에 존재하지 않으면, 캐시 제어부(2)는 시스템 버스(4)를 경유하여, 메모리 제어부(5)에 주메모리 액세스 신호를 인가한다. 이때, 상기 주메모리 액세스 신호를 인가받은 메모리 제어부(5)는 주메모리(7)에 액세스하여 인터럽트 서비스 루틴에 필요한 명령어 및 데이타를 읽어들여 시스템 버스(4)를 경유하여, 캐시 메모리(3)에 저장시키면서 상기 CPU(1)에 전달한다.As shown in FIG. 1, in the apparatus for the conventional interrupt service routine, when an interrupt request signal is input, the interrupt controller 6 recognizes this and informs the CPU 1 that there is an interrupt request. (1) performs an interrupt service routine. At this time, the CPU 1 applies a signal to the cache control unit 2 to retrieve instructions and data executed in the interrupt service routine, and searches whether the desired instruction and data exist in the cache memory 3. If the desired instruction and data exist in the cache memory 3, the cache control section 2 reads the instruction and data and transfers it to the CPU 1. If the desired instruction and data do not exist in the cache memory 3, the cache control section 2 applies a main memory access signal to the memory control section 5 via the system bus 4. At this time, the memory controller 5 receiving the main memory access signal accesses the main memory 7, reads instructions and data necessary for the interrupt service routine, and transmits the instructions and data to the cache memory 3 via the system bus 4. It transfers to the CPU 1 while storing.

그러나, 상기 인터럽트 요구에 의한 인터럽트 서비스 루틴의 수행에서, 많은양의 데이타 전송 및 메모리 액세스가 발생했다면, 캐시 메모리에는 기존에 존재한 명령어 및 데이타들이 새로운 명령어 및 데이타로 대치 될 것이다. 이때, 인터럽트 서비스 루틴의 종료 후, 인터럽티드 작업(인터럽트가 수행되기 이전에 수행하고 있던 작업영역)으로 돌아 왔을 때, 캐시 메모리는 인터럽티디 작업 수행 과정과는 관계없는 명령어 및 데이타를 다수 포함하고 있기때문에 캐시의 힛 비율의 감소를 야기한다. 이는 인터럽트에 의해 분기된 영역에서 사용되던 메모리 값들과 인터럽트가 일어나기 전에 CPU가 사용하고 있던 명령어 및 데이타가 지역성의 특성을 보이지 않는 독립적인 것이기 때문이다.However, in the execution of the interrupt service routine by the interrupt request, if a large amount of data transfer and memory access has occurred, existing instructions and data in the cache memory will be replaced with new instructions and data. At this time, when the interrupt service routine ends, when it returns to the interrupted task (the workspace that was executed before the interrupt was executed), the cache memory includes a large number of instructions and data irrelevant to the interrupted task execution process. This causes the cache hit ratio to decrease. This is because the memory values used in the area branched by the interrupt and the instructions and data used by the CPU before the interrupt occurred are independent of the locality.

본 발명은 상기와 같은 문제점을 해결하기 위하여, 인터럽트 서비스 루틴에 사용되는 명령어 및 데이타를 캐시 메모리가 아닌 별도의 제로 대기 내부 SRAM에 저장하여, 상기 인터럽트가 발생하였을 경우, 인터럽트 서비스 루틴에서 사용되는 명령어와 데이타는 캐시 메모리를 거치지 않고 온 칩화된 상기 제로 대기 내부 SRAM로부터 직접 명령어 및 데이타를 읽어들여, 캐시의 힛 비율을 증가시키는 인터럽트 서비스 루틴을 위한 장치를 제공하는데 있다.In order to solve the above problems, the present invention stores instructions and data used in an interrupt service routine in a separate zero standby internal SRAM, not cache memory, and when the interrupt occurs, an instruction used in an interrupt service routine. The present invention provides an apparatus for an interrupt service routine that reads instructions and data directly from the on-chip zero standby internal SRAM without going through a cache memory, thereby increasing the cache hit ratio.

상기 본 발명의 목적을 달성하기 위한 기술적 사상으로, 본 발명은 시스템의 전반을 제어하는 CPU와, 상기 CPU에서 최근에 사용된 명령어 및 데이타가 저장되는 캐시 메모리와, 상기 캐시 메모리를 제어하는 캐시 제어부와, 상기 CPU, 상기 캐시 제어부, 메모리 제어부, 인터럽트 제어부를 연결하여 신호의 이동이 가능하도록 하는 시스템 버스와, CPU에서 사용되는 명령어 및 데이타를 저장하는 주메모리와, 인터럽트 요구 신호를 인식하는 인터럽트 제어부와, 인터럽트 서비스 루틴에 사용되는 명령어 및 데이터를 저장하기 위한 제로 대기 내부 SRAM과, 상기 주메모리 및 제로 대기 내부 SRAM내에 저장되어 있는 명령어 및 데이타의 입출력을 제어하는 메모리 제어부로 구성되어지는 발명이 제시된다.In order to achieve the object of the present invention, the present invention provides a CPU for controlling the overall system, a cache memory for storing recently used instructions and data in the CPU, and a cache controller for controlling the cache memory. And a system bus that connects the CPU, the cache control unit, the memory control unit, and the interrupt control unit to enable signal movement, a main memory storing instructions and data used in the CPU, and an interrupt control unit recognizing an interrupt request signal. And a zero standby internal SRAM for storing instructions and data used in an interrupt service routine, and a memory controller for controlling input and output of instructions and data stored in the main memory and zero standby internal SRAM. do.

도 1은 종래 기술에 의한 인터럽트 서비스 루틴을 위한 장치를 나타내는 구성 블록도이다.1 is a block diagram illustrating an apparatus for an interrupt service routine according to the prior art.

도 2는 본 발명에 의한 인터럽트 서비스 루틴을 위한 장치의 전체 블록도이다.2 is an overall block diagram of an apparatus for an interrupt service routine according to the present invention.

도 3은 본 발명에 의한 인터럽트 서비스 루틴을 위한 장치에 있어서, 캐시 메모리 바이패스 여부를 결정하는 제어 비트에 대한 일실시예에 대한 도면이다.3 is a diagram illustrating an embodiment of a control bit for determining whether a cache memory is bypassed in the apparatus for an interrupt service routine according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10 : CPU 20 : 캐시 제어부10: CPU 20: cache control unit

30 : 캐시 메모리 40 : 시스템 버스30: cache memory 40: system bus

50 : 메모리 제어부 60 : 인터럽트 제어부50: memory controller 60: interrupt controller

70 : 제로 대기 내부 SRAM 80 : 주 메모리70: zero standby internal SRAM 80: main memory

이하 본 발명의 실시예를 첨부한 도면을 참조하면서 그 구성 및 작용에 대하여 상세히 설명하기로 한다.Hereinafter, the configuration and operation of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 의한 인터럽트 서비스 루틴을 위한 장치의 전체 블록도이다.2 is an overall block diagram of an apparatus for an interrupt service routine according to the present invention.

도 2에서 도시한 바와 같이, 캐시 힛 비율을 높이는 인터럽트 서비스 루틴을 위한 장치에 있어서,As shown in FIG. 2, in the apparatus for an interrupt service routine for increasing the cache hit ratio,

시스템의 전반을 제어하는 CPU(10)와, 상기 CPU(10)에서 최근에 사용된 명령어 및 데이타가 저장되는 캐시 메모리(30)와, 상기 캐시 메모리(30)를 제어하는 캐시 제어부(20)와, 상기 CPU(10), 상기 캐시 제어부(20), 메모리 제어부(50), 인터럽트 제어부(60)를 연결하여 신호의 이동이 가능하도록 하는 시스템 버스(40)와, CPU(10)에서 사용되는 명령어 및 데이타를 저장하는 주메모리(80)와, 인터럽트 요구 신호를 인식하는 인터럽트 제어부(60)와, 인터럽트 서비스 루틴에 사용되는 명령어 및 데이터를 저장하기 위한 제로 대기 내부 SRAM(70)과, 상기 주메모리(80) 및 제로 대기 내부 SRAM(70)내에 저장되어 있는 명령어 및 데이타의 입출력을 제어하는 메모리 제어부(50)로 구성되어 진다.A CPU 10 for controlling the first half of the system, a cache memory 30 for storing recently used instructions and data in the CPU 10, a cache controller 20 for controlling the cache memory 30, and In addition, the system bus 40 connects the CPU 10, the cache control unit 20, the memory control unit 50, and the interrupt control unit 60 to enable a signal movement, and a command used in the CPU 10. And a main memory 80 for storing data, an interrupt controller 60 for recognizing an interrupt request signal, a zero standby internal SRAM 70 for storing instructions and data used in an interrupt service routine, and the main memory. And a memory control section 50 for controlling the input and output of instructions and data stored in the zero-waiting internal SRAM 70.

상기와 같은 구성을 갖는 본 발명의 작용을 설명하면 다음과 같다.Referring to the operation of the present invention having the configuration as described above are as follows.

먼저, 시스템이 온 동작 되면, 부팅 롬으로 부터 인터럽트 서비스 루틴에 필요한 데이타와 명령어를 제로 대기 내부 SRAM(70)으로 복사해서 저장한다. 그리고, 시스템 동작 수행 중에 인터럽트가 걸리면, 인터럽트 제어부(60)는 상기 인터럽트 요구 신호를 인식하여 시스템 버스(40)를 경유하여 CPU(10)에 인터럽트 요구가 존재함을 알린다. 이 때, CPU(10)는 메모리 액세스를 위하여 어드레스를 발생하는데, 상기 어드레스의 일부 상위 여분 1 비트를 캐시 메모리 액세스 여부를 판별하는 제어 비트로 사용하여, 상기 제어비트가 0이면 캐시 메모리(30)를 액세스 하고, 1이면 캐시 메모리(30)는 액세스 하지 않고, 바이패스한다. 따라서, 상기 인터럽트가 발생한 경우에 CPU(10)가 발생한 어드레스의 제어 비트가 1임을 캐시 제어부(20)가 인식하여, 캐시 메모리(30)에 액세스 하지 않고, 시스템 버스(40)를 경유하여 메모리 제어부(50)에 명령어 및 데이타 요구 신호를 인가한다. 이 때, 메모리 제어부(50)는 제로 대기 내부 SRAM(70)에 액세스 수행하여 인터럽트 서비스 루틴에 사용되는 명령어 및 데이타를 읽어들여서, 시스템 버스(40)를 경유하여 캐시 제어부(20)에 전달된다. 그 후, 상기 캐시 제어부(20)에 전달된 명령어 및 데이타는 캐시 메모리(30)를 거치지 않고, 바이패스하여 CPU(10)에 전달된다.First, when the system is turned on, data and instructions necessary for the interrupt service routine from the boot ROM are copied and stored in the zero standby internal SRAM 70. If an interrupt is generated while the system operation is performed, the interrupt controller 60 recognizes the interrupt request signal and informs the CPU 10 that an interrupt request exists through the system bus 40. At this time, the CPU 10 generates an address to access the memory. When the control bit is 0, the cache memory 30 is generated by using some upper 1 bit of the address as a control bit for determining whether to access the cache memory. If it is 1, the cache memory 30 bypasses without accessing. Therefore, when the interrupt occurs, the cache controller 20 recognizes that the control bit of the address generated by the CPU 10 is 1, and does not access the cache memory 30, but the memory controller via the system bus 40. Apply command and data request signal to (50). At this time, the memory controller 50 accesses the zero standby internal SRAM 70, reads instructions and data used for the interrupt service routine, and transfers the instructions and data to the cache controller 20 via the system bus 40. Thereafter, the instructions and data transmitted to the cache controller 20 are bypassed and passed to the CPU 10 without passing through the cache memory 30.

또한, 상기 제어 비트를 부가적으로 설명하면, Zero 대기 내부 SRAM(70)에 저장된 메모리 값들이 캐시 메모리(30)를 거치지 않고, 제로 대기 내부 SRAM(70)로 부터 직접 CPU(10)로 읽어들이게 하기 위하여 캐시 메모리(30) 바이패스가 필요한데, 이는 캐시 제어부(20)가 CPU(10)에서 발생된 가상주소의 일부 상위 여분 비트를 캐시 메모리 바이패스 여부를 결정하는 제어 비트로 사용함으로써 판별 가능하다. 예를 들어, 32bit 어드레스 버스를 사용하는 임베디드 시스템(embedded system)용 마이크로 컨트롤러를 가정하면, 32bit의 어드레스를 모두 사용한다면 4G 바이트의 메모리를 어드레싱할 수 있다.그러나, 현재의 임베디드 시스템용 컴퓨팅 환경을 고려해 볼 때, 4G바이트의 메모리 크기는 필요 이상으로 큰 크기이므로, 어드레싱할 수 있는 메모리의 크기를 줄이고 대신에 여분의 어드레스 비트를 캐시 메모리 바이패스 제어 비트로 사용함으로써, 인터럽트가 발생했을 때, 인터럽트 서비스 루틴에서 사용되는 명령어와 데이타가 캐시 메모리를 거치지 않고, 제로 대기 내부 SRAM(70)로 부터 직접 읽어들이는지 여부를 결정하게 된다.In addition, the control bit is further described so that memory values stored in the zero standby internal SRAM 70 are read directly from the zero standby internal SRAM 70 directly to the CPU 10 without passing through the cache memory 30. In order to bypass the cache memory 30, the cache controller 20 can determine the cache bit 20 by using some upper bits of the virtual address generated by the CPU 10 as control bits for determining whether to bypass the cache memory. For example, suppose you have a microcontroller for an embedded system that uses a 32-bit address bus. If you use all 32-bit addresses, you can address 4G bytes of memory. Considering that the 4Gbyte memory size is larger than necessary, interrupt service can be performed when an interrupt occurs by reducing the addressable memory size and using extra address bits as cache memory bypass control bits instead. It is determined whether instructions and data used in the routine are read directly from the zero standby internal SRAM 70 without going through the cache memory.

또한, 상기 제로 대기 내부 SRAM(70)은 캐시 메모리(30)의 동작을 비활성화 하여, 캐시 메모리(30)를 제로 대기 내부 SRAM(70)에 추가함으로써, 그 크기가 유동적으로 확장될 수 있다.In addition, the zero standby internal SRAM 70 may deactivate the operation of the cache memory 30 and add the cache memory 30 to the zero standby internal SRAM 70 so that the size thereof may be flexibly expanded.

또한, 상기 제로 대기 내부 SRAM(70)은 인터럽트 서비스 루틴에 사용되는 명령어와 데이타 뿐만 아니라, CPU(10)동작에 중요한 명령어와 데이타도 저장할 수 있다.In addition, the zero standby internal SRAM 70 may store not only the instructions and data used in the interrupt service routine, but also instructions and data that are important to the operation of the CPU 10.

또한, 인터럽트 서비스 루틴에서 사용되는 명령어 및 데이타를 읽어들이기 위한 제로 대기 내부 SRAM(70)으로의 액세스는 일 클록(one clock) 주기 동안에 액세스 될 수 있는데, 이는 인터럽트 서비스 루틴이 캐시 메모리 내에 들어 있어서, 캐시 메모리 액세스 시에 힛이 발생한 경우와 같은 성능임을 의미한다.In addition, access to the zero standby internal SRAM 70 for reading instructions and data used in the interrupt service routine can be accessed for one clock period, since the interrupt service routine is in cache memory, This means the same performance as when a cache occurs during cache memory access.

도 3은 본 발명에 의한 인터럽트 서비스 루틴을 위한 장치에 있어서, 캐시 메모리 바이패스 여부를 결정하는 제어 비트에 대한 일실시예에 대한 도면이다.3 is a diagram illustrating an embodiment of a control bit for determining whether a cache memory is bypassed in the apparatus for an interrupt service routine according to the present invention.

도 3에서 도시한 바와 같이, 32bit의 어드레스 버스를 사용하는 시스템에서 하위 26비트(120)는 메모리에 접근해서 명령어 및 데이타를 읽어오기 위한 어드레스 비트로 사용되고, 상위 여분의 6비트 중 1 비트(110)를 캐시 메모리 바이패스 여부를 결정하는 제어 비트(110)로 사용한다. 그리고, 나머지 5비트(100)는 여분의 비트로 남겨둔다.As shown in FIG. 3, in a system using a 32-bit address bus, the lower 26 bits 120 are used as address bits for accessing memory and reading instructions and data, and 1 bit 110 of the upper extra 6 bits. Is used as the control bit 110 to determine whether to bypass the cache memory. The remaining 5 bits 100 are left as extra bits.

이 때, 상기 32 비트 메모리에서 어드레스 사용에 대한 일실시예는 다음과 같다.At this time, an embodiment of using an address in the 32-bit memory is as follows.

메모리 어드레스 0X03FFFFFF ~ 0X00000000 는 주메모리 영역이고, 캐시 메모리에 저장되고, 메모리 어드레스 0X07FFFFFF ~ 0X04000000는 제로 대기 내부 SRAM 영역이고, 캐시 메모리를 바이패스하고, 0XFFFFFFFF ~ 0X08000000는 앞으로의 사용을 위해 예약된 영역으로 사용된다.Memory addresses 0X03FFFFFF through 0X00000000 are main memory areas, stored in cache memory, memory addresses 0X07FFFFFF through 0X04000000 are zero standby internal SRAM areas, bypass cache memory, and 0XFFFFFFFF through 0X08000000 are reserved areas for future use. Used.

이상에서 알 수 있는 바와 같이, 본 발명은 시스템의 전반을 제어하는 CPU와, 상기 CPU에서 최근에 사용된 명령어 및 데이타가 저장되는 캐시 메모리와, 상기 캐시 메모리를 제어하는 캐시 제어부와, 상기 CPU, 상기 캐시 제어부, 메모리 제어부, 인터럽트 제어부를 연결하여 신호의 이동이 가능하도록 하는 시스템 버스와, CPU에서 사용되는 명령어 및 데이타를 저장하는 주메모리와, 인터럽트 요구 신호를 인식하는 인터럽트 제어부와, 인터럽트 서비스 루틴에 사용되는 명령어 및 데이터를 저장하기 위한 제로 대기 내부 SRAM과, 상기 주메모리 및 제로 대기 내부 SRAM내에 저장되어 있는 명령어 및 데이타의 입출력을 제어하는 메모리 제어부로구성되어,As can be seen from the above, the present invention provides a CPU for controlling the overall system, a cache memory for storing recently used instructions and data in the CPU, a cache controller for controlling the cache memory, the CPU, A system bus which connects the cache control unit, the memory control unit, and the interrupt control unit to enable a signal movement, a main memory storing instructions and data used in a CPU, an interrupt control unit recognizing an interrupt request signal, and an interrupt service routine It consists of a zero standby internal SRAM for storing instructions and data used in the memory, and a memory control unit for controlling the input and output of the instructions and data stored in the main memory and the zero standby internal SRAM,

인터럽트 서비스 루틴에 사용되는 명령어와 데이타를 캐시 메모리가 아닌 별도의 제로 대기 내부 SRAM에 저장하여, 상기 인터럽트가 발생하였을 경우, 인터럽트 서비스 루틴에서 사용되는 명령어와 데이타는 캐시 메모리를 거치지 않고 온 칩화된 상기 제로 대기 내부 SRAM로부터 직접 명령어 및 데이타를 읽어들여, 캐시의 힛 비율을 증가시키는 효과가 있다.Instructions and data used in the interrupt service routine are stored in a separate zero standby internal SRAM, not cache memory, and when the interrupt occurs, the instructions and data used in the interrupt service routine are on-chip without passing through the cache memory. It has the effect of increasing the cache hit ratio by reading instructions and data directly from the zero standby internal SRAM.

Claims (6)

인터럽트 서비스 루틴을 위한 장치에 있어서,An apparatus for an interrupt service routine, 시스템의 전반을 제어하는 CPU와,A CPU that controls the overall system, 상기 CPU에서 최근에 사용된 명령어 및 데이타가 저장되는 캐시 메모리와,A cache memory for storing recently used instructions and data in the CPU; 상기 캐시 메모리를 제어하는 캐시 제어부와,A cache controller for controlling the cache memory; 상기 CPU, 상기 캐시 제어부, 메모리 제어부, 인터럽트 제어부를 연결하여 신호의 이동이 가능하도록 하는 시스템 버스와,A system bus that connects the CPU, the cache controller, the memory controller, and the interrupt controller to enable signal movement; CPU에서 사용되는 명령어 및 데이타를 저장하는 주메모리와,Main memory for storing instructions and data used by the CPU, 인터럽트 요구 신호를 인식하는 제어하는 인터럽트 제어부와,An interrupt controller for controlling recognizing an interrupt request signal; 인터럽트 서비스 루틴에 사용되는 명령어 및 데이터를 저장하기 위한 제로 대기 내부 SRAM과,A zero standby internal SRAM for storing instructions and data used for interrupt service routines, 상기 주메모리 및 제로 대기 내부 SRAM내에 저장되어 있는 명령어 및 데이타의 입출력을 제어하는 메모리 제어부를 포함하는 것을 특징으로 하는 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을 위한 장치.And a memory controller configured to control input / output of instructions and data stored in the main memory and the zero standby internal SRAM. 청구항 1에 있어서, 상기 제로 대기 내부 SRAM은 인터럽트 서비스 루틴에 사용되는 명령어 및 데이타 뿐만 아니라, CPU동작에 중요한 명령어 및 데이타도 저장할 수 있는 것을 특징으로 하는 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을 위한 장치.The system of claim 1, wherein the zero standby internal SRAM is capable of storing not only the instructions and data used for the interrupt service routine, but also instructions and data that are important for CPU operation. Device. 청구항 1에 있어서, 상기 제로 대기 내부 SRAM은 내부에 포함된 메모리 값들이 캐시 메모리를 통하지 않고 바이패스해서 액세스 될 수 있는 것을 특징으로 하는 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을 위한 장치.2. The apparatus of claim 1, wherein the zero standby internal SRAM can be accessed by bypassing memory values contained therein without passing through the cache memory. 청구항 1에 있어서, 상기 제로 대기 내부 SRAM은 상기 캐시 메모리 바이패스 여부 결정을 CPU에서 발생한 어드레스의 상위 여분 비트를 제어 비트로 설정하여 수행하는 것을 특징으로 하는 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을 위한 장치.The system of claim 1, wherein the zero standby internal SRAM determines whether to bypass the cache memory by setting an upper redundant bit of an address generated by a CPU as a control bit. Device. 청구항 1에 있어서, 상기 제로 대기 내부 SRAM은 시스템이 온 동작 되면, 부팅 롬으로 부터 인터럽트 서비스 루틴에 필요한 데이타 및 명령어가 복사되어 저장되는 것을 특징으로 하는 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을 위한 장치.The system of claim 1, wherein the zero standby internal SRAM stores data and instructions necessary for an interrupt service routine from a boot ROM when the system is turned on. Device. 청구항 1에 있어서, 상기 제로 대기 내부 SRAM은 캐시 메모리가 사용되지 않는 모드에서 CPU가 동작하는 경우에, 메모리 맵을 조절하여 상기 캐시 메모리를 이용하는 것을 특징으로 하는 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을 위한 장치.The interrupt service routine of claim 1, wherein the zero standby internal SRAM uses the cache memory by adjusting a memory map when the CPU operates in a mode in which no cache memory is used. Device for.
KR1019990068419A 1999-12-31 1999-12-31 Device for Performing Interrupt Service Routine in the system having cache memory KR100317976B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990068419A KR100317976B1 (en) 1999-12-31 1999-12-31 Device for Performing Interrupt Service Routine in the system having cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990068419A KR100317976B1 (en) 1999-12-31 1999-12-31 Device for Performing Interrupt Service Routine in the system having cache memory

Publications (2)

Publication Number Publication Date
KR20010066564A KR20010066564A (en) 2001-07-11
KR100317976B1 true KR100317976B1 (en) 2001-12-24

Family

ID=19635501

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990068419A KR100317976B1 (en) 1999-12-31 1999-12-31 Device for Performing Interrupt Service Routine in the system having cache memory

Country Status (1)

Country Link
KR (1) KR100317976B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363428B2 (en) 2003-07-01 2008-04-22 Samsung Electronics Co., Ltd. Microprocessor with hot routine memory and method of operation
US9552314B2 (en) 2013-01-02 2017-01-24 Samsung Electronics Co., Ltd. Memory system having first and second memory devices and driving method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202621A (en) * 1995-01-27 1996-08-09 Nec Ibaraki Ltd Cache controller
JPH09218825A (en) * 1996-02-13 1997-08-19 Meidensha Corp Variable cache system
US5894578A (en) * 1995-12-19 1999-04-13 Advanced Micro Devices, Inc. System and method for using random access memory in a programmable interrupt controller
JPH11296431A (en) * 1998-04-10 1999-10-29 Nec Corp Information processor and mapping method for cache memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202621A (en) * 1995-01-27 1996-08-09 Nec Ibaraki Ltd Cache controller
US5894578A (en) * 1995-12-19 1999-04-13 Advanced Micro Devices, Inc. System and method for using random access memory in a programmable interrupt controller
JPH09218825A (en) * 1996-02-13 1997-08-19 Meidensha Corp Variable cache system
JPH11296431A (en) * 1998-04-10 1999-10-29 Nec Corp Information processor and mapping method for cache memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363428B2 (en) 2003-07-01 2008-04-22 Samsung Electronics Co., Ltd. Microprocessor with hot routine memory and method of operation
KR100959133B1 (en) 2003-07-01 2010-05-26 삼성전자주식회사 System and administration method for microprocessor with hot routine memory
US9552314B2 (en) 2013-01-02 2017-01-24 Samsung Electronics Co., Ltd. Memory system having first and second memory devices and driving method thereof

Also Published As

Publication number Publication date
KR20010066564A (en) 2001-07-11

Similar Documents

Publication Publication Date Title
JP3713312B2 (en) Data processing device
US6092172A (en) Data processor and data processing system having two translation lookaside buffers
KR100327854B1 (en) Cache Memory System
KR100349792B1 (en) Data processing device
US5148526A (en) Data processing system with an enhanced cache memory control
JP3227707B2 (en) Cache memory control method for each driving mode
US6341335B1 (en) Information processing system for read ahead buffer memory equipped with register and memory controller
US7415576B2 (en) Data processor with block transfer control
US20020056027A1 (en) Information processing system
US7353337B2 (en) Reducing cache effects of certain code pieces
KR100317976B1 (en) Device for Performing Interrupt Service Routine in the system having cache memory
JPH0690732B2 (en) Microprocessor
KR930004433B1 (en) Direct controllable cache memory
JPH10293684A (en) Computer system and rise control method therefor
JPH02213960A (en) Cache memory
JPH07282023A (en) Data transfer amount variable processor and system using the same
JP2680293B2 (en) Data processing device and cache memory control method
JP2923273B2 (en) Data processing system
JP2000267932A (en) Tag address comparing device
JPH0724043B2 (en) Data processing device
KR19990086857A (en) Cache system with serial / parallel cache structure with selective control
JP2002049607A (en) Microcomputer with built-in cache
JPH04205535A (en) Copy on write system
JPH0630074B2 (en) Processor
JPH08221270A (en) Data processor

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121107

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150602

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20151126

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 18