KR100770448B1 - Bit extracting device and microprocessor using this bit extracting device - Google Patents
Bit extracting device and microprocessor using this bit extracting device Download PDFInfo
- Publication number
- KR100770448B1 KR100770448B1 KR1020010031729A KR20010031729A KR100770448B1 KR 100770448 B1 KR100770448 B1 KR 100770448B1 KR 1020010031729 A KR1020010031729 A KR 1020010031729A KR 20010031729 A KR20010031729 A KR 20010031729A KR 100770448 B1 KR100770448 B1 KR 100770448B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- bit
- register
- memory
- bits
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 가변장 부호화된 데이터를 복원하는 과정에서 필요한 연속적인 비트를 효율적으로 추출하여 실시간 처리가 가능하도록 하는 비트 추출기에 관한 것이다. 본 발명에 의한 비트 추출기는 메모리 데이터 저장부와 잔여 데이터 정렬부와 비트 추출부와 제어부를 포함하고 있다. 메모리 데이터 저장부는 메모리로부터 데이터를 판독하여 저장한다. 잔여 데이터 정렬부는 메모리 데이터 저장부로부터 입력받은 데이터 중에서 추출되고 남은 데이터를 바이트 정렬시킨다. 비트 추출부는 잔여 데이터 정렬부로부터 비트 데이터를 추출하여 오른쪽 정렬시켜 출력한다. 제어부는 비트 추출부로 하여금 소정수의 비트를 출력하도록 하는 쉬프트 제어신호와, 메모리 데이터 저장부에 저장된 모든 데이터가 비트 추출부를 통하여 추출된 경우 메모리 데이터 저장부로 하여금 메모리의 다음 데이터를 판독하도록 하는 메모리 판독 인에이블 신호를 생성한다. The present invention relates to a bit extractor for efficiently extracting consecutive bits necessary in a process of restoring variable length coded data to enable real-time processing. The bit extractor according to the present invention includes a memory data storage unit, a residual data alignment unit, a bit extractor, and a controller. The memory data storage unit reads and stores data from the memory. The residual data alignment unit performs byte alignment on the remaining data extracted from the data received from the memory data storage unit. The bit extractor extracts the bit data from the residual data alignment unit and right-aligns the bit data. The control unit reads a shift control signal for causing the bit extracting unit to output a predetermined number of bits and a memory reading for causing the memory data storage unit to read the next data in the memory when all data stored in the memory data storage unit are extracted through the bit extracting unit. Generate an enable signal.
비트 추출, 가변장 부호화, 배럴 쉬프트 회로, 메모리 동작Bit Extraction, Variable Length Coding, Barrel Shift Circuit, Memory Operation
Description
도 1은 본 발명에 의한 비트 추출 장치가 적용되는 전체 시스템의 블록도.1 is a block diagram of an entire system to which a bit extraction apparatus according to the present invention is applied.
도 2는 본 발명의 일 실시예에 의한 비트 추출부의 구성도.2 is a block diagram of a bit extracting unit according to an embodiment of the present invention;
도 3은 본 발명에 의한 제어부의 블록도.3 is a block diagram of a control unit according to the present invention.
도 4는 본 발명의 다른 실시예에 의한 비트 추출부의 구성도.4 is a block diagram of a bit extracting unit according to another embodiment of the present invention;
[도면의 참조부호에 대한 설명][Description of Reference Symbol in Drawing]
101 : 메모리 103 : 비트 추출부101: memory 103: bit extraction unit
105 : 제어부 S1 S3 : 배럴 쉬프트 회로105: control unit S1 S3: barrel shift circuit
R1, R5 : 레지스터 M1, M3 : 멀티플렉서R1, R5: Registers M1, M3: Multiplexers
301 : 추출 비트수 레지스터 303 : 어드레스 카운터301: Number of extracted bits register 303: Address counter
305 : 쉬프트 비트수 카운터 307 : 제어신호 생성부305: shift bit counter 307: control signal generation unit
본 발명은 비트 추출기에 관한 것으로 특히, 가변장 부호화(variable length coding : 이하 VLC라고 함)된 데이터를 복원하는 과정에서 필요한 연속적인 비트를 효율적으로 추출하여 실시간 처리가 가능하도록 하는 비트 추출기에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bit extractor, and more particularly, to a bit extractor capable of efficiently extracting consecutive bits required in a process of restoring variable length coding (VLC) data in real time. .
인터넷 및 정보처리기술의 발달과 더불어 대용량의 데이터를 전송할 필요성이 날로 커지고 있다. 대용량의 데이터를 제한된 통신채널 상에서 효율적으로 전송하기 위해 다양한 압축 및 복원 기술이 사용되고 있으며, 이러한 기술들의 핵심은 허프만 코드(Huffman code)와 같은 가변장 부호를 이용하는데 있다. With the development of the Internet and information processing technology, the need for transmitting large amounts of data is increasing day by day. Various compression and decompression techniques are used to efficiently transmit large amounts of data on limited communication channels, and the core of these techniques is to use variable length codes such as Huffman codes.
한편, 역사적으로 필요에 따라 다양한 용도의 특화 프로세서들(dedicated processors)이 등장하여 왔다. 그러나 데이터의 압축 및 복원을 하드웨어적으로 처리하는 문제는 비교적 최근에야 그 중요성이 대두되기 시작했으며, 아직까지는 대부분이 DSP(digital signal processor)와 같은 범용 프로세서에 소프트웨어를 탑재하여 구현되었다. Historically, dedicated processors for various purposes have emerged as needed. However, the problem of hardware processing of data compression and decompression has only recently become important, and so far, most of them have been implemented by installing software in general-purpose processors such as digital signal processors (DSPs).
가변장 부호를 하드웨어적으로 처리하기 위해서는 바이트 또는 워드 단위로 메모리에 저장되어 있는 데이터로부터 필요한 비트들을 연속적으로 추출하여 사용할 수 있어야 한다. 이 때 추출된 비트들은 다음 과정의 처리에 알맞도록 오른쪽 정렬(right align)이 되어 있어야 하며, 추출되고 남은 비트들은 다음 번 추출을 위해 왼쪽 정렬(left align)이 되어 있어야 한다. 이 때 어려운 점은 사용하는 비트수가 일정 길이를 가지지 않기 때문에 메모리에 저장된 데이터의 경계(boundary)를 무시하고 비트들을 필요한 길이만큼 끊어서 사용할 수 있어야 한다는 것이다. In order to process the variable length code in hardware, it is necessary to continuously extract necessary bits from data stored in memory in byte or word units. At this time, the extracted bits must be right aligned to suit the processing of the next process, and the remaining bits must be left aligned for the next extraction. The difficulty here is that because the number of bits used does not have a certain length, it is necessary to ignore the boundaries of the data stored in memory and break the bits as necessary.
이러한 처리의 수행을 위해 꼭 필요한 것은 배럴 쉬프트 회로(barrel shifter)와 수치 논리 연산 회로(arithmetic/logix unit : 이하 ALU"라고 함) 이다. 일반적인 DSP의 경우 배럴 쉬프트 회로는 제공되지 않을 수도 있으며, 비록 제공된다 하더라도 상기한 바와 같은 복잡한 연산을 ALU와 배럴 쉬프트 회로만으로 처리하는 것은 상당히 비효율적이다. 즉, 연산량이 증가하고 매우 많은 회수의 메모리 읽기가 필요하다는 문제점이 있다. Barrel shifters and arithmetic / logix units (hereinafter referred to as ALUs) are essential for the performance of these processes. In general DSPs, barrel shifters may not be provided. Even if provided, processing such complex operations with only the ALU and barrel shift circuits is quite inefficient, ie, the amount of computation increases and a very large number of memory reads are required.
따라서 본 발명은 연속적으로 필요한 만큼의 비트들을 추출하는데 보다 효율적인 하드웨어 구조를 제안하는 것을 일 목적으로 한다. Accordingly, an object of the present invention is to propose a more efficient hardware structure for extracting as many bits as necessary continuously.
또한 본 발명은 비트 추출 연산을 효율적으로 수행하는 마이크로 프로세서를 제안하는 것을 다른 목적으로 한다. Another object of the present invention is to propose a microprocessor which efficiently performs bit extraction operations.
전술한 바와 같은 목적을 달성하기 위하여 본 발명은 메모리에 저장되어 있는 데이터로부터 비트 데이터를 연속적으로 추출하는 장치로서, 메모리 데이터 저장부와 잔여 데이터 정렬부와 비트 추출부와 제어부를 포함하고 있다. 메모리 데이터 저장부는 메모리로부터 데이터를 판독하여 저장한다. 잔여 데이터 정렬부는 메모리 데이터 저장부로부터 입력받은 데이터 중에서 추출되고 남은 데이터를 바이트 정렬시킨다. 비트 추출부는 잔여 데이터 정렬부로부터 비트 데이터를 추출하여 오른쪽 정렬시켜 출력한다. 제어부는 비트 추출부로 하여금 소정수의 비트를 출력하도록 하는 쉬프트 제어신호와, 메모리 데이터 저장부에 저장된 모든 데이터가 비트 추출부를 통하여 추출된 경우 메모리 데이터 저장부로 하여금 메모리의 다음 데이터를 판독하도록 하는 메모리 판독 인에이블 신호를 생성한다. In order to achieve the above object, the present invention is a device for continuously extracting bit data from the data stored in the memory, and includes a memory data storage unit, a residual data alignment unit, a bit extracting unit and a control unit. The memory data storage unit reads and stores data from the memory. The residual data alignment unit performs byte alignment on the remaining data extracted from the data received from the memory data storage unit. The bit extractor extracts the bit data from the residual data alignment unit and right-aligns the bit data. The control unit reads a shift control signal for causing the bit extracting unit to output a predetermined number of bits and a memory reading for causing the memory data storage unit to read the next data in the memory when all data stored in the memory data storage unit are extracted through the bit extracting unit. Generate an enable signal.
메모리 데이터 저장부는 제1 레지스터와 제1 배럴 쉬프트 회로와 제1 멀티플 렉서를 구비하고 있다. 제1 레지스터는 메모리로부터 판독되는 L 비트의 워드 데이터를 저장한다. 제1 배럴 쉬프트 회로는 제1 레지스터에 저장된 워드 데이터를 입력받고, 쉬프트 제어신호에 의해 특정된 비트만큼 입력받은 데이터를 쉬프트시킨 후에 쉬프트된 결과를 출력한다. 제1 멀티플렉서는 메모리로부터 데이터를 판독할 때는 판독되는 데이터를 입력받아 제1 레지스터로 출력하고, 제1 배럴 쉬프트 회로가 쉬프트 동작을 한 후에는 쉬프트된 결과인 L 비트를 입력받아 제1 레지스터로 출력한다. The memory data storage unit includes a first register, a first barrel shift circuit, and a first multiplexer. The first register stores L bits of word data read from the memory. The first barrel shift circuit receives word data stored in the first register, shifts the input data by the bit specified by the shift control signal, and outputs the shifted result. When the first multiplexer reads data from the memory, the first multiplexer receives the read data and outputs the read data to the first register. After the first barrel shift circuit performs the shift operation, the first multiplexer receives the L bit, which is the result of the shift, is output to the first register. do.
잔여 데이터 정렬부는 제2 레지스터와 제2 배럴 쉬프트 회로를 구비하고 있다. 제2 레지스터는 M 비트의 데이터를 저장한다. 제2 배럴 쉬프트 회로는 제1 레지스터에 저장된 L 비트의 데이터를 하위비트 데이터로 입력받고, 제2 레지스터에 저장된 M 비트의 데이터를 상위비트 데이터로 입력받아서 쉬프트 제어신호에 의해 특정된 비트만큼 입력받은 데이터를 쉬프트시킨 후에 쉬프트된 결과인 M 비트를 제2 레지스터로 피드백시킨다. 잔여 데이터 정렬부는 메모리로부터 판독되는 출력 데이터와 제2 배럴 쉬프트 회로로부터의 출력인 M 비트의 데이터를 입력으로 받아 어느 한 데이터를 제2 레지스터로 출력하는 제2 멀티플렉서를 더 포함하는 것이 바람직하다. The remaining data alignment section includes a second register and a second barrel shift circuit. The second register stores M bits of data. The second barrel shift circuit receives the L bit data stored in the first register as the lower bit data, receives the M bit data stored in the second register as the upper bit data, and receives the bit specified by the shift control signal. After shifting the data, the shifted M bit is fed back to the second register. The residual data alignment unit preferably further includes a second multiplexer which receives the output data read out from the memory and the M bit data which is the output from the second barrel shift circuit and outputs any data to the second register.
비트 추출부는 제3 레지스터와 제3 배럴 쉬프트 회로와 제3 멀티플렉서를 구비하고 있다. 제3 레지스터는 N 비트의 데이터를 저장한다. 제3 배럴 쉬프트 회로는 제2 레지스터에 저장된 M 비트의 데이터를 하위비트 데이터로 입력받고, 제3 레지스터에 저장된 N 비트의 데이터를 상위비트 데이터로 입력받아서 쉬프트 제어신 호에 의해 특정된 비트만큼 입력받은 데이터를 쉬프트시킨 후에 쉬프트된 결과를 출력한다. 제3 멀티플렉서는 제3 배럴 쉬프트 회로가 쉬프트 동작을 한 후에는 쉬프트된 결과의 출력 데이터인 N 비트를 입력받아 제3 레지스터로 출력하고, 제3 레지스터에 저장된 데이터가 판독된 후에는 N 비트의 0 데이터를 입력받아 제3 레지스터로 출력한다. The bit extracting section includes a third register, a third barrel shift circuit, and a third multiplexer. The third register stores N bits of data. The third barrel shift circuit receives the M bit data stored in the second register as the low bit data, the N bit data stored in the third register as the high bit data, and inputs the bit specified by the shift control signal. After shifting the received data, output the shifted result. The third multiplexer receives the N bits, which are output data of the shifted result after the third barrel shift circuit performs the shift operation, and outputs the N bits to the third register, and after the data stored in the third register is read, 0 bits of N bits. The data is input and output to the third register.
제어부는 메모리 판독 인에이블 신호에 따라 데이터가 판독되는 메모리의 위치를 표시하는 어드레스 신호를 더 생성한다. 또한 제어부는 메모리로부터 새로운 데이터 워드가 판독되어 제1 레지스터에 저장된 후, 제1 배럴 쉬프트 회로에서 쉬프트된 비트수와, 제2 레지스터에 저장된 데이터의 내용으로부터 쉬프트될 비트수를 결정하여 쉬프트 제어신호를 생성한다. 제어부는 메모리로부터 새로운 데이터 워드가 판독되어 제1 레지스터에 저장된 후, 제1 배럴 쉬프트 회로에서 쉬프트된 비트수가 데이터 워드의 비트수와 동일한 경우 메모리 판독 인에이블 신호를 생성한다. 또한 제어부는 제1 내지 제3 배럴 쉬프트 회로에서의 쉬프트 후에 제1 내지 제3 레지스터에 대한 로딩(loading)을 인에이블 시키는 로딩 인에이블 신호를 생성한다. The control unit further generates an address signal indicating the location of the memory from which data is read in accordance with the memory read enable signal. In addition, the control unit reads a new data word from the memory and stores it in the first register, and then determines the number of bits shifted in the first barrel shift circuit and the number of bits to be shifted from the contents of the data stored in the second register. Create After the new data word is read from the memory and stored in the first register, the controller generates a memory read enable signal when the number of bits shifted in the first barrel shift circuit is equal to the number of bits of the data word. The control unit also generates a load enable signal for enabling loading of the first to third registers after the shift in the first to third barrel shift circuits.
제어부는 추출하고자 하는 비트수를 기억하는 추출 비트수 레지스터와, 메모리 판독 인에이블 신호에 따라 판독될 데이터 워드의 어드레스를 생성하는 어드레스 카운터와, 메모리로부터 새로운 데이터 워드가 판독되어 제1 레지스터에 저장된 후, 제1 배럴 쉬프트 회로에서 쉬프트된 비트수를 기억하는 비트수 카운터와, 비트수 카운터로부터의 쉬프트된 비트수와 추출 비트수 레지스터로부터의 추출하고자 하는 비트수를 비교하여 쉬프트 제어신호 또는 메모리 판독 인에이블 신호를 생성하는 제어신호 생성부를 구비하고 있다. The control unit includes: an extraction bit number register for storing the number of bits to be extracted; an address counter for generating an address of a data word to be read according to the memory read enable signal; and a new data word is read from the memory and stored in the first register. And compares the bit number counter for storing the shifted bit number in the first barrel shift circuit with the shifted bit number from the bit number counter and the number of bits to be extracted from the extraction bit number register. And a control signal generator for generating an enable signal.
제1 레지스터에 저장되는 데이터의 비트수 L은 메모리의 워드 비트수인 것이 바람직하다. 또한 제2 레지스터의 비트수는 메모리 워드의 비트수와 동일하고, 제2 배럴 쉬프트 회로의 출력 비트수도 메모리 워드의 비트수와 동일한 것이 바람직하다. The number of bits L of data stored in the first register is preferably the number of word bits of the memory. It is also preferable that the number of bits of the second register is equal to the number of bits of the memory word, and the number of output bits of the second barrel shift circuit is also equal to the number of bits of the memory word.
별개의 여러 비트 스트림(bit stream)을 처리하기 위해 기존에 처리하던 비트 스트림을 일시적으로 저장하는 백업용 제5 내지 제6 레지스터를 더 구비하는 것이 바람직하다. 제5 레지스터는 제2 레지스터에 저장된 데이터를 입력으로 받아서 제2 멀티플렉서의 입력으로 제공하며, 제6 레지스터는 제1 레지스터에 저장된 데이터를 입력으로 받아서 제1 멀티플렉서의 입력으로 제공한다. 또한 다른 구성요소와의 데이터 전송을 위하여 제1 내지 제3 레지스터의 출력단자에 연결되며, 제1 내지 제3 멀티플렉서의 하나의 입력단자에 연결되는 데이터 버스를 더 구비하는 것이 바람직하다.It is preferable to further include the fifth to sixth registers for backup which temporarily store the bit streams which have been previously processed to process several separate bit streams. The fifth register receives data stored in the second register as an input and provides it as an input of the second multiplexer, and the sixth register receives data stored in the first register as an input and provides it as an input of the first multiplexer. In addition, it is preferable to further include a data bus connected to the output terminal of the first to third registers for data transmission with other components, and to one input terminal of the first to third multiplexers.
전술한 바와 같은 구성을 통하여 필요한 비트들이 순차적으로 물 흐르듯이 추출됨으로써 새로운 데이터를 읽어올 때만 메모리 연산을 수행하여 불필요한 메모리 연산을 배제한다. Through the above-described configuration, the necessary bits are sequentially extracted as water flows, thereby performing memory operations only when reading new data, thereby eliminating unnecessary memory operations.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리킨다. Hereinafter, with reference to the accompanying drawings will be described embodiments of the present invention; Like reference numerals in the drawings indicate the same or similar components.
도 1은 본 발명에 의한 비트 추출 장치가 적용되는 전체 시스템의 블록도이 다. 도 1에서 101은 메모리, 103은 비트 추출부, 105는 제어부를 각각 가리킨다. 비트 추출부(103)는 메모리 출력단자(RamOut)를 통하여 메모리(101)로부터 데이터를 워드 단위로 판독하여 저장한다. 제어부(105)는 출력단자(Out1)를 통하여 비트 추출부(103)로부터 바이트 정렬된 잔여 데이터를 읽는다. 제어부(105)는 이 잔여 데이터로부터 다음에 몇 비트를 추출할 지를 특정하는 쉬프트 제어신호(ShiftAmt)를 생성하여 비트 추출부(103)로 전송하고, 비트 추출부(103)는 저장되어 있는 데이터를 쉬프트시킴으로써 이 쉬프트 제어신호(ShiftAmt)에 의해 특정되는 비트수만큼의 비트를 추출하여 출력단자(Out2)를 통해 출력한다. 제어부(105)는 추출되고 남은 데이터의 상태를 저장하기 위하여 로드 인에이블 신호(LoadEn)를 생성하여 비트 추출부(103)로 전송하고, 비트 추출부(103)는 이 로드 인에이블 신호를 내부에 구비된 레지스터들의 로드 인에이블 신호로 사용한다. 메모리(101)로부터 새롭게 판독되어 비트 추출부(103)에 저장된 데이터가 비트 추출부(103)로부터 모두 추출되면, 제어부(105)는 메모리 판독 인에이블 신호(RamRead)를 생성하므로 메모리(101)로부터 새로운 데이터가 판독되어 메모리 출력단자(RamOut)를 경유하여 비트 추출부(103)에 저장되도록 한다. 제어부(105)는 메모리(101)로부터 새로운 데이터가 비트 추출부(103)로 저장된 후, 발생된 쉬프트 제어신호(ShiftAmt)를 모니터링함으로써 메모리 판독 인에이블 신호(RamRead)의 발생 시점을 판정한다. 데이터가 판독될 메모리(101)의 위치는 제어부(105)로 발생하는 메모리 어드레스 신호(RamAddr)에 의해 특정된다. 1 is a block diagram of an entire system to which a bit extraction apparatus according to the present invention is applied. In FIG. 1, 101 denotes a memory, 103 denotes a bit extractor, and 105 denotes a controller. The
도 2는 본 발명의 일 실시예에 의한 비트 추출부의 구성도이다. 도 2에 도시 되어 있는 바와 같이, 본 실시예에 의한 비트 추출부는 연속적인 비트 추출 과정이 끊임없이 이루어지도록 배럴 쉬프팅(barrel shifting) 기능을 가진 3개의 배럴 쉬프트 회로(S1, S2, S3)들을 직렬로 배치한 구조이다. 본 실시예에 의한 비트 추출부는 3개의 레지스터(R1, R2, R3)와, 3개의 멀티플렉서(M1, M2, M3)를 더 구비하고 있다. 2 is a block diagram of a bit extracting unit according to an embodiment of the present invention. As shown in FIG. 2, the bit extracting unit according to the present embodiment serially integrates three barrel shifting circuits S1, S2, and S3 having a barrel shifting function to continuously perform a continuous bit extraction process. It is a structure arranged. The bit extracting unit according to the present embodiment further includes three registers R1, R2, and R3, and three multiplexers M1, M2, and M3.
배럴 쉬프트 회로(S1, S2, S3)는 모두 레프트 쉬프트 회로(left shift circuit)이거나 라이트 쉬프트 회로(right shift circuit)이다. 단 라이트 쉬프트 회로인 경우 R1과 R3의 역할이 뒤집어 지므로 이에 따른 연결관계도 모두 바뀐다. 각 레지스터의 출력은 해당 배럴 쉬프트 회로의 입력으로 연결되고, 또한 제2 레지스터(R2)의 출력은 출력단자(OUT1)으로, 제3 레지스터(R3)의 출력은 출력단자(OUT2)로 전달된다. 레지스터와 쉬프트 회로의 비트수는 메모리의 출력 비트수와 일치한다. 단 R2와 R3, S3와 S2, M3와 M2의 비트수는 1 바이트(8 비트)이고, R1, M1, S1의 비트수만 메모리 워드의 비트수와 같게 할 수 있다. 이와 달리 각 레지스터의 비트수를 메모리 워드의 비트수의 정수배로 구성할 수도 있다. 이와 같은 약간의 변동은 숙련된 설계자의 의도에 따라 얼마든지 변형이 가능하다. The barrel shift circuits S1, S2, S3 are all left shift circuits or right shift circuits. However, in the case of the light shift circuit, the roles of R1 and R3 are reversed, and thus the connection relationship is also changed. The output of each register is connected to the input of the corresponding barrel shift circuit, and the output of the second register R2 is transferred to the output terminal OUT1 and the output of the third register R3 is transferred to the output terminal OUT2. The number of bits in the register and shift circuit matches the number of output bits in the memory. However, the number of bits of R2 and R3, S3 and S2, M3 and M2 is one byte (8 bits), and only the number of bits of R1, M1, and S1 can be equal to the number of bits in the memory word. Alternatively, the number of bits in each register may be configured as an integer multiple of the number of bits in the memory word. Such slight variations can be modified as many as the intention of the skilled designer.
제1 레지스터(R1)와 제1 배럴 쉬프트 회로(S1)와 제1 멀티플렉서(M1)는 메모리(101)로부터 데이터를 판독하여 저장하는 메모리 데이터 저장부를 구성한다. 제1 멀티플렉서(M1)는 메모리 출력단자(RamOut)를 경유하는 메모리 출력과 제1 배럴 쉬프트 회로(S1)의 출력을 2개의 입력으로 받아 들이며, 비트 추출 과정에 따라 제1 레지스터(R1)로 출력한다. 메모리(101)로부터 판독되어 제1 레지스터(R1)에 저장되어 있던 데이터는 제1 배럴 쉬프트 회로(S1)의 상위 비트에 저장되며, 하위 비트에는 메모리 워드의 비트수와 동일한 비트수의 0 데이터가 저장된다. 이렇게 제1 배럴 쉬프트 회로(S1)에 데이터가 저장된 후에 소정수 비트만큼, 예를 들어, 왼쪽으로 쉬프트된 결과를 다시 제1 멀티플렉서(M1)를 경유하여 제1 레지스터(R1)에 저장된다. 제1 배럴 쉬프트 회로(S1)에서 얼마나 쉬프트되는가는 전술한 바와 같이 제어부(105)에 의해 생성된 쉬프트 제어신호(ShiftAmt)에 의해 특정된다. 제1 배럴 쉬프트 회로(S1)의 하위 비트에 메모리 워드의 비트수와 동일한 수의 0 데이터를 저장하는 것은 제1 배럴 쉬프트 회로(S1)가 다른 배럴 쉬프트 회로(S2, S3)와 동일한 크기를 갖도록 하기 위해서이다. The first register R1, the first barrel shift circuit S1, and the first multiplexer M1 constitute a memory data storage unit for reading and storing data from the
제2 레지스터(R2)와 제2 배럴 쉬프트 회로(S2)와 제2 멀티플렉서(M2)는 메모리 데이터 저장부로부터 입력받은 데이터 중에서 추출되고 남은 데이터를 바이트 정렬시키는 잔여 데이터 정렬부를 구성한다. 잔여 데이터 정렬부는 실제로 추출될 비트들을 결정하기 위하여 바이트 정렬(byte alignment)된 데이터(reference output)를 제공한다. 제2 멀티플렉서(M2)는 메모리(101)로부터 판독된 데이터와 제2 배럴 쉬프트 회로(S2)에 저장된 데이터 중에서 메모리 워드 크기의 상위 비트 데이터를 그 입력으로 갖으며, 이 두 입력은 데이터 추출 과정에 따라 제2 레지스터(R2)에 출력된다. 먼저 메모리(101)로부터 판독된 데이터가 제2 멀티플렉서(M2)를 경유하여 제2 레지스터(R2)에 저장된다. 제2 레지스터(R2)에 저장된 내용은 제2 배럴 쉬프트 회로(S2)의 상위 비트에 저장되고, 제1 레지스터(R1)에 저장된 내용이 하위 비트에 저장된다. 제2 배럴 쉬프트 회로(S2)에 저장된 내용은 제1 배럴 쉬프 트 회로(S1)와 동일하게 쉬프트 제어신호(ShiftAmt)에 의해 특정된 비트수만큼, 예를 들어 왼쪽으로 데이터를 쉬프트시키며, 쉬프트된 결과인 메모리 워드 크기의 데이터를 다시 피드백시켜 제2 멀티플렉서(M2)의 입력으로 제공한다. The second register R2, the second barrel shift circuit S2, and the second multiplexer M2 form a residual data alignment unit for byte-aligning the extracted data remaining from the data received from the memory data storage unit. The residual data alignment provides byte aligned data (reference output) to determine the bits to be actually extracted. The second multiplexer M2 has, as its input, upper bit data of a memory word size among the data read from the
제2 레지스터(R2)의 비트수는 도 3의 VLC 디코딩 회로가 참조하는 비트수보다 크거나 같아야 한다. 그러나 제2 레지스터(R2)의 비트수가 메모리 워드의 비트수와 동일하고, 제2 배럴 쉬프트 회로(S2) 출력부의 비트수도 메모리 워드의 비트수와 동일한 것이 바람직하다. 제2 레지스터(R2)에 저장된 내용은 제1 출력단자(OUT1)를 통해 출력되어, 예를 들어 VLC 디코딩 회로의 입력으로 제공된다. VLC 디코딩 회로로부터 다음에 추출될 코드의 길이가 몇 비트인지를 판정한다. 이러한 판정은 제2 레지스터(R2)가 데이터로 채워진 상태에서 수행될 수 있다. 따라서 초기화 과정에서 제1 레지스터(R1)은 물론 제2 레지스터(R2) 역시 메모리(101)로 판독된 데이터로 채워져야 한다. 제2 멀티플렉서(M2)는 이러한 초기화 과정을 신속하게 수행하기 위해 구비된 것이다. 만약에 제2 멀티플렉서(M2)가 없다면 제1 레지스터(R1)에 데이터를 먼저 저장하고, 이를 제2 배럴 쉬프트 회로(S2)에서 쉬프트시켜 제2 레지스터(R2)에 저장하는 번거스러운 과정을 거쳐야 한다. The number of bits of the second register R2 must be greater than or equal to the number of bits referred to by the VLC decoding circuit of FIG. 3. However, it is preferable that the number of bits of the second register R2 is the same as the number of bits of the memory word, and the number of bits of the output of the second barrel shift circuit S2 is also the same as the number of bits of the memory word. The content stored in the second register R2 is output through the first output terminal OUT1 and is provided to, for example, an input of a VLC decoding circuit. Determine how many bits of the code to be extracted next from the VLC decoding circuit are. This determination may be performed while the second register R2 is filled with data. Therefore, the first register R1 as well as the second register R2 must be filled with data read into the
또한 제3 레지스터(R3)와 제3 배럴 쉬프트 회로(S3)와 제3 멀티플렉서(M3)는 잔여 데이터 정렬부로부터 비트 데이터를 추출하여 오른쪽 정렬시켜 출력하는 비트 추출부를 구성한다. 제3 멀티플렉서(M3)는 모든 비트가 0인 데이터와 제3 배럴 쉬프트 회로(S3)의 출력을 입력으로 받으며, 그 중 한 데이터를 제3 레지스터(R3)에 출력한다. 제3 배럴 쉬프트 회로(S3)는 그 상위 비트에 제3 레지스터(R3)에 저장된 데이터가 입력되며, 그 하위 비트에 제2 레지스터(R2)에 저장된 데이터가 입력된다. In addition, the third register R3, the third barrel shift circuit S3, and the third multiplexer M3 form a bit extraction unit that extracts the right bit data from the remaining data alignment unit and right-aligns the same. The third multiplexer M3 receives data having all bits 0 and the output of the third barrel shift circuit S3 as an input, and outputs one of the data to the third register R3. In the third barrel shift circuit S3, data stored in the third register R3 is input to the upper bits thereof, and data stored in the second register R2 is input to the lower bits thereof.
제2 출력단자(OUT2)를 통하여 제3 레지스터(R3)로부터 필요한 데이터를 추출한 후에는 다음 데이터를 추출하기 전에, 제3 멀티플렉서(M3)를 통해 0 데이터가 제3 레지스터(R3)의 전체 비트와, 제3 배럴 쉬프트 회로(S3)의 상위 비트에 로딩되도록 한다. 즉, 제3 레지스터(R3)와 제3 배럴 쉬프트 회로(S3)의 상위 비트를 클리어시킨다. 이를 통해 배럴 쉬프트 회로의 기능을 구현함으로써, 제3 레지스터(R3)에 저장된 데이터를 다음 처리에서 실제 사용한다. 그러나 허프만 디코더와 같은 VLC 디코더를 구현하는 경우에는, 쉬프트되어서 제3 레지스터(R3)에 저장되는 값들을 직접 사용하지 않고 그냥 버린다. 이런 경우에는 제3 레지스터(R3)가 필요없다. 즉, 제1 출력단자(OUT1)를 통해 출력되는 제2 레지스터(R2)의 값을 이용해 디코더 테이블을 읽을 때, 매치가 되는 경우에는 테이블에서 나오는 출력값이 원하는 실제 정보이다. 제2 레지스터(R2)에 저장된 데이터 중에서 매치 과정에서 실제 사용된 데이터의 비트수가 다음 번 쉬프트시킬 비트수(GetAmt)가 된다. 이 경우 제3 레지스터(R3)를 매번 클리어할 필요가 없다. After extracting the necessary data from the third register R3 through the second output terminal OUT2 and before extracting the next data, the zero data is passed through the third multiplexer M3 with all the bits of the third register R3. The upper bit of the third barrel shift circuit S3 is loaded. That is, the upper bits of the third register R3 and the third barrel shift circuit S3 are cleared. Through this, by implementing the function of the barrel shift circuit, the data stored in the third register R3 is actually used in the next processing. However, when implementing a VLC decoder such as the Huffman decoder, the shifted and stored values in the third register R3 are not directly used but discarded. In this case, the third register R3 is not necessary. That is, when a decoder table is read using the value of the second register R2 output through the first output terminal OUT1, when a match is found, the output value from the table is actual information desired. The number of bits of data actually used in the matching process among the data stored in the second register R2 becomes the number of bits GetAmt to be shifted next. In this case, it is not necessary to clear the third register R3 every time.
도 3은 본 발명에 의한 제어부의 블록도이다. 도 3에서 301은 추출 비트수 레지스터, 302는 VLC 디코딩 회로, 303은 어드레스 카운터(303), 305는 쉬프트 비트수 카운터, 307은 쉬프트 제어신호(ShiftAmt) 또는 메모리 판독 인에이블 신호(RamRead)를 생성하는 제어신호 생성부를 각각 가리킨다.
3 is a block diagram of a control unit according to the present invention. In FIG. 3, 301 is an extraction bit number register, 302 is a VLC decoding circuit, 303 is an
추출 비트수 레지스터(301)는 추출하고자 하는 비트수를 기억하는 레지스터이다. 추출하고자 하는 비트수, 즉 쉬프트하고자 하는 비트수는 도 2와 관련하여 전술한 바와 같이, 제2 레지스터(R2)에 바이트 정렬 또는 왼쪽 정렬된 데이터를 제1 출력단자(OUT1)를 통하여 출력하여 VLC 디코딩 회로(302)에 입력함으로써 판정된다. 도 3에 도시되어 있는 바와 같이, 추출 비트수 레지스터(301)는 제어신호 생성부(307)와 피드백회로를 구성하고 있다. 추출하고자 하는 비트수(GetAmt)가 제1 레지스터(R1)에 남아 있는 데이터의 비트수보다 큰 경우, 우선 제1 레지스터(R1)에 남아 있는 데이터의 비트수만큼 쉬프트시키고, 나머지 비트수의 데이터는 새롭게 메모리(101)로부터 데이터를 판독하여 제1 레지스터(R1)에 저장한 후에 쉬프트시킨다. 이 과정에서 추출하고자 하는 비트수(GetAmt)를 2번 조정할 필요가 있는데, 이를 위하여 피드백회로를 구성한 것이다. VLC 디코딩 회로(302)는 제어부(300) 내에 포함되어 구성될 수도 있고, 별개로 구성될 수도 있다. The extraction
어드레스 카운터(303)는 메모리 판독 인에이블 신호에 따라 판독될 데이터 워드의 어드레스(RamAddr)를 생성하며, 쉬프트 비트수 카운터(305)는 메모리로부터 새로운 데이터 워드가 판독되어 제1 레지스터(R1)에 저장된 후, 제1 배럴 쉬프트 회로(S1)에서 쉬프트된 비트수를 카운트한다. 어드레스 카운터(303)와 쉬프트 비트수 카운터(305)는 하나의 레지스터로 구성되며, 메모리 워드가 8(=23) 비트인 경우 하위 3비트가 쉬프트 비트수 카운터(305)에 해당된다. 도 3에서 어드레스 카운터(303)와 쉬프트 비트수 카운터(305)는 엄밀히 말하면 레지스터이고, 덧셈부(304)와 결함됨으로써 카운터의 기능을 한다. 그러나, 여기서는 편의상 단지 카운터로 지칭한다. 전체 카운터 값은 쉬프트 제어신호(ShiftAmt)와 덧셈부(304)에서 합쳐지므로써, 다음 카운터 값을 생성한다. 메모리(101)로부터 1 워드의 데이터가 제1 레지스터(R1)에 저장되므로, 새로운 데이터가 제1 레지스터(R1)에 저장된 후에 8 비트의 쉬프트가 있었으면 메모리(101)로부터 새로운 데이터 워드를 읽어와야 한다. 8 비트 이내의 쉬프트는 쉬프트 비트수 카운터(305)에서 카운트되며, 8 비트 이상의 쉬프트는 어드레스 카운터(303)에서 카운트되어 새로운 데이터 워드의 어드레스(RamAddr)가 생성된다. The
제어신호 생성부(307)는 쉬프트 비트수 카운터(305)로부터의 쉬프트된 비트수(BitCnt)와 추출 비트수 레지스터(301)로부터의 추출하고자 하는 비트수(GetAmt)를 비교하여 쉬프트 제어신호(ShiftAmt) 또는 메모리 판독 인에이블 신호(RamRead)를 생성한다. 쉬프트 제어신호(ShiftAmt)는 전술한 바와 같이, 제1 내지 제3 배럴 쉬프트 회로(S1, S2, S3)에서 쉬프트되는 비트수를 특정한다. 추출하고자 하는 비트수(GetAmt)가 제1 레지스터(R1)에 남아 있는 비트수, 즉 (8 BitCnt)보다 큰 경우, 우선 제1 레지스터(R1)에 남아 있는 비트수를 특정하는 쉬프트 제어신호(ShiftAmt)가 생성된다. 다음에는 메모리(101)로부터 새로운 데이터 워드가 판독되어 제1 레지스터(R1)에 저장된 후, 나머지 비트수를 특정하는 쉬프트 제어신호(ShiftAmt)가 생성된다. 메모리 판독 인에이블 신호(RamRead)는 메모리(101)로부터 새로운 데이터 워드를 판독하고자 할 때 생성된다. 제1 내지 제3 배럴 쉬프트 회로(S1, S2, S3)에서 쉬프트 동작이 수행된 후, 쉬프트된 상태를 저장하기 위 하여 레지스터(R1, R2, R3)의 로딩(loading)을 인에이블시키는 로딩 인에이블 신호(LoadEn)가 제어신호 생성부(307)에서 또한 생성된다. The control
제어부(300)의 순차 논리 부분은 프로세서의 중앙 제어부에서 마이크로프로그래밍(micro-programming)된 제어 또는 하드와이어링(hardwiring)된 제어의 형태로 제공될 수 있다.The sequential logic portion of the
이하, 도 2 및 도 3를 참조하여 본 발명의 일 실시예에서 허프만 코딩된 다양한 길이의 비트들을 연속적으로 추출하는 과정을 설명한다. 메모리의 데이터 워드의 비트수는 8 비트이고, 추출할 데이터는 메모리의 0 번지에서부터 순차적으로 저장되어 있다고 가정한다.Hereinafter, a process of continuously extracting Huffman coded bits of various lengths in an embodiment of the present invention will be described with reference to FIGS. 2 and 3. It is assumed that the number of bits of the data word of the memory is 8 bits, and the data to be extracted is sequentially stored from address 0 of the memory.
먼저 초기화 조건으로서 제1 레지스터(R1)에 메모리의 첫 번째 데이터를 읽어 들인다(R1 <- MEM[0]). 이 때 전체 카운터(303:305)는 다음 주소인 8을 가리킨다. 메모리의 어드레스는 이 카운터의 하위 세 비트는 사용하지 않으므로 실제 어드레스는 1이 된다. 본 발명의 비트추출기가 허프만 코딩에 이용될 경우, 몇 비트를 추출해야 하는지를 알기 위해서 바이트 정렬된 데이터를 읽어 볼 필요가 있다. 이러한 용도로 제1 출력단자(OUT1)를 사용한다. 따라서 제2 레지스터(R2)의 모든 비트는 항상 모두 차 있어야만 한다. 따라서 추출하고자 하는 비트수를 저장하는 레지스터(301)에는 8을 넣어 제2 레지스터(R2)를 채운다. 제2 레지스터(R2)를 채우는 방법은 2가지가 있는데, 하나는 제1 레지스터(R1)에 저장되어 있는 MEM(0)를 제2 배럴 쉬프트 회로(S2)를 경유하여 제2 레지스터(R2)에 저장하고 제1 레지스터(R1)에는 MEM(1)를 저장하는 것이고, 다른 하나는 제2 멀티플렉서(M2)를 이용하여 메모리(101)로부터 직접 MEM(0)를 제2 레지스터(R2)에 저장한 후 제1 레지스터(R1)에 MEM(1)를 저장하는 것이다. 처리 속도를 고려할 때 후자의 방법이 더 바람직하다. 이 상태까지가 초기화 과정이며 전체 카운터(303:305)는 16를, 어드레스 카운터(303)는 2를 나타낸다. First, the first data of the memory is read into the first register R1 as an initialization condition (R1 <-MEM [0]). At this time, the total counters 303: 305 indicate 8, which is the next address. The memory address does not use the lower three bits of this counter, so the actual address is one. When the bit extractor of the present invention is used for Huffman coding, it is necessary to read the byte aligned data to know how many bits to extract. The first output terminal OUT1 is used for this purpose. Therefore, all bits of the second register R2 must always be full. Therefore, the second register R2 is filled into 8 by inserting 8 into the
이제 필요한 비트수(GetAmt)가 4라면 추출 비트수 레지스터(301)에 4가 저장되고, 이는 제1 레지스터(R1)에 남아 있는 비트들의 수와 비교된다. 현재 제2 레지스터(R2)와 제1 레지스터(R1)은 모두 차 있으며, 제3 레지스터(R3)는 0으로 초기화되어 있다. 제1 레지스터에 남아 있는 비트수(bit_rest)는 (8 - BitCnt)이므로 8-0=8 이다. 남은 비트수(bit_rest)가 필요한 비트수(GetAmt)보다 크므로 4 비트는 한번에 모두 추출된다. 즉, 쉬프트 제어신호(ShiftAmt)가 4가 되어 제1 내지 제3 레지스터(R1, R2, R3)는 4 비트씩 왼쪽으로 쉬프트된다. 이 과정이 지난 후의 상태는 메모리 어드레스(RamAddr)가 2이고, 추출된 비트수(BitCnt)가 4이다.If the required number of bits GetAmt is now 4, 4 is stored in the extraction
이 상태에서 다음에 필요한 비트수가 5라고 하자. 이번에는 남아 있는 비트수(bit_rest)가 8-4=4 이고, 필요한 비트수(GetAmt)가 5이므로 쉬프트 제어신호(ShiftAmt)는 남아 있는 최대 비트수인 4를 택한다. 일단 쉬프트를 하고 난 후의 상태는 제1 레지스터(R1)가 완전히 비어 있고, 필요한 비트수(GetAmt)가 5-4=1이며, 어드레스 카운터(303)의 값(AddrCnt)은 3이고, 추출된 비트수(BitCnt)는 0이 된다. 이제 메모리의 3번째 워드(MEM[2])의 값을 제1 레지스터(R1)에 채우고, 나머지 한 비트를 마저 쉬프트한 후 제2 출력단자(OUT2)로 결과를 출력한다. 나머지 과정에서는 앞서 예로 든 두 가지 중의 하나가 계속 반복된다.
In this state, it is assumed that the next required number of bits is five. This time, since the remaining number of bits (bit_rest) is 8-4 = 4 and the required number of bits (GetAmt) is 5, the shift control signal ShiftAmt selects 4, the maximum number of bits remaining. After the shift, the first register R1 is completely empty, the required number of bits GetAmt is 5-4 = 1, the value of the
도 4는 본 발명의 다른 실시예에 의한 비트 추출부의 구성도이다. 도 4에서 R4는 제1 레지스터(R1)에 대한 백업용 레지스터이고, R5는 제2 레지스터(R2)에 대한 백업용 레지스터이다. 본 비트 추출부에 대한 제어부는 도 3에 도시된 바와 거의 동일하다. 도 4에 도시된 비트 추출기는 어떤 프로세서의 한 구성요소 역할을 하는 경우이며, ALU나 메모리와 같이 다른 구성요소와의 데이터 전송을 위해 데이터 버스(DataBus)를 통해 연결되어 있다. 레지스터, 멀티플렉서 및 배럴 쉬프트 회로의 비트수는 메모리 워드의 비트수의 정수배이거나, 프로세서의 기본 워드의 비트수의 정수배이다. 도 4에서 다른 프로세서의 다른 연산부와의 데이터 교환은 하나 이상의 데이터 버스 및 제1 출력단자(OUT1)와 같은 직접 연결로써 이루어진다. 멀티플렉서는 다양한 입력 관계 및 버스 구조에 따라 더 많은 선택입력을 갖거나 더 적은 선택입력을 갖도록 조정될 수 있다. 도 2에 도시된 비트 추출기의 구성과는 달리 일반적인 쉬프트 회로의 기능도 함께 제공하기 위해 초기화 기능이 강화되어 있으며, 별개의 여러 비트 스트림(bit stream)을 처리할 때를 위해 기존에 처리하던 비트 스트림을 일시적으로 보관하는 백업 레지스터(R4, R5)가 함께 제공되고 있다. 백업 레지스터(R4, R5)는 생략될 수 있으며, 더 많이 이용될 수도 있다(예를 들어, R3의 백업 레지스터). 해당 제어부에는 도 4의 백업 레지스터와 같은 백업 카운터가 추가될 수 있다. 도 4의 구조는 레프트 쉬프트(left shift) 회로만으로도 라이트 쉬프트(right shift) 기능을 제공할 수 있다. 4 is a block diagram of a bit extracting unit according to another embodiment of the present invention. In FIG. 4, R4 is a backup register for the first register R1 and R5 is a backup register for the second register R2. The control unit for this bit extraction unit is almost the same as that shown in FIG. The bit extractor shown in FIG. 4 serves as one component of a processor, and is connected through a data bus (DataBus) for data transmission with other components such as an ALU or a memory. The number of bits of the register, multiplexer and barrel shift circuit is an integer multiple of the number of bits of the memory word or an integer multiple of the number of bits of the basic word of the processor. In FIG. 4, data exchange with another computing unit of another processor is performed by direct connection such as one or more data buses and a first output terminal OUT1. The multiplexer can be adjusted to have more or less selection inputs depending on various input relationships and bus structures. Unlike the configuration of the bit extractor shown in FIG. The backup registers R4 and R5 for temporarily storing the data are provided together. Backup registers R4 and R5 may be omitted, and more may be used (eg, R3 backup registers). A backup counter such as the backup register of FIG. 4 may be added to the controller. The structure of FIG. 4 may provide a right shift function only with a left shift circuit.
전술한 바와 같은 구성에 의해 비트 추출 연산을 하드웨어로 구현하면서 메 모리에 대한 접근 횟수를 대폭 줄일 수 있으므로 그 처리 속도가 매우 향상된다. 특히 본 발명에 의한 구성을 이용하여 비트 추출 연산을 포함한 비트 연산 프로세서와 같은 특화 마이크로 프로세서를 설계할 경우, 프로세서의 처리 속도는 현저하게 향상된다. The above-described configuration can greatly reduce the number of accesses to the memory while implementing the bit extraction operation in hardware, thereby greatly improving the processing speed. In particular, in the case of designing a specialized microprocessor such as a bit arithmetic processor including a bit extraction operation using the configuration according to the present invention, the processing speed of the processor is significantly improved.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010031729A KR100770448B1 (en) | 2001-06-07 | 2001-06-07 | Bit extracting device and microprocessor using this bit extracting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010031729A KR100770448B1 (en) | 2001-06-07 | 2001-06-07 | Bit extracting device and microprocessor using this bit extracting device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020093262A KR20020093262A (en) | 2002-12-16 |
KR100770448B1 true KR100770448B1 (en) | 2007-10-26 |
Family
ID=27708085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010031729A KR100770448B1 (en) | 2001-06-07 | 2001-06-07 | Bit extracting device and microprocessor using this bit extracting device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100770448B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100987252B1 (en) * | 2003-09-09 | 2010-10-12 | 삼성전자주식회사 | Interface device and method for processing of bitstream data |
CN111177699B (en) * | 2019-12-23 | 2022-07-08 | 恒大恒驰新能源汽车科技(广东)有限公司 | Data extraction method, secret key generation method, unlocking method and device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980023743A (en) * | 1996-09-30 | 1998-07-06 | 배순훈 | Data Extraction & Fittings |
KR19980052329A (en) * | 1996-12-24 | 1998-09-25 | 구자홍 | Bit stream parsing device of audio decoder |
KR19990044925A (en) * | 1997-10-30 | 1999-06-25 | 디어터 크리스트, 베르너 뵈켈 | Data Extractor and Extraction Method |
-
2001
- 2001-06-07 KR KR1020010031729A patent/KR100770448B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980023743A (en) * | 1996-09-30 | 1998-07-06 | 배순훈 | Data Extraction & Fittings |
KR19980052329A (en) * | 1996-12-24 | 1998-09-25 | 구자홍 | Bit stream parsing device of audio decoder |
KR19990044925A (en) * | 1997-10-30 | 1999-06-25 | 디어터 크리스트, 베르너 뵈켈 | Data Extractor and Extraction Method |
Also Published As
Publication number | Publication date |
---|---|
KR20020093262A (en) | 2002-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100227275B1 (en) | Variable length code detection in a signal processing system | |
KR100455011B1 (en) | Processor which can favorably execute a rounding process composed of positive conversion and saturated calculation processing | |
EP1073950B1 (en) | Method and apparatus for performing shift operations on packed data | |
EP0154051B1 (en) | Integrated and programmable processor for word-wise digital signal processing | |
US7275147B2 (en) | Method and apparatus for data alignment and parsing in SIMD computer architecture | |
JPH0816391A (en) | Computer system, instruction-bit-length compression method, instruction generation method and computer-system operating method | |
EP1046983B1 (en) | VLIW processor and program code compression device and method | |
WO1998038791A2 (en) | Instruction compression and decompression system and method for a processor | |
JP3558840B2 (en) | Apparatus and method for detecting bit stream signal format in signal processing system | |
WO2010129684A1 (en) | Execution units for context adaptive binary arithmetic coding (cabac) | |
US20020199086A1 (en) | Setting execution conditions | |
US6263420B1 (en) | Digital signal processor particularly suited for decoding digital audio | |
US20020053015A1 (en) | Digital signal processor particularly suited for decoding digital audio | |
US6512775B1 (en) | Method and apparatus for a programmable bitstream parser for audiovisual and generic decoding systems | |
US7861071B2 (en) | Conditional branch instruction capable of testing a plurality of indicators in a predicate register | |
US6766439B2 (en) | Apparatus and method for dynamic program decompression | |
KR100770448B1 (en) | Bit extracting device and microprocessor using this bit extracting device | |
US7676527B2 (en) | Processor | |
JPH10135842A (en) | System for lining up variable length code data stream position | |
US6934729B2 (en) | Method and system for performing shift operations | |
Sierra et al. | High-performance decoding of variable-length memory data packets for FPGA stream processing | |
US6144321A (en) | Microprocessor dedicated to processing of bit streams in a system of compression/decompression of animated images | |
EP0936537A1 (en) | Cyclic redundancy check in a computer system | |
US20040024992A1 (en) | Decoding method for a multi-length-mode instruction set | |
US6133859A (en) | Microprocessor dedicated to processing of bit streams in a system of compression/decompression of animated images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121011 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130813 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150915 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |