KR880001167B1 - 외부 기억 장치 제어용 회로 - Google Patents

외부 기억 장치 제어용 회로 Download PDF

Info

Publication number
KR880001167B1
KR880001167B1 KR1019830000860A KR830000860A KR880001167B1 KR 880001167 B1 KR880001167 B1 KR 880001167B1 KR 1019830000860 A KR1019830000860 A KR 1019830000860A KR 830000860 A KR830000860 A KR 830000860A KR 880001167 B1 KR880001167 B1 KR 880001167B1
Authority
KR
South Korea
Prior art keywords
data
bus
control circuit
signal
transfer
Prior art date
Application number
KR1019830000860A
Other languages
English (en)
Other versions
KR840004273A (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 가부시기가이샤 히다찌세이사꾸쇼
Publication of KR840004273A publication Critical patent/KR840004273A/ko
Application granted granted Critical
Publication of KR880001167B1 publication Critical patent/KR880001167B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

내용 없음.

Description

외부 기억 장치 제어용 회로
제1도는 본 발명에 의한 마이크로 컴퓨터 시스템의 전체 구성도.
제2도는 제1도에 도시한 입출력 처리회로와 데이터 처리유니트의 중요부의 상세한 구성도.
본 발명은 외부 기억 장치에 제어 회로를 갖는 마이크로 컴퓨터 시스템에 관한 것이다. 종래 플로피 디스크에서 데이터를 리드하고 마이크로 컴퓨터(MPU)가 이용하는 랜덤 액세스 메모리(RAM : Random Access Memory)에 이 데이터를 저장하기 위해 플로피 디스크의 제어 회로에 버퍼를 바련하고, 이 디스크에서 리드한 데이터를 버퍼내에 저장한 후 RAM에 전송 하였다. MPU는 이 데이터를 이용한 데이터 처리를 실행하든지 또는 그 일부에 데이터를 기억하여 버퍼를 거쳐서 다시 플로피 디스크에 저장한다.
종래 디스크에서 데이터의 리드는 섹터(sector)라고 하는 디스크의 각각의 영역에서 실행하고 있었다. 따라서 버퍼는 1섹터분 또는 이것의 정수배에 대응하는 용량을 갖고 있었다. 또 종래의 기술에는 MPU가 플로피디스크의 하나의 섹터내의 일부 데이터를 이용하였을 때에도 이 섹터 전체의 내용을 버퍼에 리드한 후 이를다시 RAM으로 모두 전송하였다. 이 때문에 이용하지 않는 데이터도 전송되므로, 데이터 버스가 불필요한 데이터 전송 때문에 점유되게 된다.
또, MPU가 하나의 섹터의 소정 데이터를 리라이트 할 때에도 그 섹터 전체의 데이터는 버퍼에서 RAM으로 전송되고, 전송후 MPU가 RAM을 액세스 하여 데이터의 리라이트를 하고 있었다. 그 후에 수정된 데이터를 포함한 섹터 전체의 데이터가 다시 버퍼를 거쳐서 디스크에 저장되어 있었다. 이 때문에 리라이트 할 필요가 없는 데이터도 RAM에 전송된다는 불필요한 처리가 이루어졌었다.
이상과 같은 사실에서, 외부 기억 제어회로에 마련된 버퍼내의 데이터중에서 원하는 데이터만 임의의 주어진 시간에 RAM에 전송하도록 마이크로 컴퓨터 시스템을 구성하는 것이 바람직하다. 또한 버퍼내의 데이터를 리라이트 할 때에도 버퍼가 MPU에 의해 직접 액세스 하여 리라이트되도록 하는 것이 바람직하다. 이때에 외부 기억 제어 회로를 집적 회로로 구성하고, 외부 기억 제어회로의 필요한 핀수를 증가시키지 않기 위해서 종래의 마이크로 컴퓨터에 마련된 신호선을 가능한 한 그대로 이용하여 상기의 목적을 실현하는 것이 바람직하다.
따라서, 본 발명의 목적은 외부 기억 제어 회로에 마련된 버퍼내의 원하는 데이터를 선택적으로 RAM에 전송할 수 있도록 한 마이크로 컴퓨터 시스템을 제공하는데 있다. 본 발명의 다른 목적은 종래의 마이크로 컴퓨터 시스템에서 사용되고 있는 신호선을 가능한한 그대로 사용하여, 상술한 버퍼내의 데이터를 선택적으로 전송할 수 있는 마이크로 컴퓨터 시스템을 제공하는 것이다.
본 발명에 따라 이러한 목적을 달성하기 위해 외부 기억 제어 회로 MPU로 부터의 전송 명령에 응답하여 버퍼에 어드레스를 출력하는 카운터의 지정된 전송 개시 어드레스를 세트하고 MPU와 RAM사이에 접속된공통 버스에 버퍼의 출력을 전송하는 회로와 다이렉트 메모리 액세스(DMA)제어회로에서 연속적으로 공급되는 전송 허가 신호에 응답하여 상술한 카운터를 카운트 완료하도록 제어하는 회로를 포함하고 있다.
또 버퍼내의 데이터를 RAM에 전송하지 않고 리라이트하기 위해 외부 기억 제어회로는 MPU에서 입력되는 리라이트 명령에 관련해서, 버퍼에 어드레스를 출력하는 카운터에 MPU에서 리라이트 어드레스를 세트하는 회로와 그 세트후 MPU에서 리라이트 데이타가 출력될 때마다 버퍼에 리라이트 신호를 공급하는 회로를 마련하였다.
제1도에 있어서, 마이크로 컴퓨터 MPU(101)은 어드레스 버스(104), 데이터 버스(105)와 제어 버스(114)로 구성된 공통의 버스(10)에 의해 랜덤 액세스 메모리 RAM(102), 다이렉트 메모리 액세스 DMA제어회로(106)과 디스크 드라이브(도시하지 않음)를 포함하는 플로피 디스크 FD(107)의 제어회로(103)에 접속되어 있다. FD제어회로(103)은 MPU도는 DMA제어 회로(106)에서 오는 신호에 응답하여 플로피 디스크 (107)로의 액세스를 제어한다. 또 FD제어 회로(103)은 MPU에서 명령에 응답하여 FD제어 회로(103)의 동작을 제어하는 입출력 처리 회로 IOPU(108), 플로피 디스크(107)에서 데이터의 전송을 제어하고 플로피 디스크에서 데이터의 에러 체크 등을 하는 데이터 치리 유니트 DPU(109), 플로피 디스크(107)로 ㄹ터의 데이터를 저장하는 버퍼 A(llOA) 및 버퍼 B(ll0B), 이들 버퍼에 어드레스를 출력하는 카운터 A(llOA) 및 카운터 B(llOB)를 포함한다. 버퍼 A와 B는 플로피 디스크(107)의 1섹터분의 용량을 각각 갖고 있다.
DMA제어 회로(106)은 공통 버스(10)에 접속되고 신호선(100), (115)를 각각 거쳐서 MPU(101)과 IOPU(108)에 접속되어 공지의 DMA제어 회로로 된다. 즉, DMA 제어 회로(106)은 MPU(101) 대신에 FD 제어회로(103)과 RAM(102)사이의 데이터의 전송을 제어하는 것이다. 제2도는 본 발명에 관한 IOPU(108)과 DPU(109)의 부분을 도시한 것이다. 외부 레코더(decoder)(303)은 버스(104)상의 어드레스가 IOPU에 할당되는가, 아닌가를 해득해서 결과가 긍정적이면 칩선택 신호 CS를 출력한다. IOPU(108)은 외부 레코더(303), 데이터 버스(105), 제어 버스(114)와 신호선(115)에 접속되고 단일의 집적회로로 되어있다.
내부 레코더(304)는 칩선택 신호 CS, 버스(114)에서 수신된 라이트/리드 신호 R/W, 선(115)를 거쳐서 DMA제어 회로(106)에서 수신된DMA전송 허가신호 ACK에 응답하여 버스 드라이버(222)에서 데이터 전송방향과 레지스터 스택(207)에 대한 데이터의 세트를 제어하는 것이다. 즉, 신호 CS 및 R/W가 다같이 1일때또는 신호 ACK가 1이고 신호 R/W가 0일때 내부 데코더(304)는 버스 드라이버(222)를 송신 상태로 제어한다. 한편, 신호 CS가 1이고 신호 R/W가 0일때 또는 신호 ACK와 R/W가 모두 1일대에, 내부 레코더(304)는 버스 드라이버(222)를 수신상태로 제어한다.
레지스터 스택(207)은 버스(105)와 드라이버(222)를 거쳐서 MPU(101)에서 수신된 명령 또는 명령 실행을위한 데이터를 저장하는 것으로, 데이터 또는 명령을 저장하여야할 레지스터 번호를 지시하는 스택 포인터(도시하지 않음)를 내장 하고 있다. 마이크로 명령 제어회로(이하μ제어 회로라 한다)(208)은 MPU에서 수신된 명령에 응답해서 카운터 A 및 B, 버퍼 A및 B와 그 밖의 회로 소자동을 제어하도록 마련 되었다. 이를 위해μ제어 회로(208)은 마이크로 명령 기억 장치(400), 연산 회로(402), 내부 레지스터군(404)등을 포함하며, 공지의 마이크로 프로그램 제어형의 마이크로 컴퓨터로써 실현된다.
DPU(109)는 플로피 디스크(107)에서 리드된 데이타가 선(202)를 거쳐서 적렬로 입력되는 8비트의 시프트레지스테(205)를 포함한다. 이 시프트 레지스터(205)의 데이터는 병렬로 디스트 버스(113)을 거쳐서 버퍼 A 또는 B에 입력된다. 데이터가 플로피 디스크(107)에 저장될때, 버퍼 A또는 B의 데이터는 디스크 버스(113)을 거쳐서 버퍼 A또는 B에서 시프트 레지스처(205)로 병렬로 전송되고 데이터가 선(201)을 거쳐서 플로피 디스트(107)에 직렬로 전송된다. 스위치 SWB와 SWC는 각각 버퍼 A또는 B를 디스크 버스(113) 또는 내부 버스(112)에 선택적으로 접속하기 위한 것이다.
DPU회로(109)에서 분주 회로(206)은 플로피 디스크(107)에서 수신되는 리드 클럭 (203) 또는 라이트 클럭(204)의 주파수를 1/8로 분주하는 회로이다. 부주 회로(206)의 출력은 카운터 A또는 B를 갱신하는데 사용된다. 스위치 SWD와 SWE는 각각 분주 회로(206), 선(115A)를 경유한 DMA또는 선(316)을 경유한 μ제어 회로(208)에서 카운터 A와 B에 공급하여야할 클럭과 다른 제어 신호를 선택하기 위한 것이다. 다음에 구체적으로 마이크로 컴퓨터 시스템의 동작을 설명한다.
(디스크에서 버퍼로의 데이터 리드 모드)
MPU(101)은 디스크에서 데이터를 리드하도록 FD제어 회로(103)을 지시하는 제1의 명령과 이 명령 실행에 필요한 데이터를 FD제어 회로(103)에 순차적으로 전송한다. 제1의 명령 실행에 필요한 데이터는 플로피디스크(107)에서 리드 해야할 섹터를 지정하기 위한 섹터 식별 번호 ID, 플로피 디스크(107)에서 리드된 제1의 데이터를 저장하기 위해 선택된 버퍼가 버퍼 A 또는 B의 어느 것인가를 표시하는 버퍼 번호 BN과 플로피디스크(107)에서 리드 해야할 섹터의 수 SN등을 포함한다. 그리고, 섹터수 SN은 2이하로 한다.
MPU는 FD제어 회로(103)에 할당된 어드레스와 제1의 명령을 표시하는 데이터를 가진 스토어 명령을 실행한다. 스토어 명령의 실행 결과로써 MPU는 버스(104)에 FD제어 회로(103)의 어드레스를 출력하고, 버스(105)에는 제1명령을 출력하여 버스(114)상의 신호 R/W를 0으로 한다. 레코더(303)은 버스(104)상의 어드레스를 해독하여 값 1에서 칩 선택신호 CS를 출력한다. 칩 선택신호 CS와 값 0의 신호 R/W에 응답하여 데코더(304)는 버스 드라이버(222)를 버스(105)에서 데이터를 수신하는 수신 상태로 제어 하는 신호 a를 선(305)로 출력한다.
또, 데코더(304)는 선(305)를 통해서 스택(207)로 내부 버스(112)상의 데이터를 세트하여야 할 것을 나타내는 신호 b를 출력한다. 이와 같이 하여, MPU에서 출력된 제1의 명령이 레지스터 스택(207)에 저장된다.
데코더(304)에서의 신호 b는 μ제어회로(208)에도 입력된다. 이 회로는 입력의 명령을 기다리는 상태로 통상 유지되며 이 상태에서 신호 b가 입력되면, 스택(207)의 선두 데이터를 액세스 하도록 프로그램 되어있다. 또 이 액세스를 가능하게 하기 위하여 스택(207)내의 레지스터는 임의의 레지스테가 μ제어 회로(208)에 의해서 각각 액세스 가능하도록 구성되어 있다.
μ제어 회로(208)은 선두 데이터를 스택(207)에서 선(312)를 통해서 받고, 수신된 데이터가 어떤 명령에 대한 것인가를 해독하는 프로그램 루틴(routine)을 실행한다. 해독후, μ제어 회로(208)은 현재의 제1명령을 실행하기 위한 제1의 마이크로 명령 루틴을 실행한다. 각각의 명령마다 그 실행에 필요한 데이터가 사전에 정해져 있는 것을 이용하여, 마이크로 명령 루틴의 처음에서 해독된 명령을 실행하는데 필요한 데이터가 모두 스택(207)에 저장되었는가가 결정된다. 제1명령에 관한 스토오 명령을 실행한 후, MPU는 이 명령 실행에 필요한 상술의 데이터를 순차로 FD제어 회로(103)에 저장하기 위한 여러개의 스토어 명령을 소정의 순서로 실행하여, 스택(207)에 이러한 데이터가 순차로 저장된다. 이 저장 동작동안 스택포인터(도시하지 않음)의 갱신은 신호 b에 의하여 행하여진다. μ제어 회로(208)은 스택(207)에 하나의 데이터가 저장될대마다 입력되는 신호 b의 입력 회수에 의하여, 필요한 데이터가 모두 스택(207)에 세트되는 것을 결정할 수 있다.
데이터가 저장된 후에 제1마이크로 명령 루틴에 의해서 다음의 동작을 행한다. 우선, μ제어 회로(208)은 선(314)를 통해 플로피 디스크(107)과 DPU(109)에 개시 신호를 출력한다. 이때에 섹터 식별 번호 ID와 섹터수 SN은 스택(207)에서 리드하고, 선(310)을 거쳐서 DPU(109)에 송출된다. DPU는 플로피 디스트(107)에서 리드된 데이터중, 이러한 수신된 데이터 ID와 섹터수 SN에 의해 지정되는 데이터만을 선택하고 선(202)상의 선택된 데이터를 시프트 레지스터(205)로 전송하는 회로를 포함한다.
다음에 μ제어 회로(208)은 선(312)를통해서 스택(207)에 있는 버퍼 번호 BN을 리드하고 이에 의해서 지정되는 버퍼 A(또는 B)를 디스크 버스(113)에 접속하도록 스위치 SWB(또는 SWC)를 제어한다. 또 μ제어 회로(208)은 선택된 버퍼 A(또는 B)에 대응하는 카운터 A(또는 B)를 클리어하는 신호 CLRA(또는 CLRB)를 선(210)의 하나에 출력한다. 그리고 스위치 SWD(똔는 SWE)는 주파수 분주 회로(206)의 출력선쪽으로 전환하고, 스위치 SWA는 분주 회로(206)과 시프트 레지스터(205)에 리드클럭 펄스를 공급하도록 선(203)쪽으로 전환한다.
DPU에서는 리드 데이터(202)에 동기하여 리드 클럭(203)이 수신되며, 이 클럭 신호에 따라 이 데이터가 시프트 레지스터(205)에 직렬로 라이트 된다. 주파수 분주 회로(206)은 리드 클럭 신호를 1/8로 주파수 분주한클럭을 선(209)에 출력한다. 따라서, 8비트 용량의 시프트 레지스터(205)에 8비트의 데이터가 시프트 될 때마다 클럭(209)가 출력된다. μ제어 회로(208)은 이 클럭(209)에 응답해서 MPU에 의해 지정된 버퍼 A(또는 B)에 대한 라이트 인에이블 신호 WEA(또는 WEB)를 선(210)에 출력한다. 이와 같이 하여 플로피 디스크(107)에서 리드된 데이터는 어드레스가 카운터 A(또는 B)에 의해 지정된 버퍼의 영역에 저장된다.
그후 카운터 A(또는 B)는 클럭(209)에 응답하여 갱신된다. 따라서 플로피 디스크(107)에서 리드된 데이터가 순차로 1바이트씩 선택된 버퍼 A(또는 B)에 저장된다. 이때, μ제어 회로(208)은 버퍼 A(또는 B)에 파이트 될 때마다 라이트가 끝난 바이트수를 연산회로(402)와 레지스터(404)를 이용해서 카운트하고 버퍼 A(또는 B)의 마지막 어드레스 까지 라이트 하였는가의 여부를 체크한다. 이체크 결과가 긍정적일때 스택(207)에 저장되고 MPU에 의해 지정된 섹터수 SN이 1인가 2인가가 체크된다. 섹터수 SN이 1일때 데이터 리드 동작이 종료한다. 한편 섹터수 SN이 2일때 μ제어 회로(208)은 카운터 B를 클릭 하고 스위치 SWC(또는 SWB)를 제어하여, 시프트 레지스터(205)를 버퍼 B(또는 A)에 접속하고 스위치 SWE(또는 SWD)를 클럭선(209)쪽으로 세트한다. 그 다음에 스택(207)에 저장된 SN이 감소한다. 그후에 버퍼 A(또는 B)로의하이트 할 때와 동일하게 데이터가 버퍼 B(또는 A)에 저장된다.
이와 같이 하여 1개 또는 2개 섹터의 데이터가 버퍼 A(또는 B)에 저장될때, μ제어 회로(208)은 선(114)에 인터럽트 요구 IREQ를 출력하여 MPU에 데이터의 리드가 종료한 것을 알려줌과 동시에 스팩 포인터(도시하지 않음)이외의 회로를 초기 상태로 되돌린다.
(버퍼에서 RAM으로의 데이터 전송 모드)
버퍼 A(또는 B)에 저장된 데이터를 RAM에 전송하고자 하는 경우, MPU는 DMA제어 회로(106)을 초기화 한다. 즉, MPU는 스토어 명령을 실행하여 DMA제어 회로(106)에 전송하여야 할 데이터를 저장하는 RAM내의 영역의 처음 어드레스등을 세트한다. 다음에 MPU는 버퍼 A(또는 B)에서 데이터의 리드를 시작하는 제2의 명령을 IOPU(108)로 향하는 명령을 샐행하고 제2의 명령이 스택(207)에 저장된다.
그리고 MPU는 이때 IOPU(108)을 초기화한다. 즉 리드 해야할 버퍼의 번호 BN, 리드해야할 데이터의 바이트수 WN, 리드 개시해야할 버퍼 어드레스 BA를 지시하는 여러개의 스토어 명령을 실행하고 상술한 제1의 명령과 같이 스택(207)에 이들의 데이터를 저장한다.
스택(207)에 새롭게 저장된 제2의 명령에 응답해서, μ제어 회로(208)은 버퍼 어드레스 BN를 스택(207)에서 카운터 A 및 B 리드하고 내부 버스(112)로 송출한다. 또 μ제어 회로(208)은 스택(207)에서 버퍼 번호BN을 리드하고 버퍼 어드레서 BA의 값을 선택된 카운터에 세트하도록 여기에 대응하는 카운터 A(또는 B)에 세트 신호 SETA(또는 SETB)를 출력한다. 이와 같이 하여 카운터 A(또는 B)가 버퍼 어드레스 BA와 프리 세트된 후에 스위치 SWB(또는 SWC)를 내부 버스(112)쪽으로 세트 하고 카운터 A(또는 B)에 의해 지시되는 어드레스에서 버퍼의 데이터가 내부 버스(112)로 리드된다.
그리고 μ제어 회로(208)에 의해 스위치 SWD(또는 SWE)를 선(115A)쪽으로 세트한다. 그후 μ제어 회로(208)은 선(115B)상에 DMA전송요구 DREQ를 세트하고 선(115A)를 통해서 DMA제어 회로(106)에서 전송허가신호 ACK가 입력도는 것을 기다린다. 즉, DMA제어 회로(106)은 시호 DREQ의 상승에 응답해서 신호선(100)(제1도)을 거쳐 MPU에 버스 사용 요구 신호를 출력한다. MPU에서 버스 사용 허가 신호가 선(100)을 통하여 전송되었을때, DMA제어 회로(106)은 선(115A)상에 전송 허가 신호ACK를 출력하고 버스(104)로 산전에 MPU에서 입력된 전송 개시 어드레스를 출력하여 버스(114)상의 신호 R/W를 값 0으로 쎄트한다. 값1인 신호 ACK와 값 0을 가진신호 R/W에 응답해서 데코더(304)는 버스 드라이버(222)에 이것을 송신 상태로 하는 신호 C를 출력함과 동시에 μ제어 회로(208)에 이 모드를 지시하는 신호 d출력한다.
한편, 카운터 A(또는 B)의 어드레스에서 버퍼의 데이터 버퍼 A(또는 B)에서 내부 버스(112)로 리드되고 버스 드라이버(222)가 송신 상태로 되어 있을때 이 데이터가 버스(105)로 전송되다. 버스(114)상의 신호 R/W의 값 0과 버스(104)상의 어드레스에 응답해서, RAM은 버스(105)사의 데이터를 저장한다. 한편, 선(115A)상의 ACK신호는 스위치 SWD(또는 SWE)를 통해서 카운터 A(또는 B)를 갱신시키며 데이터의 다음 바이트가 내부 버스(112)로 리드된다.
μ제어 회로(208)은 데코더(304)에서의 신호 C에 응답하여 버스(104)로 전송이 끝난 데이터의 바이트수를 카운트 하도록 프로그램되어 있으며, 이 카운트 값이 스택(207)에 있는 전송 바이트수 WN에 일치하였는지를 검출한다. 이 검출 결과가 부정적이때에 μ제어 회로(208)은 선(115B)상의 DMA제어 회로(106)은 전송 허가 신호 DREQ를 그대로 유지한다. 한편 DMA제어 회로(106)은 전송허가 신호 ACK를 IOPU로 송출한 후 신호DREQ를 그대로 유지한다. 한편 DMA제어 회로(106)은 전송허가 신호 ACK를 IOPU로 송출한 후 신호 DREQ가 1인가 아닌가를 체크하고, 이 체크 결과가 긍정적 일대에는 선(115A)상의 신호 ACK를 다시 출력한다. 또 신호 R/W는 그대로 0이고 버스(104)에 출력하는 RAM어드레스를 앞의 어드레스보다 하나 큰 값으로 한다.
그후, 다음의 데이터 바이트를 마찬가지로 하여 버퍼 A(또는 B)에서 RAM으로 라이트 된다. 이후, 동일하게 하여 MPU에 의해 사전에 지정된 바이트수의 데이터가 버퍼에서 RAM으로 전송된다. 상술한 전송 동작의 도중에서 μ제어 회로(208)은 데코더(304)에서 신호 C가 입력될 때마다, 버퍼 A(또는 B)의 최종 어드레스 위치에서 데이터 바이트의 전송이 끝났는지의 여부를 체크한다. 이 때문에 μ제어 회로(208)은 스택(207)에 있는 버퍼 어드레스를 리드하여 신호 C가 입력될 때마다 이 값을 갱신한 값을 내부에 유지하도록 프로그램 되어 있다. 이 체크가 긍정적일때 μ제어회로(208)은 카운터 B(또는 A)를 클리어하고 스위치 SWC(또는 SWB)를 내부 버스(112)쪽으로 전환하며, 스위치 SWB(또는 SWD)를 선(115A)쪽으로 전환하고 스위치 SWD(또는 SWE)를 선(209)쪽으로 전환한다. 이와 같이 한 후 버퍼 B(또는 A)쪽에서 데이터의 리드와 RAM에 전송하는 동작이 순차적으로 실행된다.
이상과 같이 해서 전송이 끝난 데이터의 바이크수가 MPU에 의하여 지정된 값에 도달하면, μ제어 회로(208)은 선(115B)상의 신호 DREQ를 0으로 하고 선(114)에 인터럽트 신호 IREQ를 출력한다. DMA제어회로(106)은 신호 DREQ가 0이 되었다는 것에 응답하여 다음의 전송을 요구 하는 신호 ACK의 송출을 정지한다. 따라서 MPU는 신호 IREQ에 의하여 데이터 전송의 종료를 알수가 있게 된다. 이상과 같이 해서 MPU는 버퍼의 임의의 어드레스에서 시작하는 임의의 길이의 데이터를 RAM에 전송할 수가 있게 된다.
(버퍼내의 데이터의 리라이트)
버퍼 A(또는 B)내의 데이터를 리라이트 할때 MPU는 여러개의 스토어 명령을 실행하여 스택(207)에 리라이트를 지시하는 제3의 명령, 리라이트 해야할 버퍼 전호 BN, 리라이트 해야할 데이터의 선두 버퍼 어드레스 BA, 리라이트 해야할 데이터의 바이트수 WN을 순차로 상술한 순서와 같이 하여서 라이트 한다. 스택(207)에 세트되어 있는 제3의 명령에 응답해서 μ제어 회로(208)은 스택(207)내에 버퍼 번호 BN에 대응하는 카운터 A(또는 B)에 이 어드레스를 세트하는 것을 지시하는 SETA(또는 SETB)를 송출한다. 또, 이 카운터 A(또는 B)에 대응하는 스위치 SWD(또는 SWE)를 선(316)쪽으로 세트한다. 그리고 버퍼 번호 BN에 대응하는 스위치 SWB(또는 SWC)를 내부 버스쪽으로 세트한다. 그 후에 MPU는 FD제어 회로(103)에 대한 어드레스와 버퍼에 라이트 해야할 데이터가 있는 스토어 명령을 실행한다. 이 결과 선(104) 및 (105)에는 FD제어 회로(103)의 어드레스와 라이트 해야할 데이터가 출력되고, 선(114)상의 신호 R/W가 0으로 된다. 그 결과 데코더(303)은 입력된 어드레스를 해독하여 칩 선택 신호 CS를 출력하고 데이터는 버스 드라이버(222)를 거쳐 버스(105)에서 내부 버스(112)로 전송된다.
한편 μ제어 회로(208)은 데코더(304)의 출력b에 응답해서 스택(207)에 있는 버퍼 번호 BN에 대응하는 버퍼 A(또는 B)에 라이트 신호 WEA(또는 WEB)를 출력한다. 이와 같이 하여 MPU에서의 라이트 데이터가 MPU에의해 지시된 버퍼 A(또는 B)에 저장된다. μ제어 회로(208)은 그후 카운터 A(또는 B)를 갱신하는 신호 UP를 선(316)으로 출력한다. 다음에 MPU가 순차로 상이한 데이터에 대해서 스토어 명령을 실행하면, 스택(207)에 사전에 세트되어 있는 버퍼 어드레스 BA에 의해 순차로 버퍼 A(또는 B)에 새로운 데이터를 라이트 할 수있게 된다. 라이트 신호 WEA(또는 WEB)를 출력할 때마다 μ제어 회로(208)은 라이트 종료 데이터수가 스택(207)에 세트되어 있는 바이트수 WN과 일치하였는가의 여부를 체크 하도록 되어 있으며, 이 체크의 결과가 긍정적일때 FD제어 회로(103)을 명령 대기 상태로 되돌린다.
(디스크에서 RAM으로의 전송 모드)
본 실시에에 의하면 제4의 명령을 이용하여 디스크에서 리드한 데이터를 버퍼에 저장한 후 즉시 RAM으로 전송하는 것이 가능하게 된다. 또, 이 전송은 여러개의 섹터에 걸친 데이터에 대한 A와 B를 반복해서 이용하여 연속적으로 실행할 수가가 있다. 이때의 동작은 상술한 바와 같이 디스크에서 버퍼로의 리드 모드와 버퍼에서 RAM으로의 전송 모드를 서로 병렬로 실행하는 것에 의해서 실현할 수 있다. 이와 같은 전송모드는 하나의 명령으로만 실현된다.
(버퍼에서 디스크로의 라이트 모드)
이 경우에 라이트시의 클럭(204)가 DPU외부에서 발생되고, 이것이 클럭(203)대신에 스위치 SWA에 의해선책된다. 스위치 SEB(또는 SEC)가 버퍼 A(또는 B)를 디스크 버스(110)에 접속한 상태에서 데이터는 μ제어 회로(108)에 의하여 시프트 레지스터(205)로 라이트 하면된다. 이 동작은 디스크에서 버퍼로의 데이터 전송과 비슷하다.
이상 본 발명을 상기 실시예에 따라서 구체적으로 설명하였으나, 본 발명은 상기 실시예에 한정되는 것은 아니며 그 요지를 이탈하지 않는 범위에 있어서 여러가지로 변경이 가능한 것은 물론이다.

Claims (6)

  1. 마이크로 컴퓨터(101), 랜덤 액세스 메모리(102), 다이렉트 메모리 액세스 제어회로(106), 이들을 접속 하는 공통 버스(10), 외부 기억 장치(107), 상기 외부 기억 장치와 그 RAM과의 사이의 데이터 전송을 제어하는 외부 기억 제어 회로(103)로 마이크로 컴퓨터 시스템에 있어서, 상기 외부 기억 제어 회로(103)는 내부 데이터 버스(112), 카운터(lllA, lllB), 상기 외부 기억 장치에서 리드된 데이터를 저장하는 버퍼(llOA, llOB), 상기 버퍼(llOA, llOB),내의 저장 종료의 데이터중 상기 카운터에 의하여 지시되는 어드레스를 갖는 데이터를 상기 내부 데이터 버스(112)로 출력하는 스위치 수단(SWB, SWC), 상기 내부 데이터 버스(112)와 상기 공통 버스(10)사이에 접속되고 그 공통 버스(10)상의 어드레스, 리드/라이트 지시 신호(R/W), 상기 DMA제어 회로(106)에서의 전송 허가 신호(ACK)에 응답해서 데이터의 전송 방향을 전환하는 데이터 전송 수단(108), 상기 내부 버스(112)에 상기 데이터 전송 수단(108)에 의하여 전송된 소정의 명령에 응답하는 제어 수단으로써 상기 내부 버스(112)상의 상기 소정의 명령에 관련한 리드 개시 어드레스를 상기 카운터(lllA, lllB)에 세트하며, 상기 DMA제어 회로(106)에 전송 요구(DREQ)를 출력하며, 상기 DMA제어 회로(106)로 부터의 전송 허가 신호(ACK)에 응답해서 상기 카운터를 갱신하고, 상기 소정의 명령에 관련해서 상기 내부 버스에 전송되는 전송 데이터 수 만큼 데이터 전송 후에 상기 공통버스(10)상에 상기 마이크로 컴퓨터에 대한 전송 종료 통지 신호(IREQ)를 송출하는 수단(208)을 포함하는 마이크로 컴퓨터 시스템.
  2. 특허청구의 범위 제1항에 있어서, 상기 제어 수단(208)은 상기 내부 버스(112)에 접속된 여러개의 레지스터(404)로써 상기 데이터 전송 수단(108)이 상기 공통 버스(10)에서의 데이터를 수신 할 때마다 상기 내부 버스상의 데이터가 상기 레지스터내의 다른 것에 세트되며, 상기 세트 수단은 상기 레지스터의 하나에서 상기 개시 어드레스를 리드하여 상기 내부 버스에 송출함과 동시에 상기 카운터(lllA, lllB)에 세트 신호(SETA, SETB)를 송출하며, 상기 전송 종료 통지 신호(IREQ)의 송출 수단은 상기 카운터의 갱신 회수를 카운트하여 상기 레지스터(404)의 하나에 세트된 전송 데이터수와 상기 카운터의 값을 비교해서 그 비교 결과에 따라 상기 전송 종료 통지 신호를 송출하는 것을 특징으로 하는 마이크로 컴퓨터 시스템.
  3. 특허정구의 범위 제1항 또는 제2항에 있어서, 상기 데이터 전송 수단(108)은 상기 공통 버스(10)와 상기 내부 버스(112)사이에 삽입된 버스 드라이버(222), 상기 공통 버스의 어드레스가 상기 외부 기억 제어회로 (103)에 사전에 할당된 어드레스 일때 칩 선택 신호(CS)를 출력하는 제1의 데코더(303), 상기 칩 선택신호가 출력되어 있는 상태에서 상기 리드/라이트 지시 신호(R/W)가 제1의 값을 표시하고 있을때에는 상기버스 드라이버(222)를 상기 공통 버스(10)상의 데이터를 수신하여 상기 내부 버스에 전송하는 상태로 하고, 상기 리드/라이트 지시 신호(R/W)가 제1값을 표시하고 상기 전송 허가 신호(ACK)가 그 DMA제어 회로(106)에서 출력되어 있을때에 상기 내부 버스(112)상의 데이터를 상기 공통 버스(10)으로 송신하는 상태로 상기 버스 드라이버(222)를 제어하는 제2의 데코더(304)를 포함하는 마이크로 컴퓨터 시스템.
  4. 마이크로 컴퓨터(101), 랜덤 액세스 메모리(102), 다이렉트 메모리 액세스 제어회로(106), 이들을 접속하는 공통 버스(10), 외부 기억 장치(107), 상기 외부 기억 장치와 상기 RAM의 사이의 데이터 전송을 제어하는 외부 기억 제어회로(103)로 되는 마이크로 컴퓨터 시스템에 있어서, 상기 외부 기억 제어 회로(103)은 내부 데이터 버스(112), 카운터(lllA, lllB), 상기 외부 기억 장치(107)에서 리드된 데이터를 저장하는 버퍼(llOA, llOB)로써 상기 카운터에 의하여 지시되는 어드레스 위치에 그 내부 버스(112)상의 데이터를 라이트 신호에 응답하여 라이트 하는 수단(SWB, SWC), 상기 내부 데이터 버스(112)와 상기 공통 버스(10) 사이에 삽입되어 상기 공통 버스(10)상의 어드레스, 리드/라이트 지시 신호(R/W), 사아기 DMA제어 회로(106)에서의 전송 허가 신호(ACK)에 응답해서 데이터 전송 방향을 전환하는 데이터 전송 수단(108), 상기 내부 버스(112)에 상기 전송 수단(108)에 의해서 전송된 소정의 명령에 관련한 라이트 개시 어드레스를 상기 카운터(lllA, lllB)에 세트하며, 상기 세트후 상기 마이크로 컴퓨터(101)에서 라이트 데이터가 상기 내부 버스(112)에 공급 될때마다 상기 버퍼(llOA, llOB)에 라이트 신호를 송출하는 수단(208)을 갖는 마이크로 컴퓨터 시스템
  5. 특허청구의 범위 제4항에 있어서, 또 상기 제어 수단은 상기 라이트 신호를 송출 할 때마다 상기 카운터(lllA, lllB)를 갱신하는 수단(208)을 갖는 마이크로 컴퓨터 시스템.
  6. 마이크로 컴퓨터(101), 랜덤 액세스 메모리(102), 다이렉트 메모리 액세스 제어 회로(106), 이들을 접속하는 공통 버스(10), 외부 기억 장치(107), 상기 외부 기억 장치와 상기 RAM과의 사이의 데이터 전송을 제어하는 외부 기억 제어 회로(103)으로 되는 마이크로 컴퓨터 시스템에 있어서, 상기 외부 기억 제어 회로(103)은 내부 데이터 버스(112), 카운터(lllA, lllB), 상기 외부 기억 장치에서 리드된 데이터를 저장하는 버퍼(llOA, llOB), 상기 버퍼내의 저장 종료의 데이터중 상기 카운터에 의해 지시되는 어드레스를 갖는 데이터를 상기내부 데니터 버스 출력하는 스위치 수단(SWB, SWC), 상기 내부 데이터 버스와 상기 공통 버스 사이에 접속되고 상기 공통 버스상의 마이크로 컴퓨터가 발생한 어드레스와 리드/라이트 지시 신호(R/W) 및 상기 DMA제어 회로(106)에서의 전송 허가 신호(ACK)에 응답해서 데이터 전송 방향을 전환하는 데이터 전송 수단(108)을 갖는 마이크로 컴퓨터 시스템.
KR1019830000860A 1982-03-10 1983-03-03 외부 기억 장치 제어용 회로 KR880001167B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP57-36408 1982-03-10
JP57036408A JPS58154054A (ja) 1982-03-10 1982-03-10 外部記憶装置制御用回路

Publications (2)

Publication Number Publication Date
KR840004273A KR840004273A (ko) 1984-10-10
KR880001167B1 true KR880001167B1 (ko) 1988-07-02

Family

ID=12469004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019830000860A KR880001167B1 (ko) 1982-03-10 1983-03-03 외부 기억 장치 제어용 회로

Country Status (5)

Country Link
US (1) US4716522A (ko)
EP (1) EP0088982B1 (ko)
JP (1) JPS58154054A (ko)
KR (1) KR880001167B1 (ko)
DE (1) DE3370702D1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60233749A (ja) * 1984-05-07 1985-11-20 Sharp Corp メモリフアイル装置
JPS60254463A (ja) * 1984-05-31 1985-12-16 Sony Corp デジタルデ−タの記録ないし再生方式
JPS6155747A (ja) * 1984-08-28 1986-03-20 Toshiba Corp デ−タ転送制御回路を備えたデイジタル集積回路
DE3587635T2 (de) * 1984-10-04 1994-04-21 Bull Hn Information Syst Plattenspeichersteuergerät mit geteiltem Adressenregister.
CA1242809A (en) * 1985-12-20 1988-10-04 Mitel Corporation Data storage system
GB8609848D0 (en) * 1986-04-23 1986-05-29 British Petroleum Co Plc Transfer mechanism
AU622626B2 (en) * 1987-06-03 1992-04-16 Sony Corporation Method of processing data
EP0303751B1 (en) * 1987-08-20 1992-05-20 International Business Machines Corporation Interface mechanism for controlling the exchange of information between two devices
US5625842A (en) * 1988-05-18 1997-04-29 Zilog, Inc. System for the automatic transfer of message status in digital data communication
JP3055917B2 (ja) * 1990-05-22 2000-06-26 日本電気株式会社 データ転送制御装置
DE69127851T2 (de) * 1990-05-22 1998-04-30 Nippon Electric Co Direktspeicherzugriffübertragungssystem und Benutzung
CA2060820C (en) * 1991-04-11 1998-09-15 Mick R. Jacobs Direct memory access for data transfer within an i/o device
JPH04363745A (ja) * 1991-05-17 1992-12-16 Toshiba Corp Dmaコントローラ
US5450546A (en) * 1992-01-31 1995-09-12 Adaptec, Inc. Intelligent hardware for automatically controlling buffer memory storage space in a disk drive
JP3024422B2 (ja) * 1993-04-01 2000-03-21 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの運転方法
KR970049630A (ko) * 1995-12-30 1997-07-29 김광호 외부장치 억세스방법
US6032219A (en) * 1997-08-01 2000-02-29 Garmin Corporation System and method for buffering data
JP2000305716A (ja) * 1999-04-23 2000-11-02 Sony Corp ディスク制御装置及びディスク制御方法
US7130932B1 (en) * 2002-07-08 2006-10-31 Adaptec, Inc. Method and apparatus for increasing the performance of communications between a host processor and a SATA or ATA device
US7908080B2 (en) 2004-12-31 2011-03-15 Google Inc. Transportation routing
CN100557566C (zh) * 2006-11-10 2009-11-04 威盛电子股份有限公司 指令存取及排程的方法及其装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3999163A (en) * 1974-01-10 1976-12-21 Digital Equipment Corporation Secondary storage facility for data processing systems
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
JPS52153714A (en) * 1976-06-16 1977-12-21 Matsushita Electric Ind Co Ltd Filing device
JPS5362945A (en) * 1976-11-17 1978-06-05 Toshiba Corp Disc address system
US4161778A (en) * 1977-07-19 1979-07-17 Honeywell Information Systems, Inc. Synchronization control system for firmware access of high data rate transfer bus
JPS5454540A (en) * 1977-10-11 1979-04-28 Hitachi Ltd Data buscontrol system
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
JPS5539933A (en) * 1978-09-13 1980-03-21 Nissan Motor Co Ltd Process control device
US4241420A (en) * 1978-11-01 1980-12-23 Bank Computer Network Corporation Disk data control
FR2445557B1 (fr) * 1978-12-29 1985-09-27 Cii Honeywell Bull Dispositif de transfert de donnees
US4334287A (en) * 1979-04-12 1982-06-08 Sperry Rand Corporation Buffer memory arrangement
WO1980002755A1 (en) * 1979-06-05 1980-12-11 Burroughs Corp General purpose data buffer
JPS5789128A (en) * 1980-11-25 1982-06-03 Hitachi Ltd Controlling system for information interchange
DE3047506C2 (de) * 1980-12-17 1982-12-09 Bruker Analytische Meßtechnik GmbH, 7512 Rheinstetten Verfahren zum Übertragen von Daten und Vorrichtung zur Durchführung dieses Verfahrens
JPS57120146A (en) * 1981-01-16 1982-07-27 Hitachi Ltd Data transfer device
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging

Also Published As

Publication number Publication date
JPS58154054A (ja) 1983-09-13
US4716522A (en) 1987-12-29
KR840004273A (ko) 1984-10-10
DE3370702D1 (en) 1987-05-07
JPH046980B2 (ko) 1992-02-07
EP0088982A1 (en) 1983-09-21
EP0088982B1 (en) 1987-04-01

Similar Documents

Publication Publication Date Title
KR880001167B1 (ko) 외부 기억 장치 제어용 회로
US5251303A (en) System for DMA block data transfer based on linked control blocks
US4805137A (en) Bus controller command block processing system
US4488231A (en) Communication multiplexer having dual microprocessors
US4658349A (en) Direct memory access control circuit and data processing system using said circuit
KR0161101B1 (ko) 호스트 인터럽트 및 지시운용을 가지는 네트워크 어댑터
KR860009351A (ko) 입출력 제어 시스템
US4914575A (en) System for transferring data between an interleaved main memory and an I/O device at high speed
KR920008448B1 (ko) 데이터 프로세서
EP0464848B1 (en) Structure for enabling direct memory-to-memory transfer
EP0332151A2 (en) Direct memory access controller
JPH056901B2 (ko)
US5031097A (en) Direct memory access controller
US5089953A (en) Control and arbitration unit
US4032898A (en) Interface control unit for transferring sets of characters between a peripheral unit and a computer memory
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
JPH0221619B2 (ko)
US5781749A (en) Controller for multiple data transfer between a plurality of memories and a computer bus
EP0327782A1 (en) Bus controller command block processing system
KR19990075990A (ko) 데이터 처리 시스템
JPH0962610A (ja) Dmaコントローラ
JP2533886B2 (ja) デ―タ転送方式
JP2594611B2 (ja) Dma転送制御装置
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JPS60205652A (ja) Dma転送方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020625

Year of fee payment: 15

EXPY Expiration of term