KR19980025731A - 데이터 정렬장치 - Google Patents
데이터 정렬장치 Download PDFInfo
- Publication number
- KR19980025731A KR19980025731A KR1019960043971A KR19960043971A KR19980025731A KR 19980025731 A KR19980025731 A KR 19980025731A KR 1019960043971 A KR1019960043971 A KR 1019960043971A KR 19960043971 A KR19960043971 A KR 19960043971A KR 19980025731 A KR19980025731 A KR 19980025731A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- word
- sorting
- units
- sorted
- Prior art date
Links
Landscapes
- Communication Control (AREA)
Abstract
본 발명은 데이터 정렬장치에 관한 것으로서, 특히 데이터 크기가 서로 다른 장치들에서 데이터의 크기를 호환성있게 재배치시키는 장치에 있어서, 메모리로 부터 전송되는 데이터를 워드 단위로 나누어 출력하는 워드 정렬부와, 제어신호에 응답하여 최상위 바이트부터 정렬되거나 또는 최하위 바이트부터 데이터가 정렬되고, 상기 정렬된 데이터는 바이트, 하프워드, 워드 단위로 선택할 수 있는 선택신호에 응답하여 데이터가 정렬되어 출력되는 엔디언 정렬부로 구비되는 것을 특징으로 한다.
따라서, 본 발명에서는 빅 엔디언 모드 및 리틀 엔디언 모드에 따라 원하는 데이터 크기로 데이터를 정렬시켜 출력하므로 다른 데이터 전송 특성을 가진 프로세서에도 정확하고 신속한 데이터를 전송시킬 수 있다.
Description
본 발명은 데이터 정렬장치에 관한 것으로서, 특히 메모리로부터 전송된 데이터를 데이터 크기가 다른 프로세서로 전송할 때 상기 데이터를 재배치하여 정렬시키므로서 호환성이 있게 데이터를 전송시킬 수 있는 데이터 정렬장치에 관한 것이다.
종래는 메모리로 부터 전달되는 데이터를 다른 기능의 장치로 전송시킬 경우 상기 데이터를 전송받는 목적 장치가 어떤 프로세서에 영향을 받는가에 따라서 상기 데이터를 목적 장치에 맞도록 다시 배치시켜야만 한다.
전송된 데이터가 12345678 이면 데이터의 최상위 바이트인 12… 와 같은 워드 순서로 어드레스를 차례로 정렬하는 방식을 빅 엔디언 모드(Big Endian Mode)라 하고, 데이터의 최하위 바이트인 87… 와 같은 워드 순서로 어드레스를 차례로 정렬하는 방식을 리틀 엔디언 모드(Little Endian Mode)라고 한다.
그러나, 메모리에 저장된 데이터의 크기가 목적장치의 데이터 크기보다 크거나, 작을 경우 리틀 엔디언 모드(Little Endian Mode) 및 빅 엔디언 모드(Big Endian Mode)로 원하는 데이터 크기로 정렬하기 위해서는 데이터 정렬 속도가 늦어지는 문제점이 있었다.
본 발명의 목적은 상기와 같은 데이터 정렬의 문제점을 해결하기 위하여 빅 엔디언 모드 및 리틀 엔디언 모드에 따라 정확하고 신속한 데이터 정렬장치를 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명의 장치는 데이터 크기가 서로 다른 장치들에서 데이터의 크기를 호환성있게 재배치시키는 장치에 있어서, 메모리로 부터 전송되는 데이터를 워드 단위로 나누어 출력하는 워드 정렬부와, 제어신호에 응답하여 최상위 바이트부터 정렬되거나 또는 최하위 바이트부터 데이터가 정렬되고, 상기 정렬된 데이터는 바이트, 하프워드, 워드 단위로 선택할 수 있는 선택신호에 응답하여 데이터가 정렬되어 출력되는 엔디언 정렬부로 구비되는 것을 특징으로 한다.
도 1 은 본 발명에 따른 데이터 정렬장치를 나타내는 블럭도이다.
도 2 는 본 발명의 데이터 정렬장치에 있어서 데이터 정렬을 설명하기 위한 도면이다.
*도면의 주요 부분에 대한 부호의 설명*
10: 워드 정렬부. 20: 엔디언 정렬부.
이하, 첨부한 도면을 첨부하여 본 발명을 상세하게 설명하고자 한다.
도 1 은 본 발명에 따른 데이터 정렬장치를 나타내는 일 실시예의 블록도이다.
도 1 을 참조하면, 메모리로 부터 전송되는 데이터를 각 워드 단위로 나누어 출력하는 워드 정렬부(10)와, 빅 엔디언 모드(Big Endian Mode) 또는 리틀 엔디언 모드(Little Endian Mode)를 결정하는 제어신호에 응답하여 상기 워드 단위의 데이터가 정렬되고, 상기 정렬된 데이터가 바이트(byte), 하프워드(halfword), 워드(word) 단위들로 선택하기 위한 선택신호에 응답하여 데이터가 정렬되어 출력하는 엔디언 정렬부(20)로 구성된다.
도 2 는 본 발명에 따른 데이터 정렬을 설명하기 위한 도면을 나타내는 것이다.
도 1 과 도 2 를 참조하면, 본 발명의 데이터 정렬장치는 메인 메모리로 부터 전송된 데이터를 목적 장치의 데이터 타입으로 재배치시키기 위하여 위드 정렬부(10)로 입력한다.
상기 워드 정렬부(10)를 통해 워드 단위로 데이터를 나누어 출력하고, 워드 선택신호가 0이면 워드 단위의 데이터가 순환되지 않고, 워드 선택신호가 1이면 워드 단위의 데이터는 1 워드가 순환된다.
그리고, 워드 선택신호가 10이면 워드 단위의 데이터는 2 워드가 순환되고, 워드 선택신호가 11이면 3 워드가 순환되고, 워드 선택신호가 100이면 워드 순서는 반전되어 출력된다.
그리고, 상기 워드 정렬부(10)를 통해 출력되는 데이터는 엔다인 정렬부(20)로 입력받아 빅 엔디언 모드(Big Endian Mode) 및 리틀 엔디언 모드(Little Endian Mode)를 선택하는 제어신호에 응답하여 정렬된다.
상기 정렬된 데이터는 선택신호에 따라 바이트(byte), 하프워드(halfword), 워드(word)가 결정되어 데이터가 재배치되어 정렬된다.
상기 선택신호가 0 일 때 데이터의 바이트(byte)는 천이되지 않고, 선택신호가 1일 때 데이터는 1 바이트(byte) 천이된다. 그리고, 선택신호가 10일 때 데이터는 2 바이트(byte) 천이되고, 선택신호가 11일 때 데이터는 3 바이트(byte) 천이된다. 또한 선택신호가 100일 때 빅 엔디언 워드(Big Endian Word)가 되고, 선택신호가 101일 때 빅 엔디언 하프 워드(Big Endian Half Word)가 된다.
그리고, 선택신호가 110일 때 2 바이트(byte) 천이를 가지는 빅 엔디언 하프 워드(Big Endian Half Word)가 되고, 선택신호가 111일 때 반전된 빅 엔디언 하프 워드(Big Endian Half Word)가 된다.
또한, 상기 엔디언 정렬부(20)는 데이터 타입이 스칼라인 경우 한 클럭신호에 동기되어 4개 워드가 출력되고, 벡타인 경우 두 개의 클럭신호에 동기되어 4개 워드를 각각 출력하여 8개 워드가 출력된다.
그러므로, 상기 엔디언 정렬부(20)에서 엔디언 모드에 따라 데이터가 정렬되고, 선택신호에 따라 바이트(byte), 하프워드(halfword), 워드(word) 단위로 데이터 크기가 선택되어 데이터가 정렬된다.
본 발명은 빅 엔디언 모드 및 리틀 엔디언 모드에 따라 원하는 데이터 크기로 데이터를 정렬시켜 출력하므로서, 다른 데이터 전송 특성을 가진 프로세서에도 정확하고 신속한 데이터를 전송시킬 수 있는 효과가 있다.
Claims (1)
- 데이터 크기가 서로 다른 장치들에서 데이터의 크기를 호환성있게 재배치시키는 장치에 있어서, 메모리로 부터 전송되는 데이터를 워드 단위로 나누어 출력하는 워드 정렬부와, 제어신호에 응답하여 최상위 바이트부터 정렬하거나 또는 최하위 바이트부터 데이터가 정렬되고, 상기 정렬된 데이터는 바이트, 하프워드, 워드 단위로 선택할 수 있는 선택신호에 응답하여 데이터가 정렬되어 출력되는 엔디언 정렬부로 구비되는 것을 특징으로 하는 데이터 정렬장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960043971A KR19980025731A (ko) | 1996-10-04 | 1996-10-04 | 데이터 정렬장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960043971A KR19980025731A (ko) | 1996-10-04 | 1996-10-04 | 데이터 정렬장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980025731A true KR19980025731A (ko) | 1998-07-15 |
Family
ID=66325216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960043971A KR19980025731A (ko) | 1996-10-04 | 1996-10-04 | 데이터 정렬장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19980025731A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100412475B1 (ko) * | 2000-08-01 | 2003-12-31 | 학교법인 인하학원 | 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기 |
-
1996
- 1996-10-04 KR KR1019960043971A patent/KR19980025731A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100412475B1 (ko) * | 2000-08-01 | 2003-12-31 | 학교법인 인하학원 | 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4959779A (en) | Dual byte order computer architecture a functional unit for handling data sets with differnt byte orders | |
US5513145A (en) | FIFO memory device capable of writing contiguous data into rows | |
US5042004A (en) | Programmable logic device with subroutine stack and random access memory | |
US6777979B1 (en) | FIFO memory architecture | |
EP0047440A1 (en) | Shift circuit | |
US5381529A (en) | Shift register with dual clock inputs for receiving and sending information between I/O channels and host based on external and internal clock inputs respectively | |
US6212591B1 (en) | Configurable I/O circuitry defining virtual ports | |
US4149263A (en) | Programmable multi-bit shifter | |
EP0198341A2 (en) | Digital data processing circuit having a bit reverse function | |
KR900015008A (ko) | 데이터 프로세서 | |
US6877019B2 (en) | Barrel shifter | |
US5119487A (en) | Dma controller having programmable logic array for outputting control information required during a next transfer cycle during one transfer cycle | |
KR100287600B1 (ko) | 확장가능한레지스터를제공하는데이타처리시스템및그방법 | |
EP0167959B1 (en) | Computer vector register processing | |
US4575796A (en) | Information processing unit | |
KR19980025731A (ko) | 데이터 정렬장치 | |
KR930008047B1 (ko) | Dma 콘트롤러 | |
US5426766A (en) | Microprocessor which holds selected data for continuous operation | |
US5124910A (en) | Microprogram control apparatus for generating a branch condition signal to be designated by a micro-branch instruction | |
GB1602421A (en) | Processors for data processing systems | |
US5257385A (en) | Apparatus for providing priority arbitration in a computer system interconnect | |
KR920022672A (ko) | 프로그래머블 로직 유니트회로 및 프로그래머블 로직회로 | |
EP0234187B1 (en) | Programmably controlled shifting mechanism in a programmable unit having variable data path widths | |
US5233695A (en) | Microprocessor with a reduced size microprogram | |
US5497474A (en) | Data stream addressing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |