KR20030057626A - 고속프로세서와 디바이스간 통신 장치 및 그 방법 - Google Patents

고속프로세서와 디바이스간 통신 장치 및 그 방법 Download PDF

Info

Publication number
KR20030057626A
KR20030057626A KR1020010087699A KR20010087699A KR20030057626A KR 20030057626 A KR20030057626 A KR 20030057626A KR 1020010087699 A KR1020010087699 A KR 1020010087699A KR 20010087699 A KR20010087699 A KR 20010087699A KR 20030057626 A KR20030057626 A KR 20030057626A
Authority
KR
South Korea
Prior art keywords
clock
cpu
response signal
processor
self
Prior art date
Application number
KR1020010087699A
Other languages
English (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 KR1020010087699A priority Critical patent/KR20030057626A/ko
Publication of KR20030057626A publication Critical patent/KR20030057626A/ko

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 고속 클럭에 동기되어 동작하는 프로세서와 저속 자체 동기 디바이스간 또는 저속/고속 비동기 디바이스간 데이터 전송에 적당하도록 한 고속프로세서와 디바이스간 통신 장치 및 그 방법을 제공하기 위한 것으로, 이러한 장치는, 고속 클럭이 동기되어 인스트럭션을 처리하기 위한 프로세싱 수단과; 프로세서의 인스트럭션 처리시 요청을 받아 해당 요청을 처리한 후 응답 신호를 발생시키기 위한 디바이스부와; 디바이스부에 의해 발생된 응답 신호를 프로세싱 수단의 동기 클럭에 맞춰 해당 프로세싱 수단으로 전달하기 위한 응답 신호 제어수단을 포함하여 이루어지며, 고속 클럭에 동기된 프로세서와 저속 클럭에 동기된 자체 동기 디바이스간 통신이나 고속 클럭에 동기된 프로세서와 저속 또는 고속의 비동기 디바이스간의 통신이 원활히 이루어지도록 할 수 있게 된다.

Description

고속프로세서와 디바이스간 통신 장치 및 그 방법 {Apparatus and method for communication between device and high-speed processor}
본 발명은 고속프로세서와 디바이스간 통신에 관한 것으로, 보다 상세하게는고속 클럭에 동기되어 동작하는 프로세서와 저속 자체 동기 디바이스간 또는 저속/고속 비동기 디바이스간 데이터 전송에 적당하도록 한 고속프로세서와 디바이스간 통신 장치 및 그 방법에 관한 것이다.
일반적으로 모듈화된 프로세서인 CPU(Central Processing Unit)는 시스템 전체의 제어 및 모든 연산을 수행하도록 되어 있어, 기억, 연산, 전달, 제어 기능 등을 실현하며, 제어장치와 논리연산장치로 구성된다. 제어장치는 기억장치에 기억된 명령을 읽어 해독한 후 각 디바이스에 제어신호를 보냄으로써 각 장치들이 동작하도록 해주는 것으로, 디바이스 동작 도중 오류가 발생하면 중단시킨 후 오류 복구 후 다시 동작할 수 있게 한다.
도1은 종래기술에 따른 프로세서와 디바이스간 데이터 전송 흐름을 보인 블록도이다.
도1에 따르면, CPU(110)는 클럭을 받아 이에 동기되어 동작하면서 클럭에 동기되지 않는 비동기 디바이스(120)와 데이터 교환을 수행하게 된다. 비동기 디바이스(120)에는 메모리 등이 포함된다.
CPU(110)는 어드레스 버스를 통해 비동기 디바이스(120)의 어드레스를 지정하게 된다. 메모리의 경우, 어드레스 신호와 함께 쓰기 신호가 발신되면 CPU(110)에 의해 전송되는 데이터가 데이터 버스를 통해 전달되어져 메모리의 해당 어드레스 영역에 기록되며, 어드레스 신호와 함께 읽기 신호가 발신된다면 메모리의 해당 어드레스 영역에서 읽혀진 데이터가 데이터 버스선을 통해 CPU(110)로 전달된다.
이때 CPU(110)와 비동기 디바이스(120)간에는 동기되어 있지 않으므로,CPU(110)가 자신이 발신한 신호 또는 요청된 데이터의 처리 동작의 수행 결과를 알아야 할 것이 요구된다. 그래서 CPU(110)로부터 신호 또는 데이터 전송이 이루어지는 경우에는 비동기 디바이스(120)가 이에 대한 응답(ACK) 신호를 발생시키게 된다.
CPU(110)는 응답(ACK) 신호가 있을 때에는 해당 비동기 디바이스(120)에 대한 자신의 신호 전송 또는 데이터 전송이 정상적으로 이루어진 것으로 판정하고 이후의 처리 동작을 수행하게 되며, 반면에 응답(ACK) 신호가 없을 때에는 자신이 전송한 신호 또는 데이터가 해당 비동기 디바이스(120)에 의해 정상적으로 처리되지 않은 것으로 판정하여 적정한 오류 정정 절차 또는 재전송을 수행하게 된다.
그런데 비동기 외부 디바이스를 비동기 모드로 동작하는 저속 CPU(보통 50MHz 이하)에 연결하는 방법을 파워 PC나 펜티엄급 고속의 클럭에 동기되어 동작하는 CPU와 디바이스간의 데이터 전송에 적용하게 되면, 해당 디바이스가 CPU로부터 데이터를 받고 이에 대한 응답(ACK) 신호를 주지 못하게 된다. 이는 고속 프로세서와 저속 프로세서간에 디바이스와 데이터를 교환하는 방식이 다르기 때문이다.
따라서 종래기술에 따르면, 고속 클럭에 동기되어 동작하는 프로세서와 저속 자체 동기 디바이스간 또는 저속/고속 비동기 디바이스간 데이터 전송시 응답(ACK) 신호를 받지 못하여 프로세서와 디바이스간 데이터 전송의 신뢰성이 저하되는 문제점이 있다.
본 발명은 상기와 같은 종래의 문제점을 해소하기 위해 창출된 것으로, 본발명의 목적은 고속 클럭에 동기되어 동작하는 프로세서와 저속 자체 동기 디바이스간 또는 저속/고속 비동기 디바이스간 데이터 전송에 적당하도록 한 고속프로세서와 디바이스간 통신 장치 및 그 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 고속프로세서와 디바이스간 통신 장치는, 고속 클럭이 동기되어 인스트럭션을 처리하기 위한 프로세싱 수단과; 상기 프로세서의 인스트럭션 처리시 요청을 받아 해당 요청을 처리한 후 응답 신호를 발생시키기 위한 디바이스부와; 상기 디바이스부에 의해 발생된 상기 응답 신호를 상기 프로세싱 수단의 동기 클럭에 맞춰 해당 프로세싱 수단으로 전달하기 위한 응답 신호 제어수단을 포함하는 것을 그 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 고속프로세서와 디바이스간 통신 방법은, 프로세싱 수단이 자신의 동기 클럭의 설정된 위상에서 인스트럭션을 수행하면서 디바이스부에 요청을 발신하는 단계와; 상기 디바이스부가 해당 요청을 처리하여 응답 신호를 발생시키는 단계와; 상기 응답 신호가 상기 프로세싱 수단의 상기 설정된 위상에 맞춰 상기 프로세싱 수단으로 전달되어지는 단계를 포함하는 것을 그 특징으로 한다.
도1은 종래기술에 따른 프로세서와 디바이스간 데이터 전송 흐름을 보인 블록도.
도2는 본 발명의 제1 실시예에 따른 고속프로세서와 디바이스간 통신 장치의 블록도.
도3은 본 발명의 제1 실시예에 따른 고속프로세서와 디바이스간 통신 방법의 순서도.
도4는 본 발명의 제2 실시예에 따른 고속프로세서와 디바이스간 통신 장치의 블록도.
* 도면의 주요 부분에 대한 부호의 설명 *
210, 410 : CPU220 : 저속 자체 동기 디바이스
230, 430 : 로직 디바이스420 : 비동기 디바이스
이하, 첨부도면을 참조하여 본 발명에 따른 바람직한 실시예를 설명한다.
도2는 본 발명의 제1 실시예에 따른 고속프로세서와 디바이스간 통신 장치의 블록도이며, 도3은 본 발명의 제1 실시예에 따른 고속프로세서와 디바이스간 통신 방법의 순서도이고, 도4는 본 발명의 제2 실시예에 따른 고속프로세서와 디바이스간 통신 장치의 블록도이다.
고속의 클럭에 동기되어 동작하는 CPU는 CPU의 종류마다 다르기는 하지만 항상 라이징 에지(Rising Edge)에서 또는 폴링 에지(Falling Edge)에서 계속 응답 신호를 검사하게 된다. 그래서 응답 신호가 표명(Assert) 되면 이때 해당 태스크에서 해당 디바이스와의 데이터 교환 동작을 종료하게 된다.
만약 현재 수행중인 CPU에 대한 응답 신호가 CPU 클럭의 1클럭 이상 표명되어 있으면, 현재 수행중인 인스트럭션(Instruction)에 대한 종료와 동시에 CPU는 다음 인스트럭션 시작하게 되고 동시에 라이징 에지 또는 폴링 에지에서 계속 응답 신호를 검사하게 되는데, 이때 응답 신호가 계속 표명되어 있으므로 해당 인스트럭션이 즉시 종료되어 원하는 결과값을 얻지 못하게 된다.
따라서 CPU 클럭과 동기가 맞지 않고 아무때나 응답 신호를 표명하는 경우에는 CPU에 맞게 라이징 에지 또는 폴링 에지에서 표명시켜야 하고, 다음 라이징 에지 또는 폴링 에지에서 표명을 중단하여만 한다. 이로써 클럭에 동기된 CPU와 디바이스간에 정확한 통신이 가능하게 된다.
이러한 동작을 수행하기 위해서는 로직 디바이스를 이용하여 외부 디바이스로부터 응답 신호를 받아 클럭 동기 CPU에게 해당 응답을 전달해 주는 로직을 구현할 필요가 있다. 이에 다음과 같은 실시예들이 구현된다.
제1 실시예는 파워 PC나 펜티엄급에 사용되는 고속 클럭에 동기되어 동작하는 프로세서와, 이 프로세서 보다 낮은 속도로 비동기로 동작하지만 자체 클럭에 동기되어 동작하는 외부 디바이스간의 데이터 전송 방법을 실현한다.
그리고 제2 실시예는 고속 클럭에 동기되어 동작하는 프로세서와, 메모리 등과 같이 비동기로 동작하는 외부 디바이스간의 데이터 전송 방법을 실현한다.
우선, 제1 실시예를 설명한다.
도2에 따르면, CPU(210)는 고속 클럭에 동기되어 동작하고 어드레스 버스와 데이터 버스를 통해 저속 자체 동기 디바이스(220)와 통신하게 된다. 저속 자체 동기 디바이스(220)는 저속의 동기 클럭에 따라 자체 동기되어 있다. 여기서의 자체 동기란 CPU(210)의 동기 클럭과 디바이스(220)의 동기 클럭이 독립적임을 의미한다.
그리고 저속 자체 동기 디바이스(220)의 응답(ACK) 신호는 로직 디바이스(230)를 거쳐 CPU(210)로 전달된다. 로직 디바이스(230)는 저속 자체 동기 디바이스(220)에서 발생된 응답(ACK) 신호를 CPU(210)의 설정된 바에 따라 라이징 에지 또는 폴링 에지에 맞춰 CPU(210)로 전달하게 된다. 이로써 응답(ACK) 신호는 CPU(210) 인스트럭션의 적정한 타이밍에 발생하여 1클럭 이상 표명되지 않게 된다.
따라서 CPU(210)는 자신이 동기되는 고속 클럭에 맞춰 저속 자체 동기 디바이스(220)와 통신할 수 있게 되며, 응답(ACK) 신호가 다음 번 인스트럭션의 수행시까지 계속 표명되지 않게 되어 해당 인스트럭션의 수행없이 즉시 종료되는 현상을 방지할 수 있게 되는 것이다.
이하, CPU(210)는 고속 동기 클럭의 라이징 에지에서 인스트럭션을 수행하는 것으로 가정한다.
계속해서 도3을 참조하여 로직 디바이스(230)의 응답(ACK) 신호 처리 과정을구체적으로 설명한다.
CPU(210)가 동기 클럭의 라이징 에지에서 인스트럭션의 수행을 개시한다(S31).
저속 자체 동기 디바이스(220)와의 통신이 필요한 경우에 어드레스 버스와 데이터 버스를 통해 해당 저속 자체 동기 디바이스(220)로 요청을 발신하고 응답(ACK) 신호를 대기한다(S32).
저속 자체 동기 디바이스(220)가 CPU(210)에 의해 요청된 동작을 수행하고 그에 대한 응답(ACK) 신호를 발생시켜 응답(ACK) 신호선을 통해 송신한다(S33).
저속 자체 동기 디바이스(220)에 의해 송신된 응답(ACK) 신호는 로직 디바이스(230)에 의해 처리된다.
즉, 응답(ACK) 신호는 로직 디바이스(230)에 의해 CPU(210)의 동기 클럭이 라이징 에지일 때 CPU(210)에게 전달되어진다. 이때 저속 자체 동기 디바이스(220)는 해당 응답(ACK) 신호를 계속 표명하는 상태에 있게 된다(S34~S35).
CPU(210)는 응답(ACK) 신호를 확인하여 자신의 요청이 저속 자체 동기 디바이스(220)에 의해 정상적으로 수행된 것으로 판단하고 해당 인스트럭션 처리를 종료한다(S36).
다음에는 제2 실시예를 설명한다. 이는 고속 클럭에 동기된 CPU가 저속 또는 고속 비동기 디바이스와 통신하는 경우에 해당한다.
도4에 따르면, CPU(410)는 제1 실시예에서와 같이 고속 클럭에 동기되어 동작하고 어드레스 버스와 데이터 버스를 통해 저속/고속 비동기 디바이스(420)와 통신하게 된다. 비동기 디바이스(420)는 클럭에 동기되어 있지 않다.
비동기 디바이스(420)의 응답(ACK) 신호는 로직 디바이스(430)를 거쳐 CPU(410)로 전달된다. 로직 디바이스(430)는 비동기 디바이스(420)에서 발생된 응답(ACK) 신호를 CPU(410)의 설정된 바에 따라 라이징 에지 또는 폴링 에지에 맞춰 CPU(410)로 전달하게 된다. 그러므로 응답(ACK) 신호는 CPU(410) 인스트럭션의 적정한 타이밍에 발생하여 CPU(410)측에서 볼때 1클럭 이상 표명되지 않게 된다.
CPU(410)는 자신이 동기되는 고속 클럭에 맞춰 비동기 디바이스(420)와 통신할 수 있게 되며, 응답(ACK) 신호가 다음 번 인스트럭션의 수행시까지 계속 표명되는 현상은 발생되지 않게 되어 다음번 인스트럭션의 수행없이 즉시 종료되는 현상을 방지할 수 있게 된다.
이어서 비동기 디바이스(420)에서 발생된 응답(ACK) 신호를 로직 디바이스(430)가 처리하는 과정을 설명한다. 여기서도 CPU(410)는 동기 클럭의 라이징 에지에서 인스트럭션을 수행하는 것으로 가정하며, 제1 실시예의 경우와 같이 도3의 흐름에 따른다.
즉, CPU(410)가 동기 클럭의 라이징 에지에서 인스트럭션의 수행을 개시한다(S31).
비동기 디바이스(420)와의 통신이 필요한 경우에 어드레스 버스와 데이터 버스를 통해 해당 비동기 디바이스(420)와 통신하고 응답(ACK) 신호를 대기한다(S32).
비동기 디바이스(420)가 CPU(410)에 의해 요청된 동작을 수행하고 그에 대한응답(ACK) 신호를 발생시켜 응답(ACK) 신호선을 통해 송신한다(S33).
비동기 디바이스(420)에 의해 송신된 응답(ACK) 신호는 로직 디바이스(430)에 의해 처리된다.
즉, 응답(ACK) 신호는 로직 디바이스(430)에 의해 CPU(410)의 동기 클럭이 라이징 에지일 때 CPU(410)에게 전달되어진다. 이 경우에도 비동기 디바이스(420)는 해당 응답(ACK) 신호를 계속 표명하는 상태에 있게 된다(S34~S35).
CPU(410)는 응답(ACK) 신호를 확인하여 자신의 요청이 해당 비동기 디바이스(420)에 의해 정상적으로 수행된 것으로 판단하고 그 인스트럭션 처리를 종료한다(S36).
이상 설명한 실시예는 본 발명의 다양한 변화, 변경 및 균등물의 범위에 속한다. 따라서 실시예에 대한 기재내용으로 본 발명이 한정되지 않는다.
본 발명의 고속프로세서와 디바이스간 통신 장치 및 그 방법에 따르면, 고속 클럭에 동기된 프로세서와 저속 클럭에 동기된 자체 동기 디바이스간 통신이나 고속 클럭에 동기된 프로세서와 저속 또는 고속의 비동기 디바이스(420)간의 통신이 원활히 이루어지도록 할 수 있게 된다.

Claims (5)

  1. 고속 클럭이 동기되어 인스트럭션을 처리하기 위한 프로세싱 수단과;
    상기 프로세서의 인스트럭션 처리시 요청을 받아 해당 요청을 처리한 후 응답 신호를 발생시키기 위한 디바이스부와;
    상기 디바이스부에 의해 발생된 상기 응답 신호를 상기 프로세싱 수단의 동기 클럭에 맞춰 해당 프로세싱 수단으로 전달하기 위한 응답 신호 제어수단을 포함하는 것을 특징으로 하는 고속프로세서와 디바이스간 통신 장치.
  2. 제 1항에 있어서,
    상기 디바이스부는 저속 자체 클럭에 동기되어 동작하는 자체 동기 디바이스인 것을 특징으로 하는 고속프로세서와 디바이스간 통신 장치.
  3. 제 1항에 있어서,
    상기 디바이스부는 클럭에 동기되지 않은 비동기 디바이스인 것을 특징으로 하는 고속프로세서와 디바이스간 통신 장치.
  4. 프로세싱 수단이 자신의 동기 클럭의 설정된 위상에서 인스트럭션을 수행하면서 디바이스부에 요청을 발신하는 단계와;
    상기 디바이스부가 해당 요청을 처리하여 응답 신호를 발생시키는 단계와;
    상기 응답 신호가 상기 프로세싱 수단의 상기 설정된 위상에 맞춰 상기 프로세싱 수단으로 전달되어지는 단계를 포함하는 것을 특징으로 하는 고속프로세서와 디바이스간 통신 방법.
  5. 제 4항에 있어서,
    응답 신호 제어수단이 상기 디바이스부에 의해 발생된 상기 응답 신호를 상기 프로세싱 수단의 설정된 바에 따라 해당 동기 클럭의 라이징 에지 또는 폴링 에지에서 상기 응답 신호를 표명하도록 된 것을 특징으로 하는 고속프로세서와 디바이스간 통신 방법.
KR1020010087699A 2001-12-29 2001-12-29 고속프로세서와 디바이스간 통신 장치 및 그 방법 KR20030057626A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010087699A KR20030057626A (ko) 2001-12-29 2001-12-29 고속프로세서와 디바이스간 통신 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010087699A KR20030057626A (ko) 2001-12-29 2001-12-29 고속프로세서와 디바이스간 통신 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20030057626A true KR20030057626A (ko) 2003-07-07

Family

ID=32215399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010087699A KR20030057626A (ko) 2001-12-29 2001-12-29 고속프로세서와 디바이스간 통신 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20030057626A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100700895B1 (ko) * 2005-11-04 2007-03-28 양혜경 자동차용 테일램프 커버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100700895B1 (ko) * 2005-11-04 2007-03-28 양혜경 자동차용 테일램프 커버

Similar Documents

Publication Publication Date Title
US5063494A (en) Programmable data communications controller
JPH02176846A (ja) 非同期装置間で通信を行なうための効率的なプロトコル
GB2488223A (en) Serial peripheral interface with handshake signals
EP2815555B1 (en) Communication bridging between devices via multiple bridge elements
KR20040076730A (ko) 고속의 무선 통신에 적합한 하이브리드형 직렬 데이터전송 장치 및 그 방법
US6880026B2 (en) Method and apparatus for implementing chip-to-chip interconnect bus initialization
KR20030057626A (ko) 고속프로세서와 디바이스간 통신 장치 및 그 방법
JP2006304011A (ja) インタフェース回路
KR20010046715A (ko) 광 모듈 정합을 위한 버스 인터페이스 장치 및 그 방법
JP5926583B2 (ja) 情報処理装置、シリアル通信システムおよびそれらの通信初期化の方法、並びにシリアル通信装置
KR20020084725A (ko) 저속 주변장치와의 데이터 전송을 위한 메모리 컨트롤러
WO2009069094A1 (en) Method and device for routing data between components
KR101276837B1 (ko) 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간의 통신을 지원하기 위한 장치
KR0184402B1 (ko) I₂c 버스의 인터럽트 발생 장치
KR19990008189A (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기 시간을 감소시키는 방법 및 장치
JP2001092804A (ja) Eepromインターフェース内蔵マイクロコンピュータ
KR100295683B1 (ko) 인터아이씨의 제너럴콜 어크날리지장치및 방법
EP1242897B1 (en) Method and apparatus for differential strobing in a communications bus
JP5243218B2 (ja) データ伝達方法およびシステム
KR100260538B1 (ko) 중앙처리장치와 주변장치 간의 데이터 전송 방법 및 장치
KR100400933B1 (ko) 키폰시스템의 중앙처리장치와 주변장치간의 동기화장치
JP5921264B2 (ja) シリアル通信システムおよびその通信初期化の方法、並びにシリアル通信装置およびその通信初期化の方法
JPH02252046A (ja) データ転送装置
JPH022443A (ja) Dma制御方式を用いた送受信双方向通信方式
KR20010046914A (ko) 데이터 인터페이스 회로

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination