[go: up one dir, main page]

KR100449721B1 - 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법 - Google Patents

서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법 Download PDF

Info

Publication number
KR100449721B1
KR100449721B1 KR10-2002-0027927A KR20020027927A KR100449721B1 KR 100449721 B1 KR100449721 B1 KR 100449721B1 KR 20020027927 A KR20020027927 A KR 20020027927A KR 100449721 B1 KR100449721 B1 KR 100449721B1
Authority
KR
South Korea
Prior art keywords
data
data bus
bit
response
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR10-2002-0027927A
Other languages
English (en)
Other versions
KR20030089988A (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 KR10-2002-0027927A priority Critical patent/KR100449721B1/ko
Priority to JP2002332440A priority patent/JP2003345737A/ja
Priority to US10/309,108 priority patent/US20030217218A1/en
Publication of KR20030089988A publication Critical patent/KR20030089988A/ko
Application granted granted Critical
Publication of KR100449721B1 publication Critical patent/KR100449721B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

서로 다른 데이터 버스 폭을 갖는 장치들을 위한 인터페이스가 제시된다. 각각이 N비트 데이터 폭을 갖는 다수개의 제1데이터 버스들과 2N비트 데이터 폭을 갖는 제2데이터 버스사이를 인터페이싱하는 인터페이스는 제1선택신호에 응답하여 상기 제1데이터 버스들 중에서 선택된 데이터 버스상의 데이터를 출력하는 제1선택회로; 상응하는 독출 제어신호에 응답하여 상기 선택된 데이터 버스상의 제1 N비트 데이터와 제2 N비트 데이터를 각각 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터로 구성된 2N비트 데이터를 상기 제2데이터 버스로 출력하는 제1변환회로; 및 상응하는 기입 제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 N비트 데이터로 변환하고, 변환된 상기 N비트 데이터를 상기 제1데이터 버스들 중에서 선택된 데이터 버스로 출력하는 제2변환회로를 구비한다. 상기 제1데이터 버스로부터 상기 제2데이터 버스로의 데이터 전송은 DMA에 의하여 수행되고, 상기 제2데이터 버스로부터 상기 제1데이터 버스로의 데이터 전송은 DMA에 의하여 수행된다.

Description

서로 다른 데이터 버스 폭을 갖는 장치들을 위한 인터페이스 및 이를 이용한 데이터 전송방법{Interface for devices having different data bus width and data transfer method using the same}
본 발명은 데이터 프로세싱 시스템에 관한 것으로, 보다 상세하게는 서로 다른 데이터 버스 폭을 갖는 장치들을 위한 인터페이스 및 이를 이용한 데이터 전송방법에 관한 것이다. 특히, 2N비트 데이터 폭을 갖는 호스트 데이터버스와 N비트 데이터 폭을 갖는 주변 데이터버스를 인터페이싱하는 인터페이스 및 이를 이용한 데이터 전송방법에 관한 것이다.
많은 어플리케이션(application)에 있어서, 내장형 마이크로 시스템의 구조와 하드웨어 디자인은 32비트 마이크로 프로세서들과 시스템 버스에 기초한다. IBM, 모트롤러 파워 PC 시리즈들, 인텔 80960, MIPS 32 시리즈들 등은 32 비트 마이크로 프로세서들과 시스템 버스를 사용한다.
대부분의 시스템은 부가적인 로직 없이 32비트 시스템 버스에 접속될 수 있다. 그리고 메모리 서브시스템의 버스 폭(bus width)은 마이크로프로세서의 데이터 버스와 어드레스 버스에 의하여 조정될 수 있다. 32데이터 비트는 다수의 표준화된 로컬 버스들(예컨대 VL-버스(VESA Local bus), PCI(Peripheral Component Interconnect))에서 사용되고 있으며, 내장형 컨트롤러에 있어서 첨단기술로 되고 있다.
그러나 ATA표준(advanced technology attachment standard)은 호스트 시스템과 주변저장장치사이의 인터페이스를 16비트로 결정했다. 이러한 상황에서, 서로 다른 데이터 버스 폭을 갖는 데이터 버스들을 최적으로 인터페이스하기 위한 연구가 계속되고 있다.
예컨대 최적으로 시스템과 주변장치를 인터페이싱하기 위하여 인터페이스로 중간버퍼를 사용할 수 있다. 이 경우 중간버퍼는 서로 다른 버스 폭 때문에 선입선출(first-in first out)메모리를 필요로 한다. 또한, 데이터 전송을 위하여 부가적인 기입 컨트롤러 및 독출 컨트롤러가 필요하다. 따라서 중간버퍼를 사용하는 방법은 FIFO메모리 때문에 내장형 마이크로 시스템의 제조비용이 증가되는 문제점이 있다.
그리고 N비트 데이터 버스 폭을 갖는 주변장치를 2N비트 데이터 버스 폭을 갖는 시스템에 접속시키는 방법으로 시스템 버스 폭을 감소시키는 방법이 있다. 이러한 방법은 내장형 마이크로에게 주변 인터페이스의 최대주파수로 동작하도록 요구하므로, 실시간 내장형 마이크로 시스템의 시스템 버스의 부담은 증가되는 문제가 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 FIFO메모리를 사용하지 않고 서로 다른 데이터 버스 폭을 갖는 장치들을 위한 인터페이스 및 이를 이용한 데이터 전송방법을 제공하는 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시예에 따른 데이터 프로세싱 시스템의 블락도를 나타낸다.
도 2는 본 발명의 실시예에 따른 인터페이스를 나타낸다.
도 3은 도 2에 도시된 아웃바운드 레지스터의 상세한 회로도이다.
도 4는 독출 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다.
도 5는 도 4에 도시된 스테이트 머신에 따른 상태변화를 나타내는 제1실시예이다.
도 6은 도 4에 도시된 스테이트 머신에 따른 상태변화를 나타내는 제2실시예이다.
도 7은 도 4에 도시된 스테이트 머신에 따른 상태변화를 나타내는 제3시예이다.
도 8은 프리페치 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다.
도 9는 기입 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다.
도 10은 전송 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다.
상기 기술적 과제를 달성하기 위한 N(N은 자연수)비트 데이터 폭을 갖는 제1데이터버스와 2N비트 데이터 폭을 갖는 제2데이터 버스사이를 인터페이싱하는 인터페이스는 상응하는 독출 제어신호에 응답하여 상기 제1데이터 버스상의 제1 N비트 데이터와 제2 N비트 데이터를 각각 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터로 구성된 2N비트 데이터를 상기 제2데이터 버스로 전송하는 제1변환회로; 및 상응하는 기입 제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 N비트 데이터로 변환하고 변환된 상기 N비트 데이터를 상기 제1데이터 버스로 전송하는 제2변환회로를 구비한다. 상기 제1데이터 버스로부터 상기 제2데이터 버스로의 데이터 전송은 DMA에 의하여 수행되고, 상기 제2데이터 버스로부터 상기 제1데이터 버스로의 데이터 전송은 DMA에 의하여 수행된다.
그리고, 각각이 N비트 데이터 폭을 갖는 다수개의 제1데이터 버스들과 2N비트 데이터 폭을 갖는 제2데이터 버스사이를 인터페이싱하는 인터페이스는 제1선택신호에 응답하여 상기 제1데이터 버스들 중에서 선택된 데이터 버스상의 데이터를 출력하는 제1선택회로; 상응하는 독출 제어신호에 응답하여 상기 선택된 데이터 버스상의 제1 N비트 데이터와 제2 N비트 데이터를 각각 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터로 구성된 2N비트 데이터를 상기 제2데이터 버스로 출력하는 제1변환회로; 및 상응하는 기입 제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 N비트 데이터로 변환하고, 변환된 상기 N비트 데이터를 상기 제1데이터 버스들 중에서 선택된 데이터 버스로 출력하는 제2변환회로를 구비한다.
상기 제2변환회로는 상기 제2데이터 버스에 접속되고 제1기입제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 래치하는 제1레지스터;제2기입제어신호에 응답하여 상기 제1레지스터의 출력신호를 N비트씩 분할하여 각각 래치하는 제2레지스터; 제2선택신호에 응답하여 상기 제2레지스터에 각각 래치된 N비트 데이터를 선택적으로 출력하는 제2선택회로; 및 제3선택신호에 응답하여 상기 제2선택회로의 출력 데이터를 상기 제1데이터 버스들 중에서 선택된 데이터 버스로 출력하는 제2변환회로를 구비한다.
그리고 N비트 데이터 폭을 갖는 제1데이터버스와 2N비트 데이터 폭을 갖는 제2데이터 버스사이를 인터페이싱하는 인터페이스는 제1독출 제어신호에 응답하여 상기 제1데이터 버스상의 제1 N비트 데이터를 프리페치하고 제2독출 제어신호에 응답하여 상기 제1데이터 버스상의 제2 N비트 데이터를 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터를 결합하여 생성된 2N비트 데이터를 상기 제2데이터 버스로 출력하는 제1변환회로; 및 기입 제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 N비트씩 분리하여 래치하고, 제어신호에 응답하여 래치된 N비트 데이터를 상기 제1데이터 버스로 출력하는 제2변환회로를 구비한다.
본 발명에 따른 인터페이스는 N비트 데이터 폭을 갖는 제1데이터 버스; N비트 데이터 폭을 갖는 제2데이터 버스; 제1선택신호에 응답하여 상기 제1데이터 버스 또는 상기 제2데이터 버스상의 데이터를 선택하는 제1선택회로; 상응하는 독출 제어신호에 응답하여 상기 선택회로의 출력신호를 각각 프리페치하고, 프리페치된 데이터를 결합하여 생성된 2N비트 데이터를 2N비트 데이터 폭을 갖는 제3데이터 버스로 전송하는 제1변환회로; 및 상응하는 기입 제어신호에 응답하여 상기 제3데이터 버스상의 데이터를 N비트 데이터로 분리하고 분리된 N비트 데이터를 상기 제1데이터 버스 또는 상기 제2데이터 버스로 선택적으로 전송하는 제2변환회로를 구비한다.
상기 제2변환회로는 상기 제3데이터 버스에 접속되고 제1기입제어신호에 응답하여 상기 제3데이터 버스상의 2N비트 데이터를 래치하는 제1레지스터; 제2기입제어신호에 응답하여 상기 제1레지스터의 출력신호를 N비트씩 분할하여 각각 래치하는 제2레지스터; 제2선택신호에 응답하여 상기 제2레지스터에 각각 래치된 N비트 데이터를 선택적으로 출력하는 제2선택회로; 및 제3선택신호에 응답하여 상기 제2선택회로의 출력 데이터를 상기 제1데이터 버스 또는 상기 제2데이터 버스로 각각 전송하는 입력버퍼들을 구비한다.
상기 제1데이터버스 또는 상기 제2데이터 버스로부터 상기 제3데이터버스로의 데이터 전송은 DMA에 의하여 수행된다. 상기 제3데이터버스로부터 상기 제1데이터버스 또는 상기 제2데이터 버스로의 데이터 전송은 DMA에 의하여 수행된다.
상기 기술적 과제를 달성하기 위한 N비트 데이터 폭을 갖는 제1데이터 버스 또는 N비트 데이터 폭을 갖는 제2데이터 상의 데이터를 M비트 데이터 폭을 갖는 제3데이터 버스로 전송하는 데이터 전송방법은 선택신호에 응답하여 상기 제1데이터 버스 또는 상기 제2데이터 버스상의 데이터를 출력하는 단계; 및 상응하는 독출 제어신호에 응답하여 상기 선택된 제1 또는 제2데이터 버스상의 제1 N비트 데이터와 제2 N비트 데이터를 각각 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터를 결합하여 생성된 M비트 데이터를 상기 제3데이터 버스로 전송하는 단계를 구비한다. 상기 M은 2N이다.
또한, M비트 데이터 폭을 갖는 제1데이터 버스상의 데이터를 N비트 데이터 폭을 갖는 제2데이터 버스 또는 N비트 데이터 폭을 갖는 제3데이터 버스로 전송하는 데이터 전송방법은 (a) 제1기입제어신호에 응답하여 상기 제1데이터 버스상의 M비트 데이터를 래치하는 단계; (b) 제2기입제어신호에 응답하여 (a)단계에서 래치된 M비트 데이터를 N비트씩 분할하여 각각 래치하고, 선택신호에 응답하여 각각 래치된 N비트 데이터를 선택적으로 출력하는 단계; 및 제어신호에 응답하여 상기 (b)단계에서 출력된 데이터를 상기 제1데이터 버스 또는 상기 제2데이터 버스로 전송하는 단계를 구비한다. 상기 M은 2N인 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예에 따른 데이터 프로세싱 시스템의 블락도를 나타낸다. 도 1의 데이터 프로세싱 시스템은 메인 컨트롤러(10), 인터페이스(20) 및 주변장치들(30, 40)을 구비한다.
본 발명에서는 설명의 편의상 두 개의 주변장치들(30, 40)을 도시하고 설명한다. 그러나 본 발명은 N(N은 자연수)개의 주변장치를 구비하는 데이터 프로세싱 시스템에 적용됨은 당연하다.
그리고 본 발명에 따른 메인 컨트롤러(10)와 주변장치들(30, 40)사이의 데이터 전송은 메모리 직접참조(direct memory access; DMA)로 구현된다. 따라서 이하에서 설명되는 데이터 프로세싱 시스템은 기본적으로 메인 컨트롤러(10) 및 주변장치들(30, 40)로부터 발생되는 DMA신호들에 의하여 제어된다.
주변장치(30)로부터 출력되는 데이터를 메인 컨트롤로(10)로 입력하는 것을 "독출(read)" 또는 "독출 동작(read operation)"이라 하고, 메인 컨트롤로(10)로부터 출력되는 데이터를 주변장치(40)로 입력하는 것을 "기입(write) 또는 "기입 동작(write operation)"이라 한다. 따라서 주변장치(30)는 스캐너(scanner)를 사용하는 것이 바람직하고, 주변장치(40)는 하드디스크(hard disc)와 같은 저장장치를 사용하는 것이 바람직하다. 또한, 기입 동작과 독출 동작은 동시에 이루어 질 수 있다.
메인 컨트롤러(10)는 중앙처리장치(CPU), DMA 컨트롤러 및 메모리를 구비한다. 인터페이스(20)는 메인 컨트롤러(10)로부터 출력되는 DMA확인신호들(dma acknowledge signals; dmack0, dmack1), 기입명령(wr) 및 독출명령(rd)을 수신하고, 주변장치들(30, 40)로부터 출력되는 DMA 요구신호들(pdmarq0, pdmarq1)을 각각 수신한다.
인터페이스(20)는 두 개의 채널들 각각을 통하여 메인 컨트롤러(10)로 DMA요구신호들(dmarq0, dmarq1)을 각각 출력하거나, 제1주변장치(30)로 제1주변장치 DMA확인신호(pdmack0), 기입 스트로브신호(write_strob) 및 독출 스트로브신호 (read_strob)를 출력하고, 제2주변장치(40)로 제2주변장치 DMA확인신호(pdmack1), 기입 스트로브신호(write_strob) 및 독출 스트로브신호(read_strob)를 출력한다.
또한, 인터페이스(20)는 제1주변장치(30)로부터 입력되는 제1주변장치 DMA요구신호(pdmarq0)를 수신하고, 제2주변장치(40)로부터 입력되는 제2주변장치 DMA요구신호(pdmarq1)를 수신한다.
메인 컨트롤러(10)와 인터페이스(20)를 전기적으로 접속하는 호스트 데이터 버스(host data bus; HDB)의 폭은 M(여기서, M은 2N이고, N은 자연수)비트이고, 인터페이스(20)와 주변장치들(30, 40)을 접속하는 주변 데이터버스들(P0DB, P1DB)각각의 폭은 N비트이다. 인터페이스(20)는 양 방향성(bi-directional)이다.
본 발명에서는 설명의 편의상 호스트 데이터 버스(HDB)의 폭은 32비트이고 주변 데이터버스들(P0DB, P1DB)각각의 버스 폭은 16비트라고 가정한다. 예컨대 32비트 데이터는 호스트 데이터 버스(HDB)를 통하여 메인 컨트롤러(10)에서 인터페이스(20)로 전송되거나, 인터페이스(20)로부터 메인 컨트롤러(10)로 전송된다. 또한 16비트 데이터는 각 주변 데이터버스(P0DB, P1DB)를 통하여 인터페이스(20)로부터 각 주변장치(30, 40)로 전송된다.
도 2는 본 발명의 실시예에 따른 인터페이스를 나타낸다. 도 2는 도 1에 도시된 인터페이스(20)를 상세하게 나타낸다. 도 2의 인터페이스(20)는 제1변환회로(210), 제2변환회로(230) 및 제어신호 발생회로(250)를 구비한다.
제1변환회로(210)는 선택회로(215), 인바운드 레지스터(213) 및 출력버퍼 (211)를 구비한다. 제1변환회로(210)는 N비트 데이터를 M비트(M=2N) 데이터로 변환하여 호스트 데이터 버스(HDB)로 전송한다.
선택회로(215)는 멀티플렉서를 사용할 수 있으며, 선택회로(215)는 주변장치1 독출 DMA(265)로부터 출력되는 제1제어신호에 응답하여 제1주변 데이터버스(P0DB)상의 데이터 또는 제2주변 데이터버스(P1DB)상의 데이터를 선택적으로 인바운드 레지스터(213)로 출력한다. 여기서 제1주변 데이터버스(P0DB)상의 데이터 또는 제2주변 데이터버스(P1DB)상의 데이터는 N비트 인 것이 바람직하다.
인바운드 레지스터(213)는 제1독출제어신호(write_low) 및 제2독출제어신호 (write_high)에 응답하여 선택회로(215)의 출력신호(N 비트)를 출력버퍼(211)로 출력한다. 인바운드 레지스터(213)는 N비트 데이터 폭을 가진 레지스터들이 직렬로 결합된 것으로, 선택회로(215)의 출력신호인 N비트 데이터를 수신하고 2N비트 데이터를 출력버퍼(211)로 전송한다.
출력버퍼(211)는 트라이-스테이트 버퍼(tri-state buffer)로서 2N비트의 인바운드 레지스터(213)의 출력신호를 버퍼링하고, 버퍼링된 2N비트의 출력신호를 호스트 데이터버스(HDB)로 전송한다.
제2변환회로(230)는 아웃바운드 레지스터(231), 제1입력버퍼(233) 및 제2입력버퍼(235)를 구비한다. 제2변환회로(230)는 2N비트 데이터를 N비트 데이터로 변환히고 제2주변장치(40)로 출력한다.
도 3은 도 2에 도시된 아웃바운드 레지스터의 상세한 회로도이다. 도 3의 아웃바운드 레지스터(231)는 제1레지스터(2311), 제2레지스터(2313) 및 선택회로 (2315)를 구비한다.
제1레지스터(2311)는 기입 컨트롤러(269)로부터 출력되는 제1기입제어신호 (write_obr0)에 응답하여 2N(예컨대 32비트)비트 데이터를 래치하고, 제2레지스터(2313)는 전송 컨트롤러(271)로부터 출력되는 제2기입제어신호 (write_obr1)에 응답하여 제1레지스터(2311)의 출력신호를 래치하고 선택회로 (2315)로 출력한다.
선택회로(2315)는 선택신호(SEL)에 응답하여 제2레지스터(2313)의 출력신호에서 상위 N비트(예컨대 16비트) 또는 하위 N비트(예컨대 16비트)를 도 2의 제1입력버퍼(233) 및 제2입력버퍼(235)로 출력한다. 따라서 아웃바운드 레지스터(231)는 기입제어신호들(write_obr0, write_obr1)에 응답하여 메인 컨트롤러(10)로부터 출력되는 2N비트(예컨대 32비트) 데이터를 N비트(예컨대 16비트) 데이터로 변환하여 제1입력버퍼(233) 및 제2입력버퍼(235)로 출력한다.
제1입력버퍼(233) 및 제2입력버퍼(235)는 트라이-스테이트 버퍼(tri-state buffer)로 구현될 수 있다. 제1입력버퍼(233)는 주변장치0 기입 DMA(259)로부터 출력되는 제4제어신호에 응답하여 아웃바운드 레지스터(231)의 출력신호를 버퍼링하고 버퍼링된 출력신호를 제1주변 데이터버스(P0DB)로 전송한다.
또한, 제2입력버퍼(235)는 주변장치1 기입 DMA(261)로부터 출력되는 제3제어신호에 응답하여 아웃바운드 레지스터(231)의 출력신호를 버퍼링하고 버퍼링된 출력신호를 제2주변 데이터버스(P1DB)로 전송한다.
제어신호 발생회로(250)는 독출 컨트롤러(251), 프리페치 컨트롤러(253), 명령 레지스터(257), 기입 컨트롤러(269), 전송 컨트롤러(271) 및 두 개의 로직 게이트들(255, 267)을 구비한다. 독출 컨트롤러(251)는 메인 컨트롤러(10)로부터 입력되는 독출명령(rd) 및 프리페치 컨트롤러(253)로부터 입력되는 데이터 준비신호 (data_rdy)에 응답하여 데이터 독출 요구신호(data_valid)를 프리페치 컨트롤러 (253)로 출력한다.
독출 컨트롤러(251)는 프리페치 컨트롤러(253)의 동작을 제어하여 제1주변장치(30)로부터 출력되는 데이터의 독출을 제어한다.
프리페치 컨트롤러(253)는 명령 레지스터(257)로부터 입력되는 프리페치 인에이블신호(pf_ena)와 독출 컨트롤러(251)로부터 입력되는 데이터 독출 요구신호 (data_valid)에 응답하여 독출 제어신호들(write_low, write_high)을 인바운드 레지스터(213)로 출력한다. 또한, 프리페치 컨트롤러(253)는 데이터 독출 요구신호 (data_valid)에 응답하여 제1주변장치 DMA요구신호(dmarq0)를 메인 컨트롤러(10)로 출력하고 비활성화된 데이터 준비신호(/data_rdy)를 독출 컨트롤러(251)로 출력한다.
명령 레지스터(257)는 4개의 명령 DMA들(259, 261, 263, 265)을 구비한다. 예컨대 제1주변장치(30)가 스캐너이고 제2주변장치(40)가 하드디스크인 경우, 주변장치0 기입 DMA(259)는 비활성화 명령신호를 제1입력버퍼(233)는 출력하고 주변장치1 기입 DMA(261)은 활성화된 명령신호를 제2입력버퍼(235)로 출력할 수 있다. 따라서 제2입력버퍼(235)는 아웃바운드 레지스터(231)의 출력신호를 제2주변 데이터버스(P1DB)로 전송할 수 있다.
그리고 주변장치0 독출 DMA(263)은 활성화된 명령신호를 로직 게이트(255)로 출력하고, 주변장치1 독출 DMA(265)은 비활성화된 명령신호를 로직 게이트 (255)와 선택회로(215)로 출력한다. 따라서 선택회로(215)는 제1주변장치(30)로부터 입력되는 데이터를 인바운드 레지스터(213)로 출력한다.
기입 컨트롤러(269)는 기입명령(wr), 분주신호(busy) 및 기입 인에이블신호 (wr_ena)에 응답하여 기입요구신호(wr_req)를 전송 컨트롤러(271)로 출력하고 제1기입제어신호(write_obr0)를 아웃바운드 레지스터(231)로 출력한다.
전송 컨트롤러(271)는 기입요구신호(wr_req) 및 제2주변장치 DMA 요구신호 (pdmarq1)에 응답하여 분주신호(busy)를 기입컨트롤러(269)로 출력하고, 제2기입제어신호(write_obr1)를 아웃바운드 레지스터(231)로 출력하고 기입스트로브신호 (write_strob)와 제2주변장치 DMA 확인신호(pdmack1)를 제2주변장치(40)로 출력한다. 전송 컨트롤러(271)는 기입요구신호(wr_req) 및 제2주변장치 DMA 요구신호 (pdmarq1)에 응답하여 아웃바운드 레지스터(231)의 출력신호를 제2주변장치(40)로 출력한다.
로직 게이트(255)는 주변장치0 독출 DMA(263)와 주변장치1 독출 DMA(265)의 출력신호들에 응답하여 프리페치 인에이블신호(pf_ena)를 프리페치 컨트롤러 (253)로 출력한다. 로직 게이트(255)는 논리합 게이트로 구현될 수 있다.
로직 게이트(267)는 주변장치0 기입 DMA(259)와 주변장치1 기입 DMA(261)의 출력신호들에 응답하여 기입 인에이블신호(wr_ena)를 기입 컨트롤러(269)로 출력한다. 로직 게이트(267)는 논리합 게이트로 구현될 수 있다.
따라서 기입동작은 기입 컨트롤러(269)와 전송 컨트롤러(271)에 의하여 제어되고 독출 동작은 독출 컨트롤러(251)와 프리페치 컨트롤러(253)에 의하여 제어된다.
도 4는 독출 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다. 도 4를 참조하면, 독출 컨트롤러(251)는 다음과 같은 상태들을 갖는다. 우선 INV는 데이터 무효 상태(data invalid state)를 나타내고 INV는 독출 컨트롤러(251)의 초기상태를 나타낸다. INV는 독출 싸이클이 완료된 후에 발생한다.
VAL은 데이터 유효 상태(data valid state)를 나타내고, VAL은 프리페치 컨트롤러(253)가 주변데이터 버스들(P0DB, P1DB)상의 데이터를 각각 읽고 데이터 독출 준비신호(data_rdy)를 독출 컨트롤러(251)로 출력한 후에 발생된다.
RDI는 데이터 무효 독출 상태를 나타내고, RDI는 데이터 독출 준비신호(data_rdy)가 활성화되기 전에 기입 인에이블신호(rd)가 활성화되는 경우 발생된다. RDV는 데이터 유효 독출 상태를 나타내고, RDV는 VAL상태에서 기입명령(rd)이 활성화되는 경우 발생된다. ERR는 에러(error)를 나타내고, 기입명령(rd)이 데이터 독출 동작중에 무효로 되는 경우 ERR는 발생한다.
도 5는 도 4에 도시된 스테이트 머신에 따른 상태변화를 나타내는 제1실시예이다. 도 4 및 도 5를 참조하면, INV에서 기입명령(rd) 및 데이터 독출 준비신호(data_rdy)는 비활성화된다. 도 4 및 도 5는 하강에지에서 기입명령(rd) 및 데이터 독출 준비신호(data_rdy)가 활성화되는 액티브 로우(active low)를 사용한다. 그러나 본 발명은 상승에지에서 기입명령(rd) 및 데이터 독출 준비신호(data_rdy)가 활성화되는 액티브 하이(active high)에도 적용됨은 당연하다.
우선 기입명령(rd) 및 데이터 독출 준비신호(data_rdy)가 비활성화(예컨대 논리 '하이')인 경우, 독출 컨트롤러(251)는 INV상태를 유지한다. 그러나 기입명령(rd)이 '로우'로 천이하는 경우, 독출 컨트롤러(251)는 INV상태에서 RDI상태로 천이한다. 그리고 데이터 독출 준비신호(data_rdy)가 '로우'로 천이하는 경우 독출 컨트롤러(251)는 RDI상태에서 RDV상태로 천이한다. 그리고 기입명령(rd)이 '하이'로 천이하는 경우 독출 컨트롤러(251)는 RDV상태에서 INV상태로 천이한다.
도 6은 도 4에 도시된 스테이트 머신에 따른 상태변화를 나타내는 제2실시예이다. 도 4 및 도 6을 참조하면, 독출 컨트롤러(251)는 기입명령(rd) 및 데이터 독출 준비신호(data_rdy)가 비활성화인 경우 INV를 유지하고, 기입명령(rd)이 '로우'로 천이하는 경우, 독출 컨트롤러(251)는 INV상태에서 RDI상태로 천이한다.
그리고 기입명령(rd)이 '하이'로 천이하는 경우, 독출 컨트롤러(251)는 RDI상태에서 ERR상태로 천이한다. 따라서 독출 컨트롤러(251)는 에러신호(error_in)을 출력한다. 에러가 발생된 후에 데이터 독출 준비신호(data_rdy)가 '로우'로 천이하는 경우 독출 컨트롤러(251)는 ERR상태에서 INV상태로 천이한다.
도 7은 도 4에 도시된 스테이트 머신에 따른 상태변화를 나타내는 제3시예이다. 도 4 및 도 7을 참조하면, 초기에 독출 컨트롤러(251)의 상태는 INV상태이다 .데이터 독출 준비신호(data_rdy)가 '로우'로 천이하는 경우, 독출 컨트롤러(251)는 INV상태에서 VAL상태로 천이한다. 계속하여 기입명령(rd)이 '로우'로 천이하는 경우 독출 컨트롤러(251)는 VAL상태에서 RDV상태로 천이하고, 기입명령(rd) 및 데이터 독출 준비신호(data_rdy)가 '하이'로 천이하는 경우 독출 컨트롤러(251)는 RDV상태에서 INV상태로 천이한다.
도 8은 프리페치 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다. 도 8을 참조하면, 프리페치 컨트롤러(253)는 다음과 같은 상태들을 갖는다.
IDLE는 프리페치 컨트롤러(253)의 유휴상태를(idle state)나타내고, IDLE는 어떠한 명령도 존재하지 않는 프리페치 컨트롤러(253)의 초기상태를 나타낸다. ACKN은 프리페치 컨트롤러(253)의 확인상태(acknowledge state)를 나타낸다. 프리페치 컨트롤러(253)는 프리페치 인에이블신호(pf_ena)에 응답하여 IDLE상태에서 ACKN상태로 천이하고 비활성화된 제1주변장치 DMA 확인신호(/pdmack0)를 출력한다.
WRQ는 대기상태를 나타내고, WRQ에서 프리페치 컨트롤러(253)는 제1주변장치(30)로부터 입력되는 제1주변장치 DMA요구신호(pmdarq0)를 기다린다. PF1은 제1프리페치 상태를 나타내고, PF1상태에서 프리페치 컨트롤러(253)는 제1데이터 워드(예컨대 16비트)를 제1주변장치(30)로부터 프리페치한다. WR1은 제1기입상태를 나타내고 , WR1상태에서 프리페치 컨트롤러(253)는 프리페치된 제1데이터 워드를 인바운트 레지스터(312)로 기입한다.
DL은 지연상태를 나타내고, PF2는 제2프리페치상태를 나타내고 PF2상태에서 프리페치 컨트롤러(253)는 제2데이터 워드(예컨대 16비트)를 주변장치(30)로부터 프리페치한다. WR2은 제2기입상태를 나타내고 WR2에서 프리페치 컨트롤러(253)는 프리페치된 제2데이터 워드를 인바운트 레지스터(312)로 기입한다.
초기에 프리페치 컨트롤러(253)는 IDLE상태를 유지한다. IDLE상태에서 프리페치 컨트롤러(253)는 명령레지스터(257)로부터 출력되는 프리페치 인에이블 신호(pf_ena)에 응답하여 ACKN상태로 천이한다.
ACKN상태에서 프리페치 컨트롤러(253)는 데이터 독출 요구신호(data_valid)에 응답하여 WRQ상태로 천이하고 비활성화된 데이터 준비신호(/data_rdy)를 독출컨트롤러(251)로 출력하고 DMA요구신호(dmarq0)를 메인 컨트롤러(10)로 출력한다.
WRQ상태에서 프리페치 컨트롤러(253)는 제1주변장치 DMA 요구신호(pdmarq0)에 응답하여 PF1상태로 천이하고 독출 스트로브신호(read_strob) 및 제1주변장치 DMA확인신호(pdmack0)를 제1주변장치(30)로 출력한다. 그리고 프리페치 컨트롤러(253)는 WR1상태로 천이하고 제1독출제어신호(write_low)를 생성하고 인바운드 fp지스터(213)로 출력한다. 따라서 데이터버스(P0DB)상의 N비트 데이터는 인바운드 레지스터(213)의 제1레지스터에 기입된다.
DL상태에서, 프리페치 컨트롤러(253)는 제1주변장치 DMA 요구신호(pdmarq0)에 응답하여 PF2상태로 천이하고 제1DMA 요구신호(dmarq0)를 메인 컨트롤러(10)로 출력하고 데이터 준비신호(data_rdy)를 독출 컨트롤러(251)로 출력한다.
그리고 프리페치 컨트롤러(253)는 WR2상태로 천이하고 제2독출제어신호 (write_high)를 생성하고 인바운드 레지스터(213)로 출력한다. 따라서 데이터버스 (P0DB)상의 N비트 데이터는 인바운드 레지스터(213)의 제2레지스터에 기입된다.
도 9는 기입 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다. 도 9를 참조하면, 기입 컨트롤러(269)의 상태들은 다음과 같다.
NWR은 기입 컨트롤러(269)의 초기상태를 나타낸다. WR은 기입 컨트롤러(269)가 기입동작을 하는 상태를 나타내고, SRV는 기입 컨트롤러(269)의 동작상태를 나타내고, SUS는 기입 컨트롤러(269)의 대기상태를 나타낸다. ERR은 기입 컨트롤러(269)가 에러상태에 있음을 나타내다.
도 10은 전송 컨트롤러의 스테이트 머신의 상태와 천이를 나타낸다. 도 10을 참조하면, 전송 컨트롤러(271)의 상태들은 다음과 같다.
IDLE는 전송 컨트롤러(271)의 초기상태를 나타낸다. DL1은 전송 컨트롤러(271)의 제1지연상태를 나타내고, DL2는 전송 컨트롤러(271)의 제2지연상태를 나타내고, WS1은 제1기입 스트로브 상태를 나타내고, DL은 전송 컨트롤러 (271)의 제3지연상태를 나타내고, WS2는 제2기입 스트로브상태를 나타낸다.
도 2, 도 3, 도 9 및 도 10을 참조하면, 초기상태(NWR)의 기입컨트롤러(269)는 기입컨트롤러 인에이블신호(wr-ena) 및 기입 인에이블신호(wr)에 응답하여 WR상태로 천이하고 기입요구신호(wr_req)를 발생하여 전송컨트롤러(271)로 출력하고 제1기입제어신호(write_obr0)를 아웃바운드 레지스터(231)의 제1레지스터(2311)로 출력한다. 도 3의 제1레지스터(2311)는 제1기입제어신호(write_obr0)에 응답하여 호스 데이터 버스(HDB)의 데이터를 래치한다.
유휴상태(IDLE)의 전송 컨트롤러(271)는 기입요구신호(wr_req)에 응답하여 제1지연상태(DL1)로 천이하고 제2기입제어신호(write_obr1)를 발생한다. 따라서 전송 컨트롤러(271)의 제1지연상태(DL1)에서 아웃바운드 레지스터(231)의 제2레지스터(2313)는 제2기입제어신호(write_obr1)에 응답하여 제1레지스터(2311)의 출력 데이터를 래치한다. 그리고 제1지연상태(DL1)에서 전송 컨트롤러(271)는 전송 컨트롤러(271)의 프로세싱을 시작한다.
제1지연상태(DL1)의 전송 컨트롤러(271)는 기입요구신호(wr_req)에 응답하여 제2지연상태(DL2)로 천이하고, 분주신호(busy)를 기입 컨트롤러(269)로 출력한다. 분주신호(busy)는 아웃바운드 레지스터(231)가 데이터를 저장하고 있음을 지시한다.
제2지연상태(DL2)의 전송 컨트롤러(271)는 제2주변장치 DMA요구신호 (pdmarq1)에 응답하여 제1기입 스트로브 상태(WS1)로 천이하고, 분주신호(busy)를 기입 컨트롤러(269)로 출력하고 기입스트로브신호(write_strob)를 제2주변장치(40)로 출력한다.
제3지연상태(DL)에서 전송컨트롤러(271)는 활성화된 기입 스트로브 (write_strob)를 제2주변장치(40)로 출력한다. 제3지연상태의 전송컨트롤러(271)는 제1주변장치 요구신호(pdmarq1)에 응답하여 제2기입 스트로브 상태(WS2)로 천이하고, 분주신호(busy)를 기입 컨트롤러(269)로 출력하고 기입스트로브신호 (write_strob)를 제2주변장치(40)로 출력한다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 서로 다른 데이터 버스 폭을 갖는 장치들을 위한 인터페이스 및 이를 이용한 데이터 전송방법은 내장형 마이크로 시스템의 단가를 절감시키는 효과가 있다.
또한, 본 발명에 따른 인터페이스 및 이를 이용한 데이터 전송방법은 호스트 데이터 버스의 주파수를 감소시켜 내장형 마이크로 시스템의 성능을 향상시키는 효과가 있다.

Claims (20)

  1. 삭제
  2. N(N은 자연수)비트 데이터 폭을 갖는 제1데이터 버스와 2N비트 데이터 폭을 갖는 제2데이터 버스사이를 인터페이싱하는 인터페이스에 있어서,
    상응하는 독출 제어신호에 응답하여 상기 제1데이터 버스상의 제1 N비트 데이터와 제2 N비트 데이터를 각각 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터로 구성된 2N비트 데이터를 상기 제2데이터 버스로 전송하는 제1변환회로; 및
    상응하는 기입 제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 N비트 데이터로 변환하고 변환된 상기 N비트 데이터를 상기 제1데이터 버스로 전송하는 제2변환회로를 구비하고,
    상기 제1데이터 버스로부터 상기 제2데이터 버스로의 데이터 전송은 DMA (direct memory access)에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  3. 제2항에 있어서, 상기 제2데이터 버스로부터 상기 제1데이터 버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  4. 각각이 N비트 데이터 폭을 갖는 다수개의 제1데이터 버스들과 2N비트 데이터 폭을 갖는 제2데이터 버스사이를 인터페이싱하는 인터페이스에 있어서,
    제1선택신호에 응답하여 상기 제1데이터 버스들 중에서 선택된 데이터 버스상의 데이터를 출력하는 제1선택회로;
    상응하는 독출 제어신호에 응답하여 상기 선택된 데이터 버스상의 제1 N비트 데이터와 제2 N비트 데이터를 각각 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터로 구성된 2N비트 데이터를 상기 제2데이터 버스로 출력하는 제1변환회로; 및
    상응하는 기입 제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 N비트 데이터로 변환하고, 변환된 상기 N비트 데이터를 상기 제1데이터 버스들 중에서 선택된 데이터 버스로 출력하는 제2변환회로를 구비하는 인터페이스.
  5. 제4항에 있어서, 상기 제1데이터버스로부터 상기 제2데이터버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  6. 제4항에 있어서, 상기 제2데이터버스로부터 상기 제1데이터버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  7. 제4항에 있어서, 상기 제2변환회로는
    상기 제2데이터 버스에 접속되고 제1기입제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 래치하는 제1레지스터;
    제2기입제어신호에 응답하여 상기 제1레지스터의 출력신호를 N비트씩 분할하여 각각 래치하는 제2레지스터;
    제2선택신호에 응답하여 상기 제2레지스터에 각각 래치된 N비트 데이터를 선택적으로 출력하는 제2선택회로; 및
    제3선택신호에 응답하여 상기 제2선택회로의 출력 데이터를 상기 제1데이터 버스들 중에서 선택된 데이터 버스로 출력하는 제2변환회로를 구비하는 인터페이스.
  8. N비트 데이터 폭을 갖는 제1데이터버스와 2N비트 데이터 폭을 갖는 제2데이터 버스사이를 인터페이싱하는 인터페이스에 있어서,
    제1독출 제어신호에 응답하여 상기 제1데이터 버스상의 제1 N비트 데이터를 프리페치하고 제2독출 제어신호에 응답하여 상기 제1데이터 버스상의 제2 N비트 데이터를 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터를 결합하여 생성된 2N비트 데이터를 상기 제2데이터 버스로 출력하는 제1변환회로; 및
    기입 제어신호에 응답하여 상기 제2데이터 버스상의 2N비트 데이터를 N비트씩 분리하여 래치하고, 제어신호에 응답하여 래치된 N비트 데이터를 상기 제1데이터 버스로 출력하는 제2변환회로를 구비하는 인터페이스.
  9. 제8항에 있어서, 상기 제1데이터버스로부터 상기 제2데이터버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  10. 제8항에 있어서, 상기 제2데이터버스로부터 상기 제1데이터버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  11. N비트 데이터 폭을 갖는 제1데이터 버스;
    N비트 데이터 폭을 갖는 제2데이터 버스;
    제1선택신호에 응답하여 상기 제1데이터 버스 또는 상기 제2데이터 버스상의 데이터를 선택하는 제1선택회로;
    상응하는 독출 제어신호에 응답하여 상기 선택회로의 출력신호를 각각 프리페치하고, 프리페치된 데이터를 결합하여 생성된 2N비트 데이터를 2N비트 데이터 폭을 갖는 제3데이터 버스로 전송하는 제1변환회로; 및
    상응하는 기입 제어신호에 응답하여 상기 제3데이터 버스상의 데이터를 N비트 데이터로 분리하고 분리된 N비트 데이터를 상기 제1데이터 버스 또는 상기 제2데이터 버스로 선택적으로 전송하는 제2변환회로를 구비하는 인터페이스.
  12. 제11항에 있어서, 상기 제2변환회로는
    상기 제3데이터 버스에 접속되고 제1기입제어신호에 응답하여 상기 제3데이터 버스상의 2N비트 데이터를 래치하는 제1레지스터;
    제2기입제어신호에 응답하여 상기 제1레지스터의 출력신호를 N비트씩 분할하여 각각 래치하는 제2레지스터;
    제2선택신호에 응답하여 상기 제2레지스터에 각각 래치된 N비트 데이터를 선택적으로 출력하는 제2선택회로; 및
    제3선택신호에 응답하여 상기 제2선택회로의 출력 데이터를 상기 제1데이터 버스 또는 상기 제2데이터 버스로 각각 전송하는 두 개의 입력버퍼들을 구비하는 인터페이스.
  13. 제11항에 있어서, 상기 제1데이터버스 또는 상기 제2데이터 버스로부터 상기 제3데이터버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  14. 제11항에 있어서, 상기 제3데이터버스로부터 상기 제1데이터버스 또는 상기 제2데이터 버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 인터페이스.
  15. N비트 데이터 폭을 갖는 제1데이터 버스 또는 N비트 데이터 폭을 갖는 제2데이터 상의 데이터를 M비트 데이터 폭을 갖는 제3데이터 버스로 전송하는 데이터 전송방법에 있어서,
    선택신호에 응답하여 상기 제1데이터 버스 또는 상기 제2데이터 버스상의 데이터를 출력하는 단계; 및
    상응하는 독출 제어신호에 응답하여 상기 선택된 제1 또는 제2데이터 버스상의 제1 N비트 데이터와 제2 N비트 데이터를 각각 프리페치하고, 프리페치된 상기 제1 N비트 데이터와 제2 N비트 데이터를 결합하여 생성된 M비트 데이터를 상기 제3데이터 버스로 전송하는 단계를 구비하는 데이터 전송방법.
  16. 제15항에 있어서, 상기 M은 2N인 것을 특징으로 하는 데이터 전송방법.
  17. 제15항에 있어서, 상기 제1데이터버스로부터 상기 제2데이터버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 데이터 전송방법.
  18. M비트 데이터 폭을 갖는 제1데이터 버스상의 데이터를 N비트 데이터 폭을 갖는 제2데이터 버스 또는 N비트 데이터 폭을 갖는 제3데이터 버스로 전송하는 데이터 전송방법에 있어서,
    (a) 제1기입제어신호에 응답하여 상기 제1데이터 버스상의 M비트 데이터를 래치하는 단계;
    (b) 제2기입제어신호에 응답하여 (a)단계에서 래치된 M비트 데이터를 N비트씩 분할하여 각각 래치하고, 선택신호에 응답하여 각각 래치된 N비트 데이터를 선택적으로 출력하는 단계; 및
    제어신호에 응답하여 상기 (b)단계에서 출력된 데이터를 상기 제1데이터 버스 또는 상기 제2데이터 버스로 전송하는 단계를 구비하는 것을 특징으로 하는 데이터 전송방법.
  19. 제 18항에 있어서, 상기 M은 2N인 것을 특징으로 하는 데이터 전송방법.
  20. 제 18항에 있어서, 상기 제1데이터버스로부터 상기 제2데이터버스 또는 상기 제3데이터 버스로의 데이터 전송은 DMA에 의하여 수행되는 것을 특징으로 하는 데이터 전송방법.
KR10-2002-0027927A 2002-05-20 2002-05-20 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법 Expired - Fee Related KR100449721B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2002-0027927A KR100449721B1 (ko) 2002-05-20 2002-05-20 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법
JP2002332440A JP2003345737A (ja) 2002-05-20 2002-11-15 相異なるデータバス幅を有する装置のためのインタフェース及びこれを用いたデータ伝送方法
US10/309,108 US20030217218A1 (en) 2002-05-20 2002-12-04 Interface for devices having different data bus widths and data transfer method using the interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0027927A KR100449721B1 (ko) 2002-05-20 2002-05-20 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법

Publications (2)

Publication Number Publication Date
KR20030089988A KR20030089988A (ko) 2003-11-28
KR100449721B1 true KR100449721B1 (ko) 2004-09-22

Family

ID=29417447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0027927A Expired - Fee Related KR100449721B1 (ko) 2002-05-20 2002-05-20 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법

Country Status (3)

Country Link
US (1) US20030217218A1 (ko)
JP (1) JP2003345737A (ko)
KR (1) KR100449721B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110127193A (ko) * 2009-02-13 2011-11-24 마이크론 테크놀로지, 인크. 메모리 프리페치 시스템들 및 방법들

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376777B2 (en) * 2005-09-23 2008-05-20 Freescale Semiconductor, Inc. Performing an N-bit write access to an M×N-bit-only peripheral
JP2007183692A (ja) * 2005-12-29 2007-07-19 Fujitsu Ltd データ処理装置
KR100791176B1 (ko) * 2006-08-28 2008-01-02 엘지전자 주식회사 디지털 데이터 폭 정합을 통한 인터페이스 장치
US9128924B2 (en) * 2010-06-03 2015-09-08 Qualcomm Incorporated Method and apparatus for wireless broadband systems direct data transfer
CN102486761A (zh) * 2010-12-06 2012-06-06 中国航空工业集团公司第六三一研究所 同步接口与异步接口转换方法
US9563586B2 (en) * 2013-04-11 2017-02-07 Apple Inc. Shims for processor interface
CN104021099B (zh) * 2014-06-19 2017-11-17 大唐微电子技术有限公司 一种控制数据传输的方法及dma控制器
CN106502922B (zh) * 2016-10-28 2020-02-18 青岛海信电器股份有限公司 一种fifo数据缓存器的数据读写方法及数据缓存器
CN107943727B (zh) * 2017-12-08 2021-02-09 深圳市德赛微电子技术有限公司 一种高效dma控制器
CN119127748B (zh) * 2024-10-28 2025-03-07 上海朔集半导体科技有限公司 闪存控制器、微控制器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417051A (ja) * 1990-05-11 1992-01-21 Hitachi Ltd データ転送方式
JPH08235106A (ja) * 1994-12-13 1996-09-13 Internatl Business Mach Corp <Ibm> アップグレード・プロセッサのインタフェース方法及びシステム
KR970049636A (ko) * 1995-12-23 1997-07-29 문정환 데이타 전송 시스템 및 그 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309754A (en) * 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
JPS61175845A (ja) * 1985-01-31 1986-08-07 Toshiba Corp マイクロプロセツサシステム
BG39765A1 (en) * 1985-02-14 1986-08-15 Turlakov Device for connecting 8- degree and 16- degree modules to 16- degree microprocessor system
JPS6226561A (ja) * 1985-07-26 1987-02-04 Toshiba Corp パ−ソナルコンピユ−タ
US4779190A (en) * 1986-12-03 1988-10-18 Ncr Corporation Communication bus interface
US4949246A (en) * 1988-06-23 1990-08-14 Ncr Corporation Adapter for transmission of data words of different lengths
KR0181471B1 (ko) * 1990-07-27 1999-05-15 윌리암 피.브레이든 컴퓨터 데이타 경로배정 시스템
JPH04157550A (ja) * 1990-10-22 1992-05-29 Toshiba Corp パーソナルコンピュータシステム
US5255374A (en) * 1992-01-02 1993-10-19 International Business Machines Corporation Bus interface logic for computer system having dual bus architecture
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
WO1993019424A1 (en) * 1992-03-18 1993-09-30 Seiko Epson Corporation System and method for supporting a multiple width memory subsystem
JPH0651932U (ja) * 1992-12-18 1994-07-15 ミツミ電機株式会社 インタフェース回路
US5446845A (en) * 1993-09-20 1995-08-29 International Business Machines Corporation Steering logic to directly connect devices having different data word widths
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US6148356A (en) * 1995-12-27 2000-11-14 Intel Corporation Scalable computer system
JPH09204243A (ja) * 1996-01-29 1997-08-05 Fujitsu Ltd データ転送方法
JPH10334037A (ja) * 1997-05-30 1998-12-18 Sanyo Electric Co Ltd 通信dma装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417051A (ja) * 1990-05-11 1992-01-21 Hitachi Ltd データ転送方式
JPH08235106A (ja) * 1994-12-13 1996-09-13 Internatl Business Mach Corp <Ibm> アップグレード・プロセッサのインタフェース方法及びシステム
KR970049636A (ko) * 1995-12-23 1997-07-29 문정환 데이타 전송 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110127193A (ko) * 2009-02-13 2011-11-24 마이크론 테크놀로지, 인크. 메모리 프리페치 시스템들 및 방법들
KR101865331B1 (ko) * 2009-02-13 2018-06-08 마이크론 테크놀로지, 인크. 메모리 프리페치 시스템들 및 방법들

Also Published As

Publication number Publication date
JP2003345737A (ja) 2003-12-05
KR20030089988A (ko) 2003-11-28
US20030217218A1 (en) 2003-11-20

Similar Documents

Publication Publication Date Title
US7680968B2 (en) Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM)
US5819096A (en) PCI to ISA interrupt protocol converter and selection mechanism
US5557757A (en) High performance integrated processor architecture including a sub-bus control unit for generating signals to control a secondary, non-multiplexed external bus
US6070204A (en) Method and apparatus for using universal serial bus keyboard to control DOS operations
US5430847A (en) Method and system for extending system buses to external devices
US5408627A (en) Configurable multiport memory interface
JPH0713908A (ja) 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置
KR100449721B1 (ko) 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법
JPH06348646A (ja) 情報処理システムで異なるバス・アーキテクチャの間の正確かつ完全な通信を提供する方法および装置
US6014717A (en) PCMCIA host adapter and method for variable data transfers
KR100579203B1 (ko) 능률화된 ata 장치 초기화 방법 및 장치
KR100239716B1 (ko) 소형 컴퓨터 시스템 인터페이스 콘트롤러의 진단 테스트 장치
CN100527104C (zh) 硬盘驱动器控制器及搭载它的系统
US6877060B2 (en) Dynamic delayed transaction buffer configuration based on bus frequency
EP1483674B1 (en) Usb host controller
CN116561036B (zh) 数据访问控制方法、装置、设备及存储介质
US5687329A (en) Information handling system including a data bus management unit, an address management unit for isolating processor buses from I/O and memory
KR100591243B1 (ko) 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법
EP0382342B1 (en) Computer system DMA transfer
KR100218625B1 (ko) 정보 처리 시스템 및 그의 데이타 전송 방법
KR100606698B1 (ko) 인터페이스 장치
JP2002116883A (ja) ディスクアレイ制御装置
US20030023803A1 (en) Bus bridge circuit including audio logic and an addressable register for storing an address bit used when the audio logic accesses digital data, and method for initializing a chip set including the bus bridge circuit
EP0439594B1 (en) Device for interfacing a main processor bus connected to a main processor to a peripheral bus having a number of peripheral devices connected thereto
JP2004054527A (ja) データ転送制御装置およびデータ転送制御方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20020520

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20040227

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20040831

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20040913

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20040914

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20070830

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20080829

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20090827

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20100830

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20110830

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20110830

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20120830

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20120830

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee