KR19990023203A - 데이터 세그먼트 처리 방법 및 정보처리 시스템 - Google Patents

데이터 세그먼트 처리 방법 및 정보처리 시스템 Download PDF

Info

Publication number
KR19990023203A
KR19990023203A KR1019980028674A KR19980028674A KR19990023203A KR 19990023203 A KR19990023203 A KR 19990023203A KR 1019980028674 A KR1019980028674 A KR 1019980028674A KR 19980028674 A KR19980028674 A KR 19980028674A KR 19990023203 A KR19990023203 A KR 19990023203A
Authority
KR
South Korea
Prior art keywords
data
alignment
component
segment
data segment
Prior art date
Application number
KR1019980028674A
Other languages
English (en)
Other versions
KR100288670B1 (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 KR19990023203A publication Critical patent/KR19990023203A/ko
Application granted granted Critical
Publication of KR100288670B1 publication Critical patent/KR100288670B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/764Masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

본 발명은 컴퓨터 시스템내의 기능 유닛(functional unit)에 의해 발생된 특정 바이트 요구에 의해, 요구된 바이트(requested byte)를 포함하는 워드(word)를 CPU내의 레지스터 장치로 반환하는 방법 및 구현 시스템을 제공한다. 반환 워드(returned word)는 저장된 워드내에서의 요구된 바이트의 위치를 나타내는 마스크(mask) 및 정렬(alignment) 데이터와 함께, 정렬되지 않은 원래 상태(as is)로 저장된다. 그 후, 기능 유닛이 요구된 바이트를 사용하기 바로 전에 마스크 및 정렬 데이터를 이용하여 요구된 바이트에 대한 정렬이 이루어진다. 이렇게 프로세서 임계 경로의 밖에서 정렬 기능이 수행됨으로써, 종래 기술의 데이터 정렬 회로망에 내재한 전형적인 메모리-프로세서 불일치 지연(memory-processor mismatch delay)을 제거하고, 프로세서의 파이프라인(pipeline)의 메모리 액세스 단계에서의 임계 경로(critical path)를 실질적으로 단축하게 된다.

Description

데이터 세그먼트 처리 방법 및 정보 처리 시스템
본 발명은 일반적으로 정보 처리 시스템에 관한 것으로, 특히, 처리를 위하여 데이터를 정렬하기 위한 향상된 시스템 및 방법론에 관한 것이다.
컴퓨터 시스템 및 회로망에서는, 컴퓨터 프로세서의 성능이 가장 중요하다. 현재, 대부분의 마이크로프로세서는 적재/저장 유닛에서의 데이터 정렬 처리로 인해 성능에 제한을 받는다. 모든 컴퓨터 인스트럭션 세트 아키텍처(Instruction Set Architecture; ISA)는 컴퓨터 프로세서의 외부(즉, 메모리 또는 I/O)로부터 마이크로프로세서내의 레지스터로 소정의 값을 적재하는 효과를 갖는 인스트럭션을 정의한다. 이러한 값은 일반적으로 프로세서와 컴퓨터 시스템의 나머지 부분을 접속시키는 광 데이터경로(wide datapath)를 통해 프로세서로 적재된다. 현재의 시스템에서 데이터경로는 흔히 32, 64, 128 또는 그보다 많은 수의 비트를 갖는다. 많은 ISA들은 단지 작고 인접한 이들 비트의 서브세트만을 이용하는 적재 인스트럭션, 즉, 복수 바이트의 데이터 세스먼트 중 단지 1 바이트만을 적재하는 바이트 적재(load-byte) 인스트럭션을 정의한다.
프로세서의 데이터 버스에 도달한 데이터는 그것이 페치(fetch)되었던 메모리내의 그 위치에 대하여 데이터경로의 폭내에서 정렬된다. 페치된 데이터 바이트가 존재하는 정렬된 어드레스에 메모리 액세스가 발생되지 않으면, 요구된 데이터는 프로세서에 의해 아무런 정렬 없이 사용될 수 있는 그러한 방식으로 정렬되지 않을 수도 있다. 모든 경우에 있어서, 사용되지 않은 비트는 마스킹되어야 한다.
현재, 대부분의 컴퓨터 프로세서에서는, 프로세서의 적재/저장 유닛에서 이러한 문제가 해결되고 있는데, 이 유닛은, 프로세서 칩의 외부(off)로부터 페치된 데이터를 수신할 때, 우선, 수신 데이터를 마스킹 및 정렬한 후, 이를 레지스터에 저장한다. 이러한 마스킹 및 정렬을 수행하는 회로를 데이터 정렬 회로망(data alignment network)이라고 지칭한다. 데이터 정렬 회로망은 메모리 액세스 경로(memory access path)내에 있는데, 이러한 경로는 메모리-프로세서 속도 불일치(memory-processor speed mismatch)로 인해, (임계 경로(critical path)라고 지칭되는) 프로세서에서 일반적으로 가장 느린 회로이고, 결과적으로 프로세서 사이클 시간(cycle time) 또는 사이클 속도(cycle speed)를 정의하는 프로세서의 회로의 일부이다.
따라서, 임계 경로를 과도하게 저속화(slowing)하지 않으면서 데이터 정렬 기능을 효율적으로 수행하는 향상된 방법 및 처리 장치가 필요하다.
요구된 데이터 성분을 포함하는 데이터 세그먼트를 반환하여, 컴퓨터 시스템내의 기능 유닛에 의해 발생된 특정 데이터 성분에 대한 요구를 수행하는 방법 및 장치가 제공된다. 데이터 성분은 사전결정된 정렬 기준에 대해 비정렬된 포맷으로 존재한다. 반환된 데이터 세그먼트는 저장된 데이터 세그먼트내의 요구된 데이터 성분의 위치를 나타내는 마스크 및 정렬 데이터와 함께, 정렬되지 않은 원래 상태(as is)로 저장된다. 마스크 및 정렬 데이터를 사용하여 처리한 후, 기능 유닛이 처리된 정보를 이용하기 전에, 요구된 데이터 성분을 정렬한다.
도 1은 본 발명이 구현될 수 있는 컴퓨터 시스템을 도시한 도면.
도 2는 도 1에 도시된 컴퓨터 시스템의 선택된 구성 요소 및 서브시스템을 간략하게 도시한 개략도.
도 3은 전형적인 프로세서 정렬 동작을 도시한 도면.
도 4는 예시적인 실시예에서 구현된 정렬 방법론을 도시한 도면.
도 5는 본 명세서에서 개시된 정렬 방법론에 대한 동작 흐름을 도시한 흐름도.
도면의 주요 부분에 대한 부호의 설명
101 : 컴퓨터 시스템 103 : 프로세서 내용물
105 : 모니터 유닛 107, 213 : 키보드
109, 215 : 마우스 111 : 커넥터
201 : 프로세서 회로 203, 303, 403 : 버스
205 : 캐시 메모리 장치 207 : 시스템 메모리
209 : 모뎀 211 : 입력 인터페이스 회로
217 : 회로망 인터페이스 서브시스템
218 : 저장 장치 219 : 디스켓 드라이브 유닛
220 : 비디오 서브시스템 221 : 디스플레이 장치
301, 401 : 메모리 유닛 307, 409 : 데이터 정렬 회로망
309, 407 : CPU 313, 405 : 레지스터
315 : ALU 411 : 기능 유닛
이하에 기술된 본 발명의 바람직한 실시예에 대한 세부 사항과 첨부한 도면을 함께 고려함으로써 본 발명을 보다 잘 이해할 수 있을 것이다.
도 1을 참조하면, 본 명세서에서 기술된 여러 가지 방법은 마이크로제어기(microcontroller) 또는 내장된 제어기내에서 구현되거나, 워크스테이션 또는 개인용 컴퓨터를 포함할 수 있는 전형적인 컴퓨터 시스템(101)내에서 구현될 수 있다. 일반적으로, 구현 컴퓨터 시스템은, 유사한 시스템들의 회로망내의 멀티 버스 시스템(multi-bus system)내에 복수의 프로세서를 포함할 수 있다. 그러나, 본 발명이 구현된 본 예에서의 워크스테이션 또는 컴퓨터 시스템(101)은, 그 대부분이 일반적으로 종래 기술에 알려져 있고, 당업자에게 또한 일반적으로 잘 알려진 전자 장치 및 회로로 구성되어 있으며, 본 발명의 기본적인 개념을 이해 및 평가하고, 본 발명의 개시 내용으로부터 혼란을 일으키거나 벗어나지 않도록, 도 1에 도시된 것 이외의 상세한 회로에 대해서는 도시할 필요가 있다고 고려되는 것 외에는 기술하지 않을 것이다.
도 1에서, 컴퓨터 시스템은 전형적으로 프로세서 회로를 컴퓨터 시스템(101)의 다른 구성 장치 및 서브시스템과 함께 하우징(housing)하기 위해 마련되는 프로세서 격납 장치(enclosure)(103)를 포함한다. 또한, 컴퓨터 시스템(101)은 모니터 유닛(105), 키보드(107) 및 마우스 또는 포인팅 장치(pointing device)(109)를 포함하며, 이들 모두는 도시된 컴퓨터 시스템과 상호 접속되어 있다. 또한, 컴퓨터 시스템내의 모뎀을 이 예에서의 전화선과 같은 통신 라인에 접속하기 위해 마련된 커넥터(connector)(111)가 도시되어 있다. 또한, 본 발명은 하드 배선형 싸이트(hard-wired site)나 국부 회로망(local network), 또는, 커텍터(111)가 불필요한 셀룰라 시스템(cellular system)에서 구현될 수 있다.
도 2에는 시스템(101)의 주요 구성 요소들 중 일부가 도시되어 있다. 프로세서 회로(201)가 소정의 호스트 시스템 버스일 수 있는 시스템 버스(203)에 접속되어 있다. 본 명세서에서 개시된 처리 방법론은 여러 상이한 버스 및/또는 회로망 구성에 적용됨을 유의하자. 또한, 캐시 메모리 장치(205) 및 시스템 메모리 유닛이 버스(203)에 접속되어 있다. 커넥터(111)(도 1)를 통해, 전화선과 같은 통신 라인으로 접속(210)하기 위해 모뎀(209)이 마련된다. 본 예에서, 모뎀(209)은 컴퓨터 시스템(101)을 선택적으로 인에이블링하여 통신 링크를 설정하고, 다른 컴퓨터 시스템이나, 회로망 또는 데이터베이스 서버와 통신을 개시한다.
또한, 시스템 버스(203)는 입력 인터페이스 회로(211)를 통해 키보드(213) 및 마우스 또는 포인팅 장치(215)에 접속된다. 또한, 버스(203)는 국부 또는 원격 싸이트 회로망에 대한 접속부를 포함할 수 있는 회로망 인터페이스 서브시스템(217)에 접속된다. 또한, 디스켓 드라이브 유닛(219)이 버스(203)에 접속된다. 그래픽 시스템을 포함할 수 있는 비디오 서브시스템(220)이 디스플레이 장치(221)에 접속된다. 또한, 상이한 저장 기법의 여러 이용가능한 저장 장치들 중 하나 또는 그 이상일 수 있는 저장 장치(218)가 버스(203)에 접속된다. 디스켓 드라이브 유닛(219)은 컴퓨터 시스템(101)에 의한 선택적인 실행을 위해, 각각의 디스켓 프로그램을 하드 드라이브상으로 적재하거나, 직접 액세스할 수 있는 방법을 제공한다. 잘 알려진 바와 같이, 디스켓상의 자기 표시(magnetic indicia)에 의해 표현되는 응용 프로그램을 포함하는 프로그램 디스켓을 디스켓 드라이브로부터 판독할 수 있으며, 컴퓨터 시스템은 이러한 자기 표시를 판독하고, 프로그램 신호를 생성하는 동작을 선택적으로 수행할 수 있다. 이러한 프로그램 신호는, 컴퓨터 시스템이 디스플레이 장치의 스크린상에 디스플레이를 하고, 디스켓상의 응용 프로그램의 기능적 흐름에 따라 사용자 입력에 응답하도록 선택적으로 작용한다. 비록, 이 예는 자기 매체 저장 시스템 및 디스크 드라이브 유닛과 관련하여 기술되었지만, 이용가능한 응용 프로그램 및/또는 응용 데이터를 저장 및 생성하는 자기 매체에 추가하거나, 또는, 그에 대신하여 광(optical) CD 및 고체 디지털 장치(solid state digital devices)를 포함하는(그러나, 여기에 한정되지는 않는), 자기 매체가 아닌 다른 매체를 구현할 수 있음을 알 수 있다.
예시적인 동작에서, 32 비트(4 바이트)의 데이터 버스를 갖는 시스템을 고려하자. 적재(load) 인스트럭션은 어드레스 1031로부터의 바이트를 레지스터 R10으로 위치시킬 것을 요구한다. 오프세트 1031 모듈로(modulo) 4 즉, 3은, 데이터가 도달시, 이 데이터가 4 바이트 데이터 버스상의 3 번째 바이트임을 나타낸다. 값이 사용될 때, 그것이 수학적으로 적합한 데이터 값을 나타내도록 하기 위해, 제 1, 제 2 및 제 4 바이트는 마스크 오프(masked off)되어야 하고, 제 3 바이트는 최하위 바이트(least significant byte) 위치로 시프트되어야 한다.
도 3에는 종래 기술의 전형적인 데이터 정렬 프로세스가 도시되어 있다. 도 3에는 데이터 버스(303)에 접속된 메모리 유닛(301)이 도시되어 있다. 전형적으로 프로세서 장치 또는 CPU(309)내에 위치하는 데이터 정렬 회로망(307)을 마련하여, 데이터 버스(303)로부터 데이터(305)를 수신하고, CPU(309)의 레지스터 파일 영역(register file section)내의 레지스터(313)의 시작 위치 또는 최하위 비트 위치에 대하여 페치된 데이터(311)를 정렬한다. 일단, 페치된 데이터가 정렬되면, CPU(309)에 의해 실행되는 운영 인스트럭션(operating instruction)에 따라 CPU(309)의 ALU(315)에 의해 처리되어, CPU(309)로부터 출력 레지스터로, 예를 들면, 다른 처리를 위해 출력된다. 전술한 바와 같이, 메모리-프로세서 속도 불일치로 인해, 데이터 정렬 회로망(307)은 일반적으로 프로세서 임계 경로(critical path)내에 있다.
도 4는 정렬 기능을 수행하는 향상된 방식을 도시하고 있다. 도시된 바와 같이, 메모리 유닛(401)이 데이터 버스(403)에 접속되어 있으며, 이 버스(403)는 다시, 페치된 바이트(이 예에서 8 비트의 바이트 2)를 CPU 장치(407)의 레지스터 파일의 레지스터(405)로 선택적으로 적재한다. 페치된 워드내에서의 요구된 데이터의 위치를 식별하는 관련된 정렬 및 마스크 데이터가 결정되어, 예를 들면, 정렬 및 마스크 레지스터에 저장된다. 그 후, 바이트를 처음에 요구했던 기능 유닛(411)에 의해 사용되기 바로 전에, 정렬 회로망(409)은 요구된 바이트를 적절하게 정렬시키고, 그 결과를 요구하는 기능 유닛(411)에 반환하는 동작을 한다.
도시된 바와 같이, 데이터는 프로세서의 데이터 레지스터에 저장되기 전에 정렬되는 대신에, 메모리 서브시스템으로부터 직접 수신시, 레지스터에 원래 상태로 저장된다. 프로세서의 데이터 레지스터는 마스크 필드 및 정렬 필드로서 표시된 두 개의 여분의 필드를 갖고 확장된다. 이들 필드는 예를 들면, 별도의 대응하는 레지스터에 포함될 수 있다. 마스크 필드는 레지스터의 바이트들 중 어느 것이 바이트 적재 커맨드에 대해 유효한지를 식별하는 비트 벡터(bit-vector)이다. 예를 들면, 32 비트/4 바이트 레지스터의 경우, 마스크 필드는 4 비트를 포함할 것이다. 제 1 비트는 최상위 바이트가 유효 데이터를 포함하는지 여부를 나타낸다. 제 2 비트는 제 2 의 최상위 바이트가 유효 데이터를 포함하는지 여부를 나타내며, 나머지도 이와 같다. 그 후, 기능 유닛 또는 데이터의 소비자가 마스크 필드를 이용하여 사용중인 데이터를 알맞게 정렬한다. 페치된 바이트는 요구된 어드레스에 의해 표시된 페치 데이터 세그먼트가 임계 데이터경로에 위치한 프리프로세서(pre-processor) 데이터 정렬 회로망내에서 정렬되지 않고 요구하는 장치로 반환될 때, 사용자 또는 요구하는 장치에 의해 정렬된다. 기능 유닛의 실행 단계는 일반적으로 임계 경로에 있지 않으므로, 프로세스의 후단(back-end)으로 정렬 기능을 이동하면, 임계 경로로부터 메모리 액세스 단계를 제거하는데 도움이 된다. 이 방법에 의해 프로세스 임계 경로의 밖에서 정렬 기능이 수행될 수 있으며, 이로 인해, 종래 기술의 데이터 정렬 회로망의 전형적인 메모리-프로세서 불일치 지연이 제거되고, 프로세서의 파이프라인(pipeline)의 메모리 액세스 단계에서 임계 경로가 실질적으로 단축된다. 레지스터는 비정렬되고, 단지 부분적으로만 유효일 수 있는 데이터를 저장할 수 있기 때문에, 프로세서의 적재/저장 유닛에서 정렬 회로망을 완전히 제거할 수 있다.
도 5에는 개시된 방법론에 대한 흐름도가 도시되어 있다. 도시된 바와 같이, 기능 유닛은 우선 바이트 적재(load byte)를 요구한다(501). 요구를 수행한 메모리는, 그 다음, 요구된 바이트를 포함하는 전체 워드를 반환한다(503). 반환된 워드는 요구된 바이트에 대해서가 아닌, 워드 그 자체에 대해서 정렬된다. 그 후, 반환된 워드가 원래 상태로 저장되며(505), 저장된 워드내의 특정하게 요구된 바이트의 위치를 식별하는 마스크 및 정렬 데이터가 관련된 마스크 및 정렬 레지스터에 또한 저장된다(507). 그 후, 기능 유닛은 바이트 데이터를 요구하고(508), 기능 유닛이 처리된 데이터에 대해 준비가 되었을 때, 요구 및 처리된 바이트는 마스크 및 정렬 데이터에 따라 시프트되며(511), 처리 및 정렬된 데이터는 요구하는 기능 유닛으로 반환된다(513).
본 발명의 방법 및 장치는 본 명세서에서 기술된 바와 같이 바람직한 실시예와 관련하여 기술되었다. 비록, 본 명세서에서는 본 발명의 실시예를 그에 대한 소정의 변형과 더불어 상세하게 기술하였지만, 당업자라면, 본 발명의 개시 내용을 포함하는 여러 가지 다른 실시예는 쉽게 구성될 수 있을 것이며, 프로세서나 CPU 또는 다른 대형 시스템 집적 회로나 칩에 포함되거나 집적될 수 있을 것이다. 따라서, 본 발명은 본 명세서에서 개시된 특정의 형태에 한정되는 것은 아니며, 그와는 반대로, 본 발명의 정신 및 영역내에 합리적으로 포함될 수 있는 것으로서, 이러한 대안, 수정 및 등가물을 포함한다.
본 발명에 따른 데이터 세그먼트 처리 방법 및 정보 처리 시스템에 의하면 컴퓨터 시스템내의 기능 유닛에 의해 발생된 특정 바이트 요구에 의해, 요구된 바이트를 포함하는 워드를 CPU내의 레지스터 장치로 반환하는 방법 및 구현 시스템을 제공할 수 있으며, 프로세서 임계 경로의 밖에서 정렬 기능을 수행함으로써, 종래 기술 본래의 전형적인 메모리-프로세서 불일치 지연을 제거하고, 프로세서의 파이프라인의 메모리 액세스 단계에서 임계 경로를 실질적으로 단축할 수 있다.

Claims (16)

  1. 비정렬 데이터 세그먼트(non-aligned data segments) 처리 방법에 있어서,
    ① 데이터 성분에 대한 요구에 응답하여 제 1 데이터 세그먼트를 수신하는 단계―상기 데이터 성분은 상기 제 1 데이터 세그먼트의 일부로서 포함되고, 상기 데이터 성분은 상기 제 1 데이터 세그먼트에 대해 비정렬 포맷임―와,
    ② 상기 제 1 데이터 세그먼트를 저장하는 단계와,
    ③ 상기 데이터 세그먼트에 대해 상기 데이터 성분과 관련된 정렬 파라미터를 나타내는 정렬 데이터를 저장하는 단계와,
    ④ 상기 정렬 데이터에 따라 상기 처리된 제 1 데이터 세그먼트 출력을 정렬하여, 정렬된 데이터 성분 출력을 제공하는 단계
    를 포함하는 데이터 세그먼트 처리 방법.
  2. 제 1 항에 있어서,
    상기 데이터 성분에 대한 상기 요구에 응답하여, 상기 정렬된 데이터 성분 출력을 반환하는 단계를 더 포함하는 데이터 세그먼트 처리 방법.
  3. 제 1 항에 있어서,
    상기 데이터 성분은 바이트의 정보인 데이터 세그먼트 처리 방법.
  4. 제 3 항에 있어서,
    상기 제 1 데이터 세그먼트는 데이터 워드이고, 상기 데이터 워드는 상기 데이터 성분을 포함하는 데이터 세그먼트 처리 방법.
  5. 제 4 항에 있어서,
    상기 데이터 성분은 바이트의 정보인 데이터 세그먼트 처리 방법.
  6. 제 1 항에 있어서,
    상기 정렬 데이터는 정렬 필드(alignment field)를 포함하고, 상기 정렬 필드는 상기 데이터 성분이 제 1 데이터 세그먼트 기준과 정렬되어 있지 않는 비트 위치들의 수를 나타내는 데이터 세그먼트 처리 방법.
  7. 제 1 항에 있어서,
    상기 정렬 데이터는 마스크 필드(mask field)를 포함하고, 상기 마스크 필드는 상기 제 1 데이터 세그먼트의 어느 비트 위치가 상기 데이터 성분을 포함하는지를 나타내는 데이터 세그먼트 처리 방법.
  8. 제 6 항에 있어서,
    상기 정렬 데이터는 마스크 필드를 포함하고, 상기 마스크 필드는 상기 데이터 성분을 포함하는 상기 제 1 데이터 세그먼트의 비트 위치를 나타내는 데이터 세그먼트 처리 방법.
  9. 정보 처리 시스템에 있어서,
    ① 메모리 장치와,
    ② 데이터 버스와,
    ③ 프로세서 유닛―상기 메모리 장치는 상기 데이터 버스를 통해 상기 프로세서 유닛과 접속됨―과,
    ④ 상기 프로세서 유닛으로부터의 출력을 수신하도록 마련된 정렬 회로망―상기 프로세서 유닛은 데이터 성분에 대한 요구에 응답하여 제 1 데이터 세그먼트를 수신하는 처리 요구에 응답하고, 상기 데이터 성분은 상기 제 1 데이터 세그먼트의 일부로서 포함되며, 상기 데이터 성분은 상기 제 1 데이터 세그먼트에 대해 비정렬형 포맷이고, 상기 프로세서 유닛은 상기 제 1 데이터 세그먼트가 수신된 때 상기 제 1 데이터 세그먼트를 저장하도록 선택적으로 더 동작할 수 있으며, 상기 프로세서 유닛은 상기 제 1 데이터 세그먼트에 대해 상기 데이터 성분과 관련된 정렬 파라미터를 나타내는 정렬 데이터의 저장을 수행하도록 더 구성되고, 상기 정렬 회로망은 상기 정렬 데이터에 따라 상기 제 1 데이터 세그먼트 출력을 정렬하도록 선택적으로 동작하여 정렬된 데이터 성분 출력을 제공함―
    을 포함하는 정보 처리 시스템.
  10. 제 9 항에 있어서,
    상기 프로세서 유닛은 상기 정렬 데이터를 저장하는 복수의 레지스터를 포함하는 정보 처리 시스템.
  11. 제 10 항에 있어서,
    상기 데이터 성분은 바이트의 정보인 정보 처리 시스템.
  12. 제 9 항에 있어서,
    상기 제 1 데이터 세그먼트는 데이터 워드이고, 상기 데이터 워드는 상기 데이터 성분을 포함하는 정보 처리 시스템.
  13. 제 12 항에 있어서,
    상기 데이터 성분은 바이트의 정보인 정보 처리 시스템.
  14. 제 9 항에 있어서,
    상기 정렬 데이터는 정렬 필드를 포함하고, 상기 정렬 필드는 상기 데이터 성분이 제 1 데이터 세그먼트 기준과 정렬되어 있지 않는 비트 위치들의 수를 나타내는 정보 처리 시스템.
  15. 제 9 항에 있어서,
    상기 정렬 데이터는 마스크 필드를 포함하고, 상기 마스크 필드는 상기 제 1 데이터 세그먼트의 어느 비트 위치가 상기 데이터 성분을 포함하는지를 나타내는 정보 처리 시스템.
  16. 제 14 항에 있어서,
    상기 정렬 데이터는 마스크 필드를 포함하고, 상기 마스크 필드는 상기 데이터 성분을 포함하는 상기 제 1 데이터 세그먼트의 비트 위치를 나타내는 정보 처리 시스템.
KR1019980028674A 1997-08-11 1998-07-15 데이터세그먼트처리방법및정보처리시스템 KR100288670B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8/907,995 1997-08-11
US08/907,995 US5822620A (en) 1997-08-11 1997-08-11 System for data alignment by using mask and alignment data just before use of request byte by functional unit

Publications (2)

Publication Number Publication Date
KR19990023203A true KR19990023203A (ko) 1999-03-25
KR100288670B1 KR100288670B1 (ko) 2001-05-02

Family

ID=25424992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980028674A KR100288670B1 (ko) 1997-08-11 1998-07-15 데이터세그먼트처리방법및정보처리시스템

Country Status (2)

Country Link
US (1) US5822620A (ko)
KR (1) KR100288670B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122717A (en) * 1996-06-17 2000-09-19 Integrated Device Technology, Inc. Methods and apparatus for a memory that supports a variable number of bytes per logical cell and a variable number of cells
US6442178B1 (en) * 1997-10-01 2002-08-27 Globespanvirata Inc. System and method for data alignment in a communication system
KR100515413B1 (ko) * 2000-08-31 2005-09-15 매그나칩 반도체 유한회사 비트 스트림 처리기
US6622232B2 (en) 2001-05-18 2003-09-16 Intel Corporation Apparatus and method for performing non-aligned memory accesses
US6959348B1 (en) * 2001-07-30 2005-10-25 Vixs Systems, Inc. Method and system for accessing data
US7012935B2 (en) * 2002-05-16 2006-03-14 Intel Corporation Alignment and deskew device, system and method
US8219785B1 (en) * 2006-09-25 2012-07-10 Altera Corporation Adapter allowing unaligned access to memory
US20120239910A1 (en) * 2008-08-15 2012-09-20 Apple Inc. Conditional extract instruction for processing vectors
KR20100101449A (ko) * 2009-03-09 2010-09-17 삼성전자주식회사 메모리 장치, 그것의 마스크 데이터 전송 방법 및 입력 데이터 정렬 방법
US8356145B2 (en) * 2010-01-15 2013-01-15 Qualcomm Incorporated Multi-stage multiplexing operation including combined selection and data alignment or data replication
KR20200054534A (ko) * 2018-11-12 2020-05-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11366668B1 (en) * 2020-12-08 2022-06-21 Arm Limited Method and apparatus for comparing predicated load value with masked load value
US20230075534A1 (en) * 2021-08-19 2023-03-09 International Business Machines Corporation Masked shifted add operation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276891A (en) * 1990-01-11 1994-01-04 Bull Hn Information Systems Inc. Alignment of sign, data, edit byte operand results for storage in memory
KR100262438B1 (ko) * 1991-05-08 2000-08-01 가나이 쓰도무 연산장치 및 이것을 사용한 비트필드조작 연산방법
US5392406A (en) * 1992-09-18 1995-02-21 3Com Corporation DMA data path aligner and network adaptor utilizing same
US5517627A (en) * 1992-09-18 1996-05-14 3Com Corporation Read and write data aligner and method
US5465374A (en) * 1993-01-12 1995-11-07 International Business Machines Corporation Processor for processing data string by byte-by-byte
US5701517A (en) * 1994-12-22 1997-12-23 Cirrus Logic, Inc. Pipelined alignment shifter and method for universal bit field boundary alignment

Also Published As

Publication number Publication date
US5822620A (en) 1998-10-13
KR100288670B1 (ko) 2001-05-02

Similar Documents

Publication Publication Date Title
KR100288670B1 (ko) 데이터세그먼트처리방법및정보처리시스템
US6772355B2 (en) System and method for reducing power consumption in a data processor having a clustered architecture
JP2007535760A (ja) 開発インターフェースに対する適用性を有するデータ処理システム内におけるマスキング
US5778211A (en) Emulating a delayed exception on a digital computer having a corresponding precise exception mechanism
US6836833B1 (en) Apparatus and method for discovering a scratch pad memory configuration
US4241396A (en) Tagged pointer handling apparatus
US4562538A (en) Microprocessor having decision pointer to process restore position
US7054802B2 (en) Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading
US5761491A (en) Data processing system and method for storing and restoring a stack pointer
US11327757B2 (en) Processor providing intelligent management of values buffered in overlaid architected and non-architected register files
US4670836A (en) Device for detecting an overlap of operands to be accessed
US6684303B2 (en) Method and device to use memory access request tags
US5652774A (en) Method and apparatus for decreasing the cycle times of a data processing system
US6119191A (en) Performing PCI access cycles through PCI bridge hub routing
US5278840A (en) Apparatus and method for data induced condition signalling
US5287522A (en) External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip
US6601122B1 (en) Exceptions and interrupts with dynamic priority and vector routing
US6049897A (en) Multiple segment register use with different operand size
US20020087841A1 (en) Circuit and method for supporting misaligned accesses in the presence of speculative load Instructions
US5802564A (en) Method and apparatus for increasing processor performance
US20050256914A1 (en) Symbolic links with a plurality of addresses
US6957359B2 (en) Data processing apparatus and data processing method
US8862770B1 (en) Processor architecture verification
US20020124163A1 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
EP0297890A2 (en) Apparatus and method for data induced condition signaling

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20041228

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee