KR19980037643A - Transmission method of DM controller - Google Patents

Transmission method of DM controller Download PDF

Info

Publication number
KR19980037643A
KR19980037643A KR1019960056433A KR19960056433A KR19980037643A KR 19980037643 A KR19980037643 A KR 19980037643A KR 1019960056433 A KR1019960056433 A KR 1019960056433A KR 19960056433 A KR19960056433 A KR 19960056433A KR 19980037643 A KR19980037643 A KR 19980037643A
Authority
KR
South Korea
Prior art keywords
transmission
data
bytes
controller
byte unit
Prior art date
Application number
KR1019960056433A
Other languages
Korean (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 KR1019960056433A priority Critical patent/KR19980037643A/en
Publication of KR19980037643A publication Critical patent/KR19980037643A/en

Links

Abstract

본 발명은 주전산기에 관한 것으로, 특히 입출력 프로세서의 디엠에이(DMA : Direct Memory Access) 전송방법에 있어서 64 바이트 단위로 정렬되지 않은 데이타에 대해서도 굳이 씨피유에 의한 단일전송을 행하지 않고 디엠에이 자체에서 이를 처리하여 단일전송이 행하여질 수 있도록 한 디엠에이 컨트롤러의 전송방법을 제공하는데 목적이 있는 것으로, 이와 같은 목적은 시스템 어드레스가 입력되면 그 데이타가 소정 바이트단위로 정렬되었는가를 판단하는 제 1 과정; 상기 제 1 과정에 의하여 소정 바이트단위로 정렬되었다고 판단되면 블럭전송 및 단일전송을 수행하고, 소정 바이트 단위로 정렬되지 않았다면 소정 바이트단위로 정렬될 때까지 단일전송을 수행하는 제 2 과정; 상기 제 2 과정 수행중 시스템 어드레스가 소정 바이트 단위로 정렬되었다면 그에 따른 블럭전송 및 단일전송을 수행하는 제 3 과정을 포함하여 수행됨으로써 달성된다.The present invention relates to a main computer, and in particular, in a direct memory access (DMA) transmission method of an input / output processor, even a data that is not aligned in units of 64 bytes does not necessarily need to be transmitted by the CPI, but is processed by the DM itself. It is an object of the present invention to provide a transmission method of a DM controller such that a single transmission can be performed. The above object is a first step of determining whether the data is aligned in a predetermined byte unit when a system address is input; A second step of performing block transmission and single transmission if it is determined that the alignment is made by a predetermined byte unit by the first process, and performing a single transmission until the alignment is performed by a predetermined byte unit if not aligned by a predetermined byte unit; If the system address is arranged in a predetermined byte unit during the second process, the process is performed by including a third process of performing block transmission and single transmission accordingly.

Description

디엠에이 컨트롤러의 전송방법Transmission method of DM controller

본 발명은 주전산기에 관한 것으로, 특히 입출력 프로세서의 디엠에이(DMA : Direct Memory Access) 전송 방법에 있어서 64 바이트 단위로 정렬되지 않은 데이타에 대해서도 굳이 씨피유에 의한 단일전송을 행하지 않고 디엠에이 자체에서 이를 처리하여 단일전송이 행하여질 수 있도록 한 디엠에이 컨트롤러의 전송방법에 관한 것이다.The present invention relates to a main computer, and in particular, in a direct memory access (DMA) transmission method of an input / output processor, even a data that is not aligned in units of 64 bytes is processed by the DM itself without performing a single transmission by the CPI. The present invention relates to a transmission method of a DM controller such that a single transmission can be performed.

일반적으로 주전산기는 도 1 에 도시된 바와 같이, 주전산기의 내부 메모리(200)에 저장된 데이타를 각종 기록매체(예를 들어 하드 디스크, 마크네틱 디스크, 자기 테이프등)에 기록하거나 주변기기(예를 들어 콘솔, 모뎀, 프린터등)를 통해 디스플레이하거나 장거리 전송하는 경우, 또는 비교적 근거리에 버스를 통해 전송하기 위해 마이크로 프로세서 유니트(100)는 메모리(200)를 제어하여 시스템 버스(300) 상에 데이타를 올린다.In general, as shown in FIG. 1, the main computer records data stored in the internal memory 200 of the main computer on various recording media (for example, a hard disk, a magnetic disk, a magnetic tape, etc.) or a peripheral device (for example, a console). , A modem, a printer, etc.) to display or to transmit over a long distance, or to transmit over a bus in a relatively short distance, the microprocessor unit 100 controls the memory 200 to upload data on the system bus 300.

만일, 기록매체(500)를 통해 상기 시스템 버스(300) 상에 올려진 데이타를 기록하는 경우 입출력 프로세서(400)는 그 데이타를 기록하기에 적당한 데이타의 형태로 변환하여 SCSI-2 버스상에 올려놓음으로써 각 기록매체 즉, 하드 디스크나 마그네틱 테이프등에 기록되어진다.If the data loaded on the system bus 300 is recorded through the recording medium 500, the input / output processor 400 converts the data into a form of data suitable for recording and uploads the data on the SCSI-2 bus. By placing them, they are recorded on each recording medium, i.e., a hard disk or a magnetic tape.

또한, 시스템 버스(300)상에 올려진 데이타를 디스플레이 하는 경우에는 SCM(600)이 주변기기(800)의 프린터나 콘솔을 통해 디스플레이하게 되고, 장거리 전송을 원하는 경우에는 모뎀을 제어하여 데이타를 국선상에 올려놓게 된다.In addition, when displaying the data loaded on the system bus 300, the SCM 600 is displayed through the printer or console of the peripheral device 800, and when the long distance transmission is desired, the data is controlled on the trunk line by controlling the modem. Put it on.

한편, 비교적 근거리에 전송하기 위한 통신망(700)을 통해 전송하고자 하는 경우에도 마찬가지로 상기 SCM(600)이 VME64 버스상에 데이타를 올려놓음으로써 WAN 컨트롤러, LAN 컨트롤러, 터미널 컨트롤러 등에 의해 전송하게 된다.On the other hand, when the transmission is to be transmitted through the communication network 700 for relatively short distance, the SCM 600 is also transmitted by the WAN controller, LAN controller, terminal controller, etc. by putting the data on the VME64 bus.

이중에서 시스템 버스(300)에 올려진 데이타를 각종 기록매체에 기록하기 위하여 데이타를 적당한 형태의 단위로 변환하여 기록하는 경우 이의 변환은 입출력 프로세서(400) 내부의 디엠에이(DMA : Direct Memory Access)에 의해 이루어진다.In order to record the data loaded on the system bus 300 on various recording media, the data is converted into a unit of an appropriate form, and the conversion thereof is performed by the direct memory access (DMA) in the input / output processor 400. Is made by.

도 2 는 디엠에이 컨트롤러의 주변 블럭도를 나타낸 것으로, 디엠에이 컨트롤러(410)는 시스템 버스 컨트롤러(420)로부터 출력되는 제어신호에 의해 시스템 버스상에 올려진 시스템 버스 어드레스를 인가받은 다음 메모리 컨트롤러(430)로부터 출력되는 제어신호에 의해 64바이트의 블럭전송을 행할 것인지 아니면 16바이트의 단일 전송을 행할 것인지를 판단하여 그에 따라 데이타 크기를 정렬시켜 데이타 버퍼 메모리(440)에 일시 저장하게 된다.2 shows a peripheral block diagram of the DM controller. The DM controller 410 receives a system bus address loaded on the system bus by a control signal output from the system bus controller 420, and then a memory controller ( The control signal output from 430 determines whether to perform a 64-byte block transfer or a 16-byte single transfer, and aligns the data size accordingly to temporarily store the data in the data buffer memory 440.

이렇게 메모리(440)에 데이타 크기가 정렬되어 일시 저장되면 그 데이타는 버퍼(45)를 통해 로컬 버스로 전송됨으로써 여기에 연결된 각 기록매체에 기록된다.When the data size is arranged and temporarily stored in the memory 440, the data is transferred to the local bus through the buffer 45 and recorded on each recording medium connected thereto.

상기 디엠에이 컨트롤러(410)의 데이타 정렬 과정을 좀 더 상세히 설명하면 다음과 같다.The data sorting process of the DM controller 410 will be described in more detail as follows.

디엠에이 컨트롤러(410)는 64 바이트의 블럭전송과 16 바이트의 단일 전송을 지원하게 되는데, 이 블럭전송과 단일전송을 구분하는 기준은 전송할 시스템 버스 어드레스 데이타의 크기로 결정된다.The DM controller 410 supports 64 bytes of block transmission and 16 bytes of single transmission. The criterion for distinguishing the block transmission from the single transmission is determined by the size of the system bus address data to be transmitted.

즉, 시스템 버스 어드레스 데이타의 크기가 64 바이트를 초과하는 경우에는 블럭전송을 수행하고, 반면에 64 바이트를 초과하지 않는 데이타에 대해서는 단일전송을 수행하게 된다.In other words, if the size of the system bus address data exceeds 64 bytes, the block transfer is performed, whereas a single transfer is performed for data not exceeding 64 bytes.

도 3 은 이러한 디엠에이 컨트롤러(410)의 상태 흐름을 나타낸 도로서, ARB2의 상태에서 블럭전송을 행할 것인지 아니면 단일 전송을 행할 것인지를 결정하게 되는데, 이를 구분해 주는 신호는 Transfer_mode라는 신호이다.FIG. 3 is a diagram illustrating a state flow of the DM controller 410. It is determined whether to perform block transmission or single transmission in the state of ARB2. A signal for distinguishing the signal is Transfer_mode.

만일 이 Transfer_mode 신호가 0이면 단일전송을 수행하게 되고, 1 이면 블럭 전송을 수행하게 되는데, 이를 HDL(Hardware Description Language)로 나타내면 다음과 같다.If this Transfer_mode signal is 0, single transmission is performed, and if 1, block transmission is performed, and this is expressed as a hardware description language (HDL) as follows.

IF wcount 64바이트 THENIF wcount 64 bytes THEN

Transfer_mode = 0 ;Transfer_mode = 0;

ELSEELSE

Transfer_mode = 1 ;Transfer_mode = 1;

END IFEND IF

여기서, wcount는 전송할 데이타의 크기이다.Where wcount is the size of data to be transmitted.

즉, 전송할 데이타의 크기인 wcount가 64 바이트보다 크거나 같으면 블럭전송을 행하도록 Transfer_mode를 1을 할당하고, 반면에 64 바이트보다 작으면 Transfer_mode 를 0 을 할당하여 단일전송을 행하게 된다.That is, if wcount, the size of data to be transmitted, is greater than or equal to 64 bytes, Transfer_mode is assigned to 1 to perform block transfer, whereas if less than 64 bytes, Transfer_mode is assigned to 0 to perform single transfer.

이 때, 블럭전송을 수행하거나 단일전송을 수행하거든 간에 한번의 전송(블럭전송일 경우에는 64 바이트, 단일전송일 경우에는 16바이트)가 종료된 다음 wcount 를 전송된 바이트 수만큼 감소시켜 남은 바이트 수가 0 이 될 때까지 전송동작을 반복하여 수행하게 된다.At this time, whether to perform block transmission or single transmission, after one transmission (64 bytes for block transmission and 16 bytes for single transmission) is finished, wcount is decreased by the number of bytes transferred and the number of bytes remaining The transmission operation is repeated until 0.

그러므로, wcount 즉, 데이타의 크기는 항상 16바이트의 배수이어야 한다.Therefore, wcount, that is, the size of data must always be a multiple of 16 bytes.

예를 들어, 전송할 시스템 어드레스 데이타의 크기가 총 175 바이트 즉, 블럭전송을 행할 64 바이트의 데이타가 2개이고, 단일 전송을 행할 16 바이트의 데이타가 3개라고 한다면 2번(64 바이트*2)의 블럭전송과 3번(16 바이트*3)의 단일전송에 의해 데이타의 전송을 마치게 된다.For example, if the total size of system address data to be transmitted is 175 bytes, that is, two 64-byte data for block transmission, and three 16-byte data for single transmission, two (64 bytes * 2) The data transfer is completed by block transmission and 3 single transmissions (16 bytes * 3).

그런데, 단일전송이 아닌 블럭전송을 행하는 경우에 전송할 시스템 어드레스 데이타의 크기는 항상 64바이트의 배수 즉, 0, 64, 128, 192,.... 이어야 한다는 것이다.By the way, in the case of performing block transmission instead of single transmission, the size of system address data to be transmitted must always be a multiple of 64 bytes, that is, 0, 64, 128, 192,...

만약 시스템 어드레스 데이타가 64 바이트의 배수가 아니라면 블럭전송을 행할 수 없고, 단일전송만을 행할 수 밖에 없다.If the system address data is not a multiple of 64 bytes, block transmission cannot be performed and only single transmission can be performed.

도 4A는 시스템 어드레스의 64 바이트 정렬상태를 보인 도로서, 이에 도시한 바와 같이 시스템 어드레스 SA[5], SA[4]가 모두 0 즉, 64바이트의 배수가 되는 곳에서는 블럭전송을 수행하고, 나머지 64 의 배수가 되는 곳에서는 단일 전송을 수행하여 64 바이트 단위로 정렬시켜 전송하게 된다.4A shows a 64 byte alignment of the system address. As shown in FIG. 4A, when the system addresses SA [5] and SA [4] are all zeros, that is, multiples of 64 bytes, block transmission is performed. Where multiples of 64 remain, a single transfer is performed, aligned in 64 byte increments.

즉, 상기한 예를 다시 들어 176 바이트의 시스템 어드레스 데이타를 전송하는 경우 어드레스 64 바이트의 배수일 때는 2 번의 64 바이트 블럭전송과 3번의 16 바이트 블럭전송으로 수행되지만 어드레스가 64바이트의 배수가 아닌 16, 32,... 등에 대한 어드레스 전송의 경우에는 일단은 전송할 어드레스가 64 바이트의 배수가 되도록 마이크로 프로세서 유니트의 씨피유가 64 바이트의 배수가 되도록 데이타를 64 바이트의 배수가 아닌 데이타를 직접 전송한 다음 이후의 데이타에 대해서 블럭단위의 디엠에이 전송을 행하게 된다.That is, for example, in the case of transmitting the system address data of 176 bytes, if the address is a multiple of 64 bytes, it is performed by two 64 byte blocks and three 16 byte blocks, but the address is not a multiple of 64 bytes. In the case of address transfer to, 32, ..., etc., first transfer the data directly, not the multiple of 64 bytes, so that the CPU of the microprocessor unit is a multiple of 64 bytes so that the address to be transferred is a multiple of 64 bytes. Block DM transmission is then performed for the subsequent data.

도 4B는 이의 블럭전송을 하기 위한 64 바이트 단위의 어드레스에 대한 올바르지 않은 정렬상태를 보인 도로서, 디엠에이 프로세서에서는 전송할 어드레스 데이타가 64 바이트로 정렬되었는가를 체크하여 정렬되지 않았다면 64 바이트로 정렬되지 않은 어드레스 데이타 부분에 대해서 씨피유가 직접 전송을 행한 다음 이후 64 바이트의 절렬된 부분에 대해서는 디엠에이가 블럭전송 및 단일전송을 행하게 되는 것이다.4B shows an incorrect alignment of an address in 64-byte units for its block transfer. In the processor, the DRAM processor checks whether the address data to be transmitted is aligned with 64 bytes, and if it is not aligned, it is not aligned with 64 bytes. CPI directly transmits the address data portion, and then the DM performs block transmission and single transmission for the 64 byte broken portion.

상기에서 설명한 일반적인 디엠에이 전송방법에 있어서, 전송할 시스템 어드레스 데이타가 64 바이트 단위로 정렬되지 않았다면 이를 체크하여 씨피유가 이 부분에 대해서 직접 전송을 담당하여야 하기 때문에 그 만큼 씨피유의 부담이 증가하게 되는 문제점이 있다.In the general DM transmission method described above, if the system address data to be transmitted is not aligned in units of 64 bytes, it is necessary to check this and that the burden of the CPI increases accordingly. have.

따라서, 본 발명에서는 이러한 종래의 문제점을 개선하기 위하여 디엠에이로 하여금 시스템 어드레스가 64 바이트로 정렬될 때까지 단일전송을 수행한 다음 이후 블럭전송을 수행함으로써 64 바이트 단위로 정렬되지 않은 시스템 어드레스에 대해서도 디엠에이 컨트롤러 자체에 의해 전송이 이루어지도록 하여 씨피유의 부담을 줄일 수 있도록 한 디엠에이 컨트롤러의 전송방법을 제공하는데 그 목적이 있다.Accordingly, in the present invention, in order to improve the conventional problem, the DM performs a single transmission until the system address is aligned to 64 bytes, and then performs a block transmission, and then, even for a system address not aligned by 64 bytes, It is an object of the present invention to provide a transmission method of the DM controller to reduce the burden of CPI by the transmission is made by the DM controller itself.

도 1 은 일반적인 주전산기를 나타낸 내부 블럭도.1 is an internal block diagram showing a general main computer.

도 2 는 도 1 의 입출력 프로세서 내부의 디엠에이 컨트롤러의 주변 블럭도.FIG. 2 is a peripheral block diagram of a DM controller inside the input / output processor of FIG. 1; FIG.

도 3 은 도 2 의 디엠에이 컨트롤러의 상태 흐름을 나타낸 도.3 is a diagram illustrating a state flow of the DM controller of FIG. 2.

도 4 는 일반적인 디엠에이 컨트롤러의 전송방식을 나타낸 도로서,4 is a diagram illustrating a transmission method of a general DM controller.

A는 전송할 시스템 어드레스의 올바른 정렬상태를 나타낸 도이고,A is a diagram showing correct alignment of system addresses to be transmitted.

B는 전송할 시스템 어드레스의 올바르지 않은 정렬상태를 나타낸 도.B is a diagram showing incorrect alignment of system addresses to be transmitted.

도 5 는 본 발명 주전산기의 디엠에이 컨트롤러의 전송방법에 따른 디엠에이 컨트롤러의 전송방식을 나타낸 도.5 is a diagram illustrating a transmission method of a DM controller according to a transmission method of a DM controller of the present invention.

도 6 은 본 발명 디엠에이 컨트롤러의 전송방법을 나타낸 흐름도.6 is a flowchart illustrating a transmission method of a DM controller of the present invention.

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

410 : 디엠에이 컨트롤러420 : 시스템 버스 컨트롤러410: DM controller 420: system bus controller

430 : 메모리 컨트롤러440 : 메모리430: memory controller 440: memory

450, 460 : 버퍼450, 460: Buffer

상기의 목적을 달성하기 위한 본 발명에 의한 디엠에이 컨트롤러의 전송방법은, 시스템 어드레스가 입력되면 그 데이타가 소정 바이트단위로 정렬되었는가를 판단하는 제 1 과정; 상기 제 1 과정에 의하여 소정 바이트단위로 정렬되었다고 판단되면 블럭전송 및 단일전송을 수행하고, 소정 바이트단위로 정렬되지 않았다면 소정 바이트단위로 정렬될 때까지 단일전송을 수행하는 제 2 과정; 상기 제 2과정 수행중 시스템 어드레스가 소정 바이트 단위로 정렬되었다면 그에 따른 블럭전송 및 단일전송을 수행하는 제 3 과정을 포함하여 수행됨을 특징으로 한다.In accordance with another aspect of the present invention, there is provided a transmission method of a DM controller, comprising: a first step of determining whether data is sorted by a predetermined byte unit when a system address is input; A second step of performing block transmission and single transmission if it is determined by the first process to be arranged in a predetermined byte unit, and performing a single transmission until sorting in a predetermined byte unit if not aligned in a predetermined byte unit; If the system address is arranged in a predetermined byte unit during the second process, the method includes a third process of performing block transmission and single transmission according to the system address.

이와 같이 이루어진 본 발명을 도 6 을 참조하여 상세히 설명한다.This invention made in this way is demonstrated in detail with reference to FIG.

스텝 100(ST100)에 의하여 시스템 어드레스가 디엠에이 컨트롤러로 입력되면 상기 디엠에이 컨트롤러는 스텝 200(ST200)에서 직접 데이타가 소정 바이트단위 즉, 64 바이트 단위로 정렬되었는가를 체크하여 정렬되어 있다면 스텝 500(ST500)에 의해 일반적인 디엠에이 전송방법과 같이 64 바이트 단위의 블럭전송 및 16 바이트 단위의 단일전송을 수행하게 되지만, 만일 데이타가 64바이트 단위로 정렬되지 않았다면 스텝 300(ST300)에 의해 소정 바이트로 정렬될 때까지 단일전송을 수행하게 된다.If the system address is input to the DM controller in step 100 (ST100), the DM controller checks in step 200 (ST200) whether the data is sorted by a predetermined byte unit, that is, in 64 byte units. ST500) performs a block transfer of 64 bytes and a single transfer of 16 bytes as in the general DM transmission method. However, if the data is not arranged in units of 64 bytes, the data is arranged in predetermined bytes by step 300 (ST300). Until a single transmission is performed.

단일전송 수행중 스텝 400(ST400)에 의해 시스템 어드레스가 소정 바이트 단위로 정렬되었는가를 계속 판단하여 64 바이트 단위로 정렬되면 그때서야 비로소 블럭전송 및 단일전송을 수행하게 된다(ST500).In step 400 (ST400), the system address is continuously determined to be aligned by a predetermined byte during the single transmission, and when it is aligned by 64 bytes, block transmission and single transmission are finally performed (ST500).

이러한 과정을 수행하기 위하여 본 발명에서는 블럭전송과 단일전송을 구분하기 위하여 도 3 의 디엠에이 컨트롤러의 상태 흐름도에서 Transfer_mode 라는 신호를 수정하여야 하는데 이를 HDL로 다시 표현하면 다음과 같다.In order to perform such a process, the present invention should modify a signal called Transfer_mode in the state flow diagram of the DM controller of FIG. 3 to distinguish block transmission from single transmission.

IF wcount 64바이트 또는 (SA[5]==1 또는 SA[4]==1)THENIF wcount 64 bytes or (SA [5] == 1 or SA [4] == 1) THEN

Transfer_mode = 0 ;Transfer_mode = 0;

ELSEELSE

Transfer_mode = 1 ;Transfer_mode = 1;

END IFEND IF

여기서, SA[5]와 SA[4]는 디엠에이 컨트롤러가 시스템 메모리로 제공하는 어드레스이다.Here, SA [5] and SA [4] are addresses provided by the DM controller to the system memory.

이 두개의 시스템 어드레스 즉, SA[5]와 SA[4]가 모두 0 일때만 64 바이트 단위로 정렬된 것으로 스텝 200(ST200)에서 판단하여 블럭전송과 단일전송을 일반적인 방법으로 수행하게 되지만, 이중 어느 하나라도 1 일 경우에는 데이타가 정렬되지 않는 것으로 판단하여 도 5 에 도시한 바와 같이 블럭전송을 행하기 전에 일단은 단일 전송을 수행하게 된다.When these two system addresses, that is, SA [5] and SA [4] are both aligned in 64 byte units only, it is determined in step 200 (ST200) that block transmission and single transmission are performed in a general manner. If any one is 1, it is determined that the data is not aligned, and as shown in Fig. 5, a single transfer is performed before the block transfer is performed.

이 때, 상기 SA[5]와 SA[4]는 1 번의 단일전송이 수행될 때마다 1 씩 증가하게 된다.At this time, the SA [5] and SA [4] are incremented by 1 each time one single transmission is performed.

즉, 종래와 같이 데이타가 비정렬된 부분에 대해서 씨피유가 직접 데이타를 전송하는 것이 아니라 일단은 1 바이트 단위의 단일전송을 디엠에이 컨트롤러가 수행한 다음 이후 64 바이트 단위로 정렬된 부분에 대해서 블럭전송 및 단일전송을 수행하는 것이다.In other words, CPI does not transmit data directly to the data unaligned part as in the prior art, but once the DM controller performs a single transmission in units of 1 byte, the block is then transmitted to the portion arranged in units of 64 bytes. And to perform a single transmission.

이를 일예를 들어 설명하면 다음과 같다.This will be described as an example.

만약 180 바이트의 데이타가 전송된다고 가정하면, 종래에는 64 바이트 단위의 2 번의 블럭전송과 16 바이트 단위의 3 번의 단일전송 이외의 4 바이트의 데이타를 씨피유가 직접 처리하여 전송하지만, 본 발명에서는 디엠에이 컨트롤러가 180 바이트의 데이타의 총 바이트수를 체크하여 데이타의 정렬상태를 판단하게 되는데, 180 바이트의 데이타이므로 64 바이트 단위로 정렬되지 않았다고 판단하여 먼저 1 바이트씩의 데이타를 단일전송하게 된다.If it is assumed that 180 bytes of data are transmitted, conventionally, 4 bytes of data other than two block transmissions of 64 bytes and three single transmissions of 16 bytes are directly processed and transmitted, but in the present invention, DM The controller checks the total number of bytes of data of 180 bytes to determine the alignment of the data. Since the data is 180 bytes, it is determined that the data is not aligned in units of 64 bytes.

이 때, 시스템 어드레스 SA[5]와 SA[4]는 단일전송이 수행될 때마다 그 값이 1 씩 증가하게 된다.At this time, the system addresses SA [5] and SA [4] are increased by 1 each time a single transmission is performed.

이렇게 증가된 시스템 어드레스의 값이 4가 되면 비로소 데이타가 64 바이트 단위로 정렬된 것이므로 2 번의 블럭전송과 3 번의 단일 전송(이 때의 단일전송을 16 바이트단위)을 행하게 됨으로써 데이타의 전송이 종료된다.When the value of the increased system address reaches 4, the data is sorted in 64 byte units. Therefore, the data transfer is terminated by performing two block transfers and three single transfers (in this case, 16 single byte transfers). .

이상에서 상세히 설명한 바와 같이 본 발명 디엠에이 컨트롤러의 전송방법은, 시스템 어드레스의 비정렬시 종래 씨피유가 담당하였던 단일전송 부분을 직접 디엠에이 컨트롤러가 담당하여 전송을 수행함으로써 씨피유의 부담을 줄일 수 있게 되어 보다 효율적인 디엠에이 전송을 수행할 수 있고, 이로 인해 전체적인 주전산기의 성능을 향상시키는 효과가 있다.As described in detail above, in the transmission method of the DM controller of the present invention, when the system address is misaligned, the burden of the CPI can be reduced by directly performing the transmission by the DM controller in charge of a single transmission part that was previously in charge of the CPI. It is possible to perform a more efficient transmission of the DM, thereby improving the performance of the overall host computer.

Claims (2)

시스템 어드레스가 입력되면 그 데이타가 소정 바이트 단위로 정렬되었는가를 판단하는 제 1 과정;A first step of determining whether the data is sorted by a predetermined byte unit when a system address is input; 상기 제 1 과정에 의하여 소정 바이트단위로 정렬되었다고 판단되면 블럭전송 및 단일전송을 수행하고, 소정 바이트단위로 정렬되지 않았다면 소정 바이트단위로 정렬될 때까지 단일전송을 수행하는 제 2 과정 ;A second step of performing block transmission and single transmission if it is determined by the first process that the data is arranged in a predetermined byte unit, and performing a single transmission until the data is arranged in a predetermined byte unit if not aligned in the predetermined byte unit; 상기 제 2 과정 수행중 시스템 어드레스가 소정 바이트 단위로 정렬되었다면 그에 따른 블럭전송 및 단일전송을 수행하는 제 3 과정을 포함하여 수행됨을 특징으로 하는 디엠에이 컨트롤러의 전송방법.If the system address is arranged in a predetermined byte unit during the second process, the third process includes performing a block transmission and a single transmission according to the method. 제 1 항에 있어서,The method of claim 1, 데이타의 정렬상태 판단은 시스템 어드레스가 모두 0 일 때만 정렬상태로 판단하는 것을 특징으로 하는 디엠에이 컨트롤러의 전송방법.Determination of the alignment state of the data transmission method of the DM controller, characterized in that it is determined only when the system address is all zero.
KR1019960056433A 1996-11-22 1996-11-22 Transmission method of DM controller KR19980037643A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960056433A KR19980037643A (en) 1996-11-22 1996-11-22 Transmission method of DM controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960056433A KR19980037643A (en) 1996-11-22 1996-11-22 Transmission method of DM controller

Publications (1)

Publication Number Publication Date
KR19980037643A true KR19980037643A (en) 1998-08-05

Family

ID=66320374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960056433A KR19980037643A (en) 1996-11-22 1996-11-22 Transmission method of DM controller

Country Status (1)

Country Link
KR (1) KR19980037643A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375233B1 (en) * 2001-03-16 2003-03-08 삼성전자주식회사 Direct memory access controller being converted transfer mode flexibly according to data transfer counter value
CN117807001A (en) * 2024-02-29 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 Task processing method and device based on DMA (direct memory access)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375233B1 (en) * 2001-03-16 2003-03-08 삼성전자주식회사 Direct memory access controller being converted transfer mode flexibly according to data transfer counter value
CN117807001A (en) * 2024-02-29 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 Task processing method and device based on DMA (direct memory access)

Similar Documents

Publication Publication Date Title
US8239580B2 (en) Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US6467034B1 (en) Data mirroring method and information processing system for mirroring data
US4460957A (en) Self-pacing serial keyboard interface for data processing system
US5905911A (en) Data transfer system which determines a size of data being transferred between a memory and an input/output device
EP0844566B1 (en) Interface apparatus for adapting data width to system bus width
JPH04328936A (en) Communication system
US5311510A (en) Data storing system for a communication control circuit
EP0473059B1 (en) Communication control system
US6453366B1 (en) Method and apparatus for direct memory access (DMA) with dataflow blocking for users
KR19980037643A (en) Transmission method of DM controller
US6349348B1 (en) Data transfer method and apparatus
KR100487199B1 (en) Apparatus and method for data transmission in dma
US6112261A (en) Data transferring system reading and temporarily storing a record until a length of the record is different from a defined record length parameter value
JPH05204816A (en) High-efficiency access method to storage data in connecting table
US5860087A (en) Data search method wherein the court-key-data (CKD) storage subsystem disconnects from the central processing unit when searching
JPH1063617A (en) Serial communication device
EP0718771B1 (en) DMA logic unit architecture
US20020010815A1 (en) Data transfer method and data recording apparatus
US5408635A (en) Method of controlling data output by direct memory access
KR960014177B1 (en) Data communication device for a parallel data processing system
JPH06259374A (en) Input/output bus controller
JPH0353736A (en) Reception buffer control system
JPH04314157A (en) Communication equipment
CN115221078A (en) Data transmission method and data processing circuit
JP2003308290A (en) Data receiver

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination