KR100612327B1 - 이종 프로세서 유닛을 위한 버스 인터페이스 장치 그인터페이스 방법 - Google Patents

이종 프로세서 유닛을 위한 버스 인터페이스 장치 그인터페이스 방법 Download PDF

Info

Publication number
KR100612327B1
KR100612327B1 KR1020040056959A KR20040056959A KR100612327B1 KR 100612327 B1 KR100612327 B1 KR 100612327B1 KR 1020040056959 A KR1020040056959 A KR 1020040056959A KR 20040056959 A KR20040056959 A KR 20040056959A KR 100612327 B1 KR100612327 B1 KR 100612327B1
Authority
KR
South Korea
Prior art keywords
processor unit
unit
bus
register
polling
Prior art date
Application number
KR1020040056959A
Other languages
English (en)
Other versions
KR20060007728A (ko
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 KR1020040056959A priority Critical patent/KR100612327B1/ko
Publication of KR20060007728A publication Critical patent/KR20060007728A/ko
Application granted granted Critical
Publication of KR100612327B1 publication Critical patent/KR100612327B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 적어도 하나 이상의 제 1 프로세서 유닛과, 버스를 통해 제 1 프로세서 유닛에 주기적으로 액세스하는 제 2 프로세서 유닛과, 제 1 프로세서 유닛과 제 2 프로세서 유닛의 사이에 위치하여 제 1 프로세서 유닛에 대하여 주기적으로 폴링을 수행하여 해당 제 1 프로세서 유닛의 데이터를 읽어 저장하고, 제 2 프로세서 유닛으로부터 요청이 있는 경우 그 저장된 데이터를 제공하는 버스 타이밍 정합부를 포함하는 저속 프로세서 유닛을 위한 버스 인터페이스 장치를 제공한다.
본 발명에 따르면, 제 2 프로세서 유닛이 폴링 모드를 수행하여 주기적으로 제 2 프로세서 유닛을 폴링하는 경우에 폴링 모드 수행부를 통해 설정된 타이머 시간에 맞춰 제 1 프로세서 유닛의 데이터 값을 액세스하여 폴링한 결과를 결과 레지스터에 저장해놓았다가 제 2 프로세서 유닛에서 임의의 제 1 프로세서 유닛의 데이터를 원하는 경우 결과 레지스터에 저장하고 있던 데이터를 읽어가게 함으로써 제 1 프로세서 유닛의 응답속도를 올려 줌으로써 제 1 프로세서 유닛과 제 2 프로세서 유닛의 속도에 있어 차이가 있는 경우에도 전체 시스템의 성능을 향상시킬 수 있다.
저속 프로세서, 고속 프로세서, 폴링, 버스, 액세스

Description

이종 프로세서 유닛을 위한 버스 인터페이스 장치 그 인터페이스 방법{APPARATUS AND METHOD FOR BUS INTERFACE OF HETEROGENEOUS PROCESSOR UNIT}
도 1은 종래의 핸드 쉐이크(Handshake) 방식으로 고속 프로세서 유닛인 CPU 유닛에 저속 프로세서 유닛인 VoP 유닛이 연결된 시스템 구성도.
도 2는 본 발명의 일실시예에 따른 버스 인터페이스 장치의 구성도.
도 3은 본 발명에 따른 버스 타이밍 정합부의 구성도.
도 3은 본 발명의 일실시예에 따른 서버에 동작하는 소켓 관리 시스템의 구성도.
도 4는 본 발명에 따른 폴링 모드 수행부의 구성도.
도 5a 및 도 5b는 본 발명의 일실시예에 따른 폴링 모드 수행부의 동작 흐름도.
본 발명은 이종 프로세서 유닛을 위한 버스 인터페이스 장치 및 그 인터페이 스 방법에 관한 것이다.
VoIP(Voice over Internet protocol) 시스템의 경우 통상적으로 시스템의 전체적인 제어기능을 수행하는 CPU 유닛이 버스를 통해 연결된 보이스 애플리케이션 인터페이스 유닛(Voice application interface unit; 이하 VoP 유닛이라 한다)들의 특정 레지스터의 상태를 주기적으로 체크하도록 구성된다.
만약 임의의 VoP 유닛에서 이벤트가 발생하면 상태 비트가 변하여, CPU유닛은 해당 VoP 유닛에 호가 발생하였음을 알고 해당 VoP 유닛에 대한 호 제어 동작을 수행할 것이다.
그런데, CPU 유닛은 속도면에서 고속 프로세서에 속하는데 반하여 대부분의 VoP 유닛은 저속 프로세서에 속한다. 따라서, 시스템을 설계할 때 이러한 속도의 차이를 고려하여 한다.
도 1은 종래의 핸드 쉐이크(Handshake) 방식으로 고속 프로세서 유닛인 CPU 유닛에 저속 프로세서 유닛인 VoP 유닛이 연결된 시스템 구성도이다.
도 1을 참조하면 VoP 유닛과 같은 저속 프로세서 유닛들(10)이 CPU 버스(2)를 통해 마스터 기능을 수행하는 CPU유닛(3)에 연결되어 있다.
VoP 유닛들(1)이 CPU 버스(1)를 통해 CPU 유닛(3)과 통신을 수행할 경우, VoP 유닛들(1)의 처리 속도가 느리기 때문에 자연히 CPU 유닛(3)은 각 VoP 유닛들(1)에게 할당하는 액세스 타임이 길어질 수 밖에 없다.
또한, CPU 유닛(3)은 각 VoP 유닛(1)을 주기적으로 폴링하는 동작을 수행하는데 CPU 버스(2)에 VoP 유닛(1)이 많이 연결되면 CPU 유닛(3)이 각각의 VoP 유닛 (1)을 폴링하는데 소요되는 시간이 길어짐에 따라 VoP유닛(1)에 의해 CPU 버스 전체 타이밍의 성능을 저하되는 문제점이 있다.
본 발명은 이러한 종래의 문제점을 해결하기 위하여 안출된 것으로, VoP유닛과 같은 저속 프로세서 유닛의 저속 타이밍에 영향을 받지 않으면서 CPU 유닛 같은 고속 프로세서 유닛이 저속 프로세서 유닛을 액세스할 수 있는 이종 프로세서 유닛을 위한 버스 인터페이스 장치 및 그 인터페이스 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하는 본 발명의 일측면에 의하면, 다수의 제 1 프로세서 유닛과, 버스를 통해 상기 제 1 프로세서 유닛에 주기적으로 액세스하는 제 2 프로세서 유닛과, 상기 제1,2 프로세서 유닛과 서로 다른 버스를 통해 연결되어 각 프로세서 유닛간 버스 타이밍을 정합하는 버스 타이밍 정합부를 포함하되, 상기 버스 타이밍 정합부는, 상기 제 2 프로세서 유닛의 설정에 따라 폴링 모드로 동작할 것인지 정상 모드로 동작할 것인지 선택하는 모드 선택부와, 상기 모드 선택부가 폴링 모드로 설정된 경우 상기 제 1 프로세서 유닛에 대하여 주기적으로 폴링을 수행하여 해당 제 1 프로세서 유닛의 데이터를 읽어 저장하고, 상기 제 2 프로세서 유닛으로부터 요청이 있는 경우 그 저장된 데이터를 제2 프로세서 유닛으로 제공하여 버스 정합기능을 수행하는 폴링 모드 수행부를 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 장치를 제공한다.
본 발명의 다른 측면에 의하면, 서로 다른 버스를 통해 연결된 다수의 제 1 프로세서 유닛과 제 2 프로세서 유닛간 데이터 인터페이싱시 버스 타이밍을 정합하는 방법에 있어서, 폴링할 다수의 제 1 프로세서 유닛의 어드레스 및 폴링 주기를 저장하는 단계와, 상기 제 2 프로세서 유닛으로부터 요청되는 폴링할 제1 프로세서 유닛의 어드레스와 상기 저장된 어드레스를 비교하여 일치하는 경우, 해당 제 1 프로세서 유닛에 대한 버스 사이클을 발생하고 폴링 주기의 카운팅을 수행하는 단계와, 상기 폴링 주기 동안 상기 발생한 버스 사이클에 따라 해당 제 1 프로세서 유닛을 폴링하여 해당 데이터를 리드하고 리드한 데이터를 레지스터에 저장하는 단계와, 상기 제 2 프로세서 유닛으로부터 데이터의 요청이 있는 경우 레지스터에 저장된 데이터를 제2 프로세서 유닛으로 제공하는 단계를 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 방법을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하도록 한다.
도 2는 본 발명의 일실시예에 따른 버스 인터페이스 장치의 구성도이다.
도 2를 참조하면, 다수의 저속 프로세서 유닛(10)과 고속 프로세서 유닛인 CPU유닛(20)이 버스 타이밍 정합부(100)에 의해 서로 연결되어 있다.
CPU 유닛(20)과 버스 타이밍 정합부(100)는 CPU 버스(30)를 통해 연결되어 있고, 버스 타이밍 정합부(100)와 다수의 저속 프로세서 유닛(10)은 I/O 정합 버스(40)를 통해 연결되어 있다.
버스 타이밍 정합부(100)는 저속 프로세서 유닛(10)과 고속 프로세서 유닛인 CPU유닛(20)이 버스를 이용함에 있어 발생될 수 있는 시간차를 보상하기 위한 버스 타이밍 정합기능을 수행한다. 이에 따라 버스 타이밍 정합부(100)는 폴링 모드 또는 정상 모드중 하나의 동작모드로 동작한다.
폴링 모드는 CPU 유닛(20)이 저속 프로세서 유닛(10)에 대하여 주기적으로 폴링을 수행할 때 저속 프로세서 유닛(10)으로부터 데이터를 읽어오는 사이클에서 수행하는 동작모드이고, 정상 모드는 CPU 유닛(20)의 CPU 버스 사이클을 지원하는 동작모드로써, CPU 유닛(20)이 저속 프로세서 유닛(10)에 데이터를 쓰는 사이클에서도 수행되는 동작모드이다.
버스 타이밍 정합부(100)가 폴링 모드로 동작하게 되면 버스 타이밍 정합부(100)는 설정된 폴링 주기마다 저속 프로세서 유닛(10)에 액세스하여 해당 저속 프로세서 유닛(10)으로부터 데이터를 가져와 버스 타이밍 정합부(100)의 레지스터에 저장한다. 이후, 버스 타이밍 정합부(100)는 CPU 유닛(20)으로부터 데이터 요청하는 경우 저장된 데이터를 CPU 유닛(20)으로 전달해줌으로써 CPU 유닛(20)과 저속 프로세서 유닛(10)의 타이밍을 정합하는 기능을 수행한다.
도 3은 본 발명에 따른 버스 타이밍 정합부(100)의 구성도이다.
도 3을 참조하면, 버스 타이밍 정합부(100)는 CPU 유닛의 설정에 따라 버스 타이밍 정합부(100)가 폴링 모드로 동작할 것인지 정상 모드로 동작할 것인지 선택하는 모드 선택부(110)와, 모드 선택부(110)가 폴링 모드로 설정된 경우 저속 프로세서 유닛(10)에 대한 폴링 액세스를 수행함에 따른 버스 정합기능을 수행하는 폴링 모드 수행부(120)를 포함하여 구성된다.
모드 선택부(110)는 CPU 유닛(20)과 저속 프로세서 유닛(10)과 통신을 수행할 때, CPU 유닛(20)과 저속 프로세서 유닛(10)간에 설치된 버스 타이밍 정합부(100)가 폴링 모드로 동작할 것인지 정상 모드로 동작할 것인지 선택한다. 모드 선택부(110)는 CPU 유닛(20)으로부터 모드설정 신호를 수신하여 폴링 모드나 정상 모드중의 하나의 모드로 선택된다.
모드 선택부(110)는 CPU 버스(30)를 통해 CPU 유닛(20)에 연결되어 CPU 유닛(20)으로부터 데이터, 어드레스, 제어신호를 송수신하며, 내부 버스를 통해 폴링 모드 수행부(120)와 연결되며, I/O 버스(40)를 통해 저속 프로세서 유닛(10)에 직접 연결된다.
따라서, 모드 선택부(110)는 동작모드가 폴링 모드로 선택되면, 폴링 모드 수행부(120)와 연결된 내부 버스를 활성시켜서 폴링 모드 수행부(120)를 통해 저속 프로세서 유닛(10)과 CPU 유닛(20)간에 데이터를 인터페이싱한다.
한편, 모드 선택부(110)는 동작모드가 정상 모드로 선택되면, 폴링 모드 수행부(120)와 연결된 내부 버스를 비활성화시키고 저속 프로세서 유닛(10)과 직접 연결된 I/O 버스를 활성화시켜 저속 프로세서 유닛(10)과 CPU 유닛(20)간에 데이터를 인터페이싱한다.
이와 같이 구성된 본 발명에 따른 버스 인터페이스 장치의 동작을 살펴보면 다음과 같다.
모드 선택부(110)는 정상 모드와 폴링 모드중에서 하나의 동작 모드를 선택한다. 정상 모드는 CPU유닛의 고유 버스 사이클을 지원하는 동작 모드로 인터페이스되며 또한 쓰기 사이클(write cycle)도 이 정상모드가 선택된다.
CPU 유닛(20)이 정상모드로 동작하여 저속 프로세서 유닛(10)을 초기화하려면 먼저 모드 선택부(110)를 설정하고, 설정이 되면 액세스 버스 통로가 결정이 된다. 정상 모드로 모드 선택부(110)를 설정하여 액세스 버스 통로를 결정하면 일반적인 CPU 유닛(20)의 버스 액세스 사이클을 시작할 수 있다.
즉, 설정된 버스 통로로 CPU 유닛(20)은 폴링 모드 수행부(120)를 거치지 않고 저속 프로세서 유닛(10)을 액세스 할 수 있다.
CPU버스의 데이터의 읽기, 쓰기 동작은 먼저 버스 유효신호를 CPU 유닛(20)이 출력하고 이 유효신호 안에 CPU 유닛(20)은 액세스할 유닛의 어드레스를 출력한다. 그리고 읽기 동작인지 쓰기 동작인지를 알려 주는 제어 신호를 출력한다. 이들 신호를 해당 액세스되는 저속 프로세서 유닛(10)이 읽기 또는 쓰기 제어 신호인지를 해석하여 동작한다.
저속 프로세서 유닛(10)을 연결하는 버스 동작도 동일하다. 단지 어드레스와 주기를 폴링 모드 수행부(120)에서 받아 버스 사이클에 로드한다는 것만 제외하고는 CPU 유닛(20)은 직접 어드레스, 제어 값 로드한다.
도 4는 본 발명에 따른 폴링 모드 수행부(120)의 구성도이다.
도 4를 참조하면 폴링 모드 수행부(120)는 타이머 레지스터(121)와, 어드레스 레지스터(122)와, 어드레스 매치부(123)와, 제어신호 레지스터(124)와, 결과 레지스터(125)와, 래치 레지스터(126)와, 타이머(127)와, 사이클 발생부(128)와, 사이클 모니터링부(129)를 포함하여 구성된다.
타이머 레지스터(121)는 CPU유닛이 저속 프로세서 유닛(10)을 폴링할 시간 상수값을 저장하고 있는 레지스터이다. 그리고 저속 프로세서 유닛(10)의 액세스 동작이 시작될 때 타이머(127)에 타이머 시간변수를 로드한다.
어드레스 레지스터(122)는 폴링하고자 하는 저속 프로세서 유닛(10)의 고유 어드레스를 CPU유닛(20)으로부터 등록받아 저장하고 있다가 CPU유닛(20)이 저속 프 로세서 유닛(10)을 폴링할 때 그 저장된 저속 프로세서 유닛(10)의 고유 어드레스를 출력한다.
어드레스 매치부(123)는 CPU 유닛(20)으로부터 출력되는 어드레스와 어드레스 레지스터(122)에 등록된 어드레스를 비교한다.
즉, CPU유닛(20)이 폴링하고자 하는 저속 프로세서 유닛(10)의 고유 어드레스를 어드레스 레지스터(122)에 등록하고, CPU유닛(20)이 저속 프로세서 유닛(10)의 폴링 시 저속 프로세서 유닛(10)의 고유 어드레스를 출력한다. 이때, 어드레스 매치부(123)는 이 어드레스와 이미 어드레스 레지스터(122)에 등록된 어드레스를 비교하여 일치하면 일치된 저속 프로세서 유닛의 폴링 동작을 인에이블하여 이후의 동작으로 동작으로 넘어갈 수 있다.
제어신호 레지스터(124)는 저속 프로세서 유닛(10)을 액세스할 때의 동작 모드를 알려 주는 제어신호를 저장하는 레지스터로서, CPU 버스(20)의 버스 제어 신호를 래치하여 저속 프로세서 유닛(10)의 액세스 동작시에 사이클 발생부(128)에서 사용한다.
결과 레지스터(125)는 폴링 모드를 수행할 때 버스에 실려진 저속 프로세서 유닛(10)의 데이터와 버스 상태값을 읽어 저장하는 레지스터이다.
래치 레지스터(126)는 사이클 발생부(128)에서 저속 프로세서 유닛(10)의 액세스 버스 사이클을 만들 때 사용하는 어드레스와 제어 신호를 래치하고 있다. CPU 유닛(20)이 저속 프로세서 유닛(10)을 액세스할 때 사이클 발생부(128)로 래치된 값을 로드한다.
래치 레지스터(126)는 어드레스 매치부(123)와 제어 레지스터(124)로부터 어드레스와 제어신호를 각각 내려받아 일시적으로 저장한다.
저속 프로세서 유닛(10)을 액세스하기 위해서는 저속 프로세서 유닛(10)의 고유어드레스와 제어 신호를 보내 주어야 한다. 여기에서, 고유 어드레스는 저속 프로세서 유닛(10)의 내부 레지스터를 액세스할 때 필요한 어드레스이다. 어드레스 래치부(126a)는 그 어드레스를 어드레스 매치부(123)로부터 내려 받아 일시적으로 저장하는 레지스터이다.
제어 신호 래치부(126b)는 저속 프로세서 유닛을 액세스할 때의 동작 모드를 알려 주는 제어 신호를 저장하는 레지스터이다. 이때의 제어신호는 동작 모드가 읽기인지 쓰기인지를 알려 준다.
어드레스 매치부(123)에서 저속 프로세서 유닛(10)의 어드레스 일치가 발생하면 타이머 레지스터(121)에 이미 등록된 시간 주기 값이 타이머(127)에 설정되어 타이머(127)가 동작하게 된다.
타이머(127)는 저속 프로세서 유닛(10)을 얼마의 주기로 폴링할 것인지 주기 시간 값으로 동작한다. 주기시간 값이 되었을 때, 그 주기 시점을 사이클 발생부(128)로 알려 준다.
사이클 발생부(128)는 타이머(127)가 시작되어 폴링 주기 시간이 되었을 때 저속 프로세서 유닛(10)을 액세스하게 되는데 이때 저속 프로세서 유닛(10)을 액세스하는 버스 타이밍은 저속 프로세서 유닛(10)의 응답 속도에 따라 동작된다.
타이머(127)로부터 주기 시점을 받은 사이클 발생부(128)는 저속 프로세서 유닛을 접속할 수 있는 버스(40)로 버스 사이클을 출력하게 된다. 사이클 발생부(128)는 버스(40)를 통해 저속 프로세서 유닛(10)에 어드레스, 제어신호, 사이클 유효시점 신호를 보내고, 저속 프로세서 유닛(10)은 사이클 유효 시점 신호 주기내에 신호를 해석하여 그에 맞는 결과를 버스(40)에 출력하게 된다.
사이클 모니터링부(129)는 사이클 발생부(128)에서 저속 프로세서 유닛내의 수집된 정보를 가져오기 위해 버스 액세스 사이클 타이밍을 발생시키면, 그 동작 사이클이 정상인지 비정상인지 I/O 정합 버스(40)의 신호를 모니터하여 그 상태 값을 결과 레지스터(125)의 상태 비트 레지스터에 반영한다.
실제 CPU유닛이 저속 프로세서 유닛(10)을 액세스했을 때 결과 레지스터(125)의 값을 읽어간다. 리드 데이터 구조는 "상태 데이터(status data) + 저속 유닛(10)의 실제 액세스 리드 데이터"로 구성되어 있어 CPU유닛이 "상태 데이터(status data)"가 비정상이면 " 저속 유닛(10)의 실제 액세스 리드 데이터"를 취하지 않는다.
먼저 CPU 유닛(20)은 데이터 폭(data-width)이 저속 프로세서 유닛(10)보다 최소 8비트 큰 폭을 갖는다고 전제한다. CPU 유닛(20)은 이 8비트의 데이터에 상태비트를 정의할 수 있고, CPU유닛(20)이 결과 레지스터(125)를 읽을 때 결과 레지스터(125)에 저장된 상태 비트와 데이터를 한꺼번에 읽어오기 위한 것이다. 이때, 상태 비트가 정상이면 데이터는 유효하다고 판단한다.
CPU 버스의 타이밍 정합부(100)의 각 레지스터는 CPU 유닛 (20)이 액세스하기 위해 각각의 고유 어드레스를 가진다.
예를 들어 CPU 유닛(20)이 저속 프로세서 유닛 #0에 대한 액세스를 시작할 경우 CPU 유닛(20)은 해당 저속 프로세서 유닛을 얼마의 주기로 폴링할 것인가, 또한 몇 개의 저속 프로세서 유닛(10)이 연결되었는가를 이미 알고 있음에 따라 각 저속 프로세서 유닛에 맞는 폴링 주기값을 타이머 레지스터(121)에 설정할 수 있다.
그리고 어드레스 레지스터(122)에 CPU 유닛(20)이 액세스할 저속 프로세서 유닛(10)의 어드레스를 등록한다. 그 다음 CPU 유닛(20)이 실제 저속 프로세서 유닛(10)의 폴링 동작에 앞서 각 초기화 값의 설정은 정상 모드로 설정하여 진행한다. 초기화 값의 설정이 끝나면 저속 프로세서 유닛(10)의 폴링 모드로 동작하면 된다.
모드 선택부(110)는 정상 모드와 폴링 모드중에서 하나의 동작 모드를 선택한다. 정상 모드는 CPU유닛의 고유 버스 사이클을 지원하는 동작 모드로 인터페이스되며, 쓰기 사이클(write cycle)도 이 정상 모드가 선택된다.
폴링 모드는 주기적으로 저속 프로세서 유닛(10)을 폴링하는 경우에 설정된 타이머 시간에 맞춰 저속 프로세서 유닛(10)의 데이터 값을 액세스하여 폴링 결과 레지스터(125)에 준비하여 놓는 방식이다.
도 5a 및 도 5b는 본 발명의 일실시예에 따른 폴링 모드 수행부의 동작 흐름도이다.
도 5a를 참조하면, 모드 선택부(110)는 CPU 유닛(20)에 의해 동작 모드를 설정받는다(S1). 모드 선택부(100)에 설정되는 동작모드는 폴링 모드와 정상 모드중 의 하나이다. 우선 동작모드가 폴링모드인지의 여부를 판단한다(S2). 판단결과 설정된 모드가 폴링모드가 아닌 경우에는 읽기 모드인지를 판단한다(S3). 판단결과 읽기 모드인 경우에는 읽기 모드를 수행하고 그렇지 않은 경우에는 쓰기모드이므로 정상 모드 경로를 선택하여 정상모드를 수행한다(S4). 이와 같이 CPU 유닛(20)이 정상모드로 동작하여 모드 선택부(110)를 정상모드로 설정하면 폴링 모드 수행부(120)를 거치지 않고 저속 프로세서 유닛(10)에 이르는 액세스 버스 통로가 설정되어 일반 CPU 유닛(20)의 버스 액세스 사이클을 시작할 수 있다.
어드레스 매치부(123)는 CPU 유닛(20)으로부터 출력된 액세스할 유닛의 어드레스와 어드레스 레지스터(122)에 저장된 어드레스를 비교하여(S5) 어드레스가 일치하는지 여부를 판단하여(S6) 일치하는 경우 타이머 레지스터(121)는 자신이 저장하고 있던 시간변수 주기값을 타이머(127)에 설정한 후 타이머(127)를 가동시키고, 래치 레지스터(126)는 어드레스 레지스터와 제어신호 레지스터에 저장하고 있던 어드레스와 제어신호를 사이클 발생부(128)에 로드한다(S7).
타이머의 카운트값이 타임아웃인가를 판단하여(S8) 타이머(127)의 카운트값이 타임아웃이내인 경우 사이클 발생부(128)는 동작 사이클을 발생시키고, 사이클 모니터링부(129)는 그 발생된 사이클을 모니터링한다(S9).
사이클 발생부(128)에 의해 발생된 동작 사이클에 따라 결과 레지스터(125)는 버스(40)에 실려진 저속 프로세서 유닛(10)의 데이터와 버스 상태값을 읽어 상태비트 레지스터(Sts_register)와 데이터 레지스터(Data register)에 저장한 후(S10) 타이머를 재설정하여(S11) 계속적으로 폴링동작을 수행한다.
도 5b를 참조하면 읽기 모드인지 여부를 판단하여 읽기 모드인 경우 어드레스 매치부(123)는 CPU 유닛(20)으로부터 출력된 액세스할 유닛의 어드레스와 어드레스 레지스터(122)에 저장된 어드레스를 비교하여(S12) 어드레스가 일치하는지 여부를 판단하여(S13) 일치하는 경우 결과 레지스터(125)는 상태비트 레지스터(Sts_register)와 데이터 레지스터(Data register)에 저장하고 있는 버스 상태값과 데이터를 버스에 전송한다(S14). 이에 따라 CPU 유닛(20)은 버스에서 자신이 요청한 저속 프로세서 유닛의 데이터와 상태값을 읽게 된다. 이렇게 함으로써 폴링 모드동안 주기적으로 저속 프로세서 유닛(10)을 폴링하는 경우에 설정된 타이머 시간에 맞춰 저속 프로세서 유닛(10)의 데이터 값을 액세스하여 폴링 결과 레지스터(125)에 준비하여 놓았다가 읽기 동작이 수행되면 저속 프로세서 유닛(10)의 버스 주기에 맞게 폴링을 수행하여 결과 레지스터(125)에 저장하고 있던 데이터들을 읽기 모드를 수행하는 동안 읽어들이게 된다.
본 발명에 따르면, 고속 프로세서 유닛인 CPU 유닛이 폴링 모드를 수행하여 주기적으로 저속 프로세서 유닛(10)을 폴링하는 경우에 폴링 모드 수행부(100)를 통해 설정된 타이머 시간에 맞춰 저속 프로세서 유닛(10)의 데이터 값을 액세스하여 폴링한 결과를 결과 레지스터에 저장해놓았다가 CPU 유닛(20)에서 임의의 저속 프로세서 유닛의 데이터를 원하는 경우 결과 레지스터에 저장하고 있던 데이터를 읽어가게 함으로써 저속 유닛의 응답속도를 올려 줌으로써 전체 시스템의 성능을 향상시킬 수 있다.
이에 따라, VoP유닛과 같은 저속 프로세서 유닛의 저속 타이밍에 영향을 받지 않으면서 CPU 유닛 같은 고속 프로세서 유닛이 저속 프로세서 유닛을 액세스할 수 있게 되는 효과를 제공할 수 있다.

Claims (9)

  1. 다수의 제 1 프로세서 유닛과, 버스를 통해 상기 제 1 프로세서 유닛에 주기적으로 액세스하는 제 2 프로세서 유닛과, 상기 제1,2 프로세서 유닛과 서로 다른 버스를 통해 연결되어 각 프로세서 유닛간 버스 타이밍을 정합하는 버스 타이밍 정합부를 포함하되,
    상기 버스 타이밍 정합부는, 상기 제 2 프로세서 유닛의 설정에 따라 폴링 모드로 동작할 것인지 정상 모드로 동작할 것인지 선택하는 모드 선택부와,
    상기 모드 선택부가 폴링 모드로 설정된 경우 상기 제 1 프로세서 유닛에 대하여 주기적으로 폴링을 수행하여 해당 제 1 프로세서 유닛의 데이터를 읽어 저장하고, 상기 제 2 프로세서 유닛으로부터 요청이 있는 경우 그 저장된 데이터를 제2 프로세서 유닛으로 제공하여 버스 정합기능을 수행하는 폴링 모드 수행부를 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 장치.
  2. 삭제
  3. 제 1항에 있어서, 상기 폴링 모드 수행부는,
    폴링할 제 1 프로세서의 어드레스, 폴링 주기, 버스 사이클의 동작 제어신호를 저장하는 레지스터와,
    상기 제 2 프로세서 유닛으로부터 출력되는 어드레스와 상기 레지스터에 등록된 어드레스를 비교하는 어드레스 매치부와,
    상기 어드레스 매치부에 의한 어드레스 비교결과 일치하는 경우 해당 제 1 프로세서 유닛에 대한 폴링 주기를 카운팅하는 타이머와,
    상기 타이머의 카운팅에 의해 폴링 주기 시간이 되었을 때 제 1 프로세서 유닛을 액세스하는 버스 사이클을 발생하는 사이클 발생부와,
    폴링 모드를 수행할 때 버스에 실려진 제 1 프로세서 유닛의 데이터와 버스 상태값을 읽어 저장한 후, 상기 제 2 프로세서 유닛으로부터 요청이 있는 경우 출력하는 결과 레지스터를 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 장치.
  4. 제 3항에 있어서, 상기 결과 레지스터는,
    상태 데이터와 제 1 프로세서 유닛의 폴링 데이터로 이루어진 데이터를 저장하는 이종 프로세서 유닛을 위한 버스 인터페이스 장치.
  5. 제 3항에 있어서, 상기 레지스터는,
    제 1 프로세서 유닛을 폴링할 시간 상수값을 저장하는 타이머 레지스터와,
    폴링하고자 하는 제 1 프로세서 유닛의 고유 어드레스를 저장하는 어드레스 레지스터와,
    제 1 프로세서 유닛을 액세스할 때의 동작 모드를 알려 주는 제어신호를 저장하는 제어 신호 레지스터와,
    제 1 프로세서 유닛의 액세스 버스 사이클을 만들 때 사용하는 어드레스와 제어 신호를 래치하는 래치 레지스터를 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 장치.
  6. 제 3항에 있어서, 상기 폴링 모드 수행부는,
    상기 사이클 발생부에서 버스 사이클을 발생하는 그 버스 사이클이 정상인지 비정상인지 모니터링하는 사이클 모니터링부를 더 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 장치.
  7. 서로 다른 버스를 통해 연결된 다수의 제 1 프로세서 유닛과 제 2 프로세서 유닛간 데이터 인터페이싱시 버스 타이밍을 정합하는 방법에 있어서,
    폴링할 다수의 제 1 프로세서 유닛의 어드레스 및 폴링 주기를 저장하는 단계와,
    상기 제 2 프로세서 유닛으로부터 요청되는 폴링할 제1 프로세서 유닛의 어드레스와 상기 저장된 어드레스를 비교하여 일치하는 경우, 해당 제 1 프로세서 유닛에 대한 버스 사이클을 발생하고 폴링 주기의 카운팅을 수행하는 단계와,
    상기 폴링 주기 동안 상기 발생한 버스 사이클에 따라 해당 제 1 프로세서 유닛을 폴링하여 해당 데이터를 리드하고 리드한 데이터를 레지스터에 저장하는 단계와,
    상기 제 2 프로세서 유닛으로부터 데이터의 요청이 있는 경우 레지스터에 저장된 데이터를 제2 프로세서 유닛으로 제공하는 단계를 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 방법.
  8. 제 7항에 있어서,
    상기 발생된 버스 사이클이 정상인지 비정상인지 모니터링하여 그 모니터링 결과를 상기 레지스터에 저장하는 단계를 더 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 장치.
  9. 제 8항에 있어서,
    상기 레지스터에 저장된 모니터링 결과가 정상적인 경우, 상기 레지스터에 저장된 해당 제 1 프로세서 유닛의 데이터를 제2 프로세서 유닛으로 제공하는 단계를 더 포함하는 이종 프로세서 유닛을 위한 버스 인터페이스 방법.
KR1020040056959A 2004-07-21 2004-07-21 이종 프로세서 유닛을 위한 버스 인터페이스 장치 그인터페이스 방법 KR100612327B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040056959A KR100612327B1 (ko) 2004-07-21 2004-07-21 이종 프로세서 유닛을 위한 버스 인터페이스 장치 그인터페이스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040056959A KR100612327B1 (ko) 2004-07-21 2004-07-21 이종 프로세서 유닛을 위한 버스 인터페이스 장치 그인터페이스 방법

Publications (2)

Publication Number Publication Date
KR20060007728A KR20060007728A (ko) 2006-01-26
KR100612327B1 true KR100612327B1 (ko) 2006-08-16

Family

ID=37118928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040056959A KR100612327B1 (ko) 2004-07-21 2004-07-21 이종 프로세서 유닛을 위한 버스 인터페이스 장치 그인터페이스 방법

Country Status (1)

Country Link
KR (1) KR100612327B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101120749B1 (ko) * 2010-04-16 2012-03-20 강세진 다수의 이종 씨피유/디에스피 버스 정합 시스템
EP4119342A4 (en) 2020-03-11 2024-04-10 Dai Nippon Printing Co., Ltd. DECORATIVE FILM AND DECORATIVE PLATE

Also Published As

Publication number Publication date
KR20060007728A (ko) 2006-01-26

Similar Documents

Publication Publication Date Title
US6282643B1 (en) Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
US8327192B2 (en) Method for memory integrity
US5680556A (en) Computer system and method of operation thereof wherein a BIOS ROM can be selectively locatable on diffeent buses
US6772237B2 (en) Host controller interface descriptor fetching unit
JP4579547B2 (ja) 優れたセキュリティのためのセキュリティデバイスの直接接続により埋め込まれたプロセッサ
JPH0863340A (ja) ネットワークにおけるシステムのコンフィギュレーション情報の通信方法及び装置
US7194665B2 (en) ASF state determination using chipset-resident watchdog timer
US6857041B2 (en) Method and apparatus providing an interface to allow physical memory to be initialized using firmware/hardware methods
US7058563B1 (en) Device driver auto-load
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
WO2014206078A1 (zh) 内存访问方法、装置及系统
US6892332B1 (en) Hardware interlock mechanism using a watchdog timer
US20030097512A1 (en) USB-HUB device and its control method
KR100612327B1 (ko) 이종 프로세서 유닛을 위한 버스 인터페이스 장치 그인터페이스 방법
US20060023242A1 (en) Electronic apparatus, information processing system and method of controlling said apparatus
CN115454896A (zh) 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质
JPH1091471A (ja) 集積化デジタル処理装置及びその動作試験方法
US20030088808A1 (en) Design verification
JPH06139135A (ja) 共有メモリの非同期アクセス方式
US6938078B1 (en) Data processing apparatus and data processing method
JP3501131B2 (ja) 制御装置
CN118170699B (zh) 数据传输方法、设备及存储介质、数据采集系统
JP3501129B2 (ja) 制御装置
CN116089344A (zh) 串口接入装置、方法及可读存储介质
JP2555886B2 (ja) メモリアクセス制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee