KR20210095599A - 명령 수행 결과를 라이트백하기 위한 장치 및 방법, 프로세싱 장치 - Google Patents

명령 수행 결과를 라이트백하기 위한 장치 및 방법, 프로세싱 장치 Download PDF

Info

Publication number
KR20210095599A
KR20210095599A KR1020210091693A KR20210091693A KR20210095599A KR 20210095599 A KR20210095599 A KR 20210095599A KR 1020210091693 A KR1020210091693 A KR 1020210091693A KR 20210091693 A KR20210091693 A KR 20210091693A KR 20210095599 A KR20210095599 A KR 20210095599A
Authority
KR
South Korea
Prior art keywords
execution
unit
write
delay
result
Prior art date
Application number
KR1020210091693A
Other languages
English (en)
Other versions
KR102579097B1 (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 KR20210095599A publication Critical patent/KR20210095599A/ko
Application granted granted Critical
Publication of KR102579097B1 publication Critical patent/KR102579097B1/ko

Links

Images

Classifications

    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • 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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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
    • 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/3812Instruction prefetching with instruction modification, e.g. store into instruction stream
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

본 발명은 명령 수행 결과를 라이트백하기 위한 장치 및 방법을 설명하였으며, 프로세서 기술 분야에 관한 것이다. 구체적인 구현 방안은 다음과 같다: 명령 수행 결과를 라이트백하기 위한 장치에 있어서, 제1 수행 지연을 구비하는 제1 수행 유닛과 레지스터 파일 사이에 결합되며, 제1 수행 유닛으로부터 제1 수행 결과를 수신하고 제1 라이트 어드레스에 기반하여 제1 수행 결과를 레지스터 파일 중의 제1 레지스터 유닛에 라이트백하도록 구성되는 제1 라이트 포트; 및 제1 수행 지연과 다른 제2 수행 지연을 구비하는 제2 수행 유닛과 레지스터 파일 사이에 결합되며, 제2 수행 유닛으로부터 제2 수행 결과를 수신하고 제2 라이트 어드레스에 기반하여 제2 수행 결과를 레지스터 파일 중의 제2 레지스터 유닛에 라이트백하도록 구성되는 제2 라이트 포트를 포함하되, 제1 라이트 포트는 제2 수행 유닛에 결합되지 않으며, 제2 라이트 포트는 제1 수행 유닛에 결합되지 않는다.

Description

명령 수행 결과를 라이트백하기 위한 장치 및 방법, 프로세싱 장치{APPARATUS AND METHOD FOR WRITING BACK INSTRUCTION EXECUTION RESULT AND PROCESSING APPARATUS}
본 발명은 컴퓨터 기술에 관한 것으로, 구체적으로 프로세서 기술에 관한 것이다.
프로세서에서는, 통상적으로 명령 파이프라인을 사용하여 프로세서가 명령을 수행하는 효율을 제고한다. 명령 파이프라인은, 하나의 명령의 동작을 복수의 단계로 구분하고, 각 단계마다 전문적인 회로 유닛을 통해 완성되는 것을 가리킨다. 명령 파이프라인은 일반적으로 명령 페치(IF), 명령 디코딩(ID), 수행(EXE), 라이트백(WB) 등 단계로 구분된다. 명령이 순차적으로 발사되고, 일부 비순차적으로 수행되며, 비순차적에 라이트백되는 프로세서 코어에서, 명령어 페치 단계 중 각 사이클에서 하나의 명령을 페치하고, 수행 단계 중 명령은 서로 다른 기능에 따라 수행 지연에 대응되는 수행 유닛에 진입하며, 수행 유닛은 각 사이클에서 하나의 명령을 수행하며, 최종적으로 계산되거나 또는 수행되는 결과는 비순차적으로 레지스터 파일에 라이트백된다. 명령 파이프라인에서 라이트백 효율을 제고하는 것은 프로세서의 전반적 성능의 향상에 대해 매우 관건적이다.
본 발명은 명령 수행 결과를 라이트백하기 위한 장치 및 방법, 프로세싱 장치, 전자기기 및 저장 매체를 제공한다.
본 발명의 일 측면에 따르면, 명령 수행 결과를 라이트백하기 위한 장치를 제공한다. 상기 장치는, 제1 수행 지연을 구비하는 제1 수행 유닛과 레지스터 파일 사이에 결합되며, 상기 제1 수행 유닛으로부터 제1 수행 결과를 수신하고 제1 라이트 어드레스에 기반하여 상기 제1 수행 결과를 상기 레지스터 파일 중의 제1 레지스터 유닛에 라이트백하도록 구성되는 제1 라이트 포트; 및 상기 제1 수행 지연과 다른 제2 수행 지연을 구비하는 제2 수행 유닛과 상기 레지스터 파일 사이에 결합되며, 상기 제2 수행 유닛으로부터 제2 수행 결과를 수신하고 제2 라이트 어드레스에 기반하여 상기 제2 수행 결과를 상기 레지스터 파일 중의 제2 레지스터 유닛에 라이트백하도록 구성되는 제2 라이트 포트를 포함하되, 상기 제1 라이트 포트는 상기 제2 수행 유닛에 결합되지 않으며, 상기 제2 라이트 포트는 상기 제1 수행 유닛에 결합되지 않는다.
본 발명의 다른 일 측면에 따르면, 프로세싱 장치를 제공한다. 상기 장치는, 복수의 레지스터 유닛을 포함하는 레지스터 파일; 각각 명령을 수행하며 수행 지연으로 수행 결과를 출력하는 복수의 수행 유닛; 및 각각 상기 복수의 수행 유닛의 수행 지연에 의해, 대응되는 수행 지연을 구비하는 수행 유닛과 상기 복수의 레지스터 유닛 사이에 결합되며, 상기 대응되는 수행 지연을 구비하는 수행 유닛으로부터 수행 결과를 수신하고 상기 수행 결과를 상기 복수의 레지스터 유닛 중 라이트 어드레스에 대응되는 임의의 레지스터 유닛에 라이트백하도록 구성되는 복수의 라이트 포트를 포함한다.
본 발명의 다른 일 측면에 따르면, 명령 수행 결과를 라이트백하기 위한 방법을 제공하며, 제1 라이트 포트를 통해 제1 수행 지연을 구비하는 제1 수행 유닛으로부터 제1 수행 결과를 수신하며, 제1 라이트 어드레스에 기반하여 제1 수행 결과를 레지스터 파일 중의 제1 레지스터 유닛에 라이트백하는 단계; 및 제2 라이트 포트를 통해 상기 제1 수행 지연과 다른 제2 수행 지연을 구비하는 제2 수행 유닛으로부터 제2 수행 결과를 수신하며, 제2 라이트 어드레스에 기반하여 상기 제2 수행 결과를 상기 레지스터 파일 중의 제2 레지스터 유닛에 라이트백하는 단계를 포함하되, 상기 제1 라이트 포트는 상기 제2 수행 유닛에 결합되지 않으며, 상기 제2 라이트 포트는 상기 제1 수행 유닛에 결합되지 않는다.
본 발명의 다른 일 측면에 따르면, 전자기기를 제공한다. 상기 전자기기는, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 통신 가능하게 결합되는 메모리; 를 포함하되, 상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되어 있고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서가 상기 방법을 수행할 수 있도록 한다.
본 발명의 다른 일 측면에 따르면, 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 저장 매체를 제공한다. 상기 컴퓨터 명령은 컴퓨터가 상기 방법을 수행하도록 한다.
본 발명의 다른 일 측면에 따르면, 컴퓨터 판독 가능 매체에 저장되어 있는 컴퓨터 프로그램을 제공한다. 상기 컴퓨터 프로그램 중의 명령이 실행될 경우, 상기 명령 수행 결과를 라이트백하기 위한 방법이 실행된다.
본 발명의 실시예에 따른 기술방안은 명령 파이프라인 중 라이트 포트에 대해 캐시 유닛 및 피드백 통로를 증가함으로 야기되는 문제를 해결하였으며, 파이프라인의 막힘을 감소하고, 파이프라인 효율을 현저히 향상시키며, 리소스 코스트를 감소하고 타이밍 시퀀스 압력을 감소하며, 프로세서 주파수를 향상시켜 전반적인 프로세서의 성능을 제고시킬 수 있다.
본 명세서 부분에서 설명하는 내용은 본 발명의 실시예의 관건적 또는 중요한 특징을 표시하기 위한 것이 아니며, 본 발명의 범위를 제한하기 위한 것도 아님을 이해해야 한다. 본 발명의 기타 특징은 이하의 명세서를 통해 용이하게 이해될 수 있을 것이다.
첨부된 도면은 본 발명의 기술방안을 보다 잘 이해하기 위해 사용되며, 본 발명을 한정하지 않는다. 도면에서:
도 1a 및 도 1b는 종래의 기술방안에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다.
도 2는 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다.
도 3은 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다.
도 4는 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다.
도 5는 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다.
도 6은 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 방법의 흐름도이다.
도 7은 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 전자기기를 구현하기 위한 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 예시적인 실시예에 대해 설명하되, 이해를 돕기 위해 본 발명의 실시예의 다양한 세부사항을 포함하지만 이를 단지 예시적인 것으로 간주하여야 한다. 따라서, 당업자들은 본 발명의 범위 및 사상으로부터 벗어나지 않고 본 명세서에 기술된 실시예들에 대한 다양한 변경 및 수정이 이루어질 수 있다는 것을 이해할 것이다. 또한, 공지된 기능 및 구조에 대한 설명은 명확성과 간결성을 위해 다음의 설명에서 생략한다.
도 1a 및 도 1b는 종래의 기술방안에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다.
도 1a를 참조하면, 프로세서는, 명령 페치 유닛(102), 명령 디코딩 유닛(104), 수행 유닛(106, 108), 라이트 포트(114) 및 레지스터 파일(116)을 포함한다. 명령 페치 유닛(102)은 명령에 대해 명령 페치를 수행하고, 명령 디코딩 유닛(104)은 페치된 명령에 대해 디코딩을 수행하며, 수행 유닛(106, 108)은 디코딩 명령을 수행하여 수행결과를 출력하며, 수행 결과는 라이트 포트(114)를 거쳐 레지스터 파일(116)로 라이트백된다. 라이트 포트(114)는 라이트 어드레스에 기반하여 레지스터 파일(116)의 레지스터 유닛(118)에 액세스될 수 있다.
도 1a에서 도시한 바와 같은 방안에서, 하나의 레지스터 파일(116)은 하나의 라이트 포트(114)를 사용한다. 싱글 발사되는 프로세서에 대해, 평균적으로 각 사이클은 라이트백 단계에서 하나의 수행 결과를 라이트백하며, 대응되는 레지스터 파일(116)은 하나의 라이트 포트(116)를 사용한다. 서로 다른 수행 유닛(106, 108)에 위치하는 수행 결과가 레지스터 파일(116)로 라이트백될 시, 서로 다른 수행 유닛(106, 108)이 수행하는 지연은 서로 다르며, 따라서 수행 결과와 동시에 레지스터 파일(116)로 라이트백되는 충돌이 발생될 수 있다. 상기 충돌을 프로세싱하기 위해, 라이트백 단계에서 하나의 (N-1) 중재 로직 또는 멀티플렉서(MUX)(110)를 마련하며, N은 수행 유닛의 개수이다. 서로 다른 수행 유닛(106, 108)에 대해 서로 다른 우선 순위를 부여하며, 수행 유닛(108)에 대해 캐시 큐(112)를 마련하여 현재 라이트백되지 않은 수행 결과를 캐시 큐(112)로 푸시하고, 라이트 포트(114)가 프리될때까지 대기 후 수행 결과를 디큐하여 라이트백 동작을 완성한다. 캐시 큐(112)의 공간은 한정되어 있으며, 캐시 오버 플로우를 방지하기 위해, 수시로 캐시 큐(112)의 공간 잔량을 모니터링하며, 파이프라인 프리오더 단계의 명령 페치 유닛(102)으로 피드백해야 한다. 캐시 큐(112)의 공간이 풀 상태일 시, 캐시 큐(112)의 수행 결과가 라이트백을 완성하며 공간이 릴리즈될때까지 명령 페치 유닛(102)은 명령 페치를 잠시 중단한다.
도 1b를 참조하면, 프로세서는, 명령 페치 유닛(102), 명령 디코딩 유닛(104), 수행 유닛(106, 108), 라이트 포트(128, 130) 및 레지스터 파일(132)을 포함한다. 명령 페치 유닛(102)은 명령에 대해 명령 페치를 수행하고, 명령 디코딩 유닛(104)은 페치된 명령에 대해 디코딩을 수행하며, 수행 유닛(106, 108)은 디코딩 명령을 수행하여 수행결과를 출력하며, 수행 결과는 라이트 포트(128, 130)를 거쳐 레지스터 파일(132)로 라이트백된다. 라이트 포트(128)는 라이트 어드레스에 기반하여 레지스터 파일(132)의 제2 영역의 레지스터 유닛(136)에 액세스될 수 있다.
도 1b에서 도시한 바와 같은 방안에서, 하나의 레지스터 파일(132)은 복수의 라이트 포트(128, 130)를 사용한다. 라이트 포트(128, 130) 중 각 라이트 포트는 복수의 수행 유닛(106, 108)에 의해 공유된다. 레지스터 파일(132)에 사용되는 라이트 포트의 개수가 증가된 후, 상술한 종래의 방안에 비해, 중재 로직 또는 멀티플렉서(MUX)(120, 122)는 N-M의 교차 구조로 변경되며, M은 라이트 포트의 개수를 표시한다. 서로 다른 수행 유닛(106, 108)에 대해 서로 다른 우선 순위를 부여하며, 수행 유닛(108)에 대해 캐시 큐(124, 126)를 마련하여 현재 라이트백되지 않은 수행 결과를 캐시 큐(124, 126)로 푸시하고, 라이트 포트(128, 130)가 프리될때까지 대기 후 수행 결과를 디큐하여 라이트백 동작을 완성한다. 캐시 큐(124, 126)의 공간은 한정되어 있으며, 캐시 오버 플로우를 방지하기 위해, 수시로 캐시 큐(124, 126)의 공간 잔량을 모니터링하며, 파이프라인 프리오더 단계의 명령 페치 유닛(102)으로 피드백해야 한다. 레지스터 파일(132)에 사용되는 라이트 포트(128, 130) 각각이 액세스 가능한 레지스터 공간은 서로 다르다. 상기 종래의 방안은 서로 다른 기능 유닛(106, 108)의 라이트백 어드레스가 서로 다른 라이트 포트(128, 130)에 분산된 씬에 대해 성능 최적화 효과를 구비하지만, 라이트 어드레스가 동일할 경우 성능은 향상되지 않으며, 캐시 큐 및 피드백 로직의 사용도 불가피하다.
도 1a에 도시한 바와 같은 방안에서, 파이프라인 효율은 서로 다른 수행 유닛에 대한 우선 순위의 설정에 의존한다. 우선 순위의 선택 전략은 최적값이 존재하지 않으며, 일부 적용에 대해서만 예상 효과에 도달할 수 있다. 그러나 기타 적용에 대해 캐시 큐의 빈번한 풀 상태로 인해 파이프라인을 백 프레스하는 명령 페치 단계를 트리거링할 수 있으므로, 파이프라인의 전반적 효율에 대해 보장하기 어렵다. 리소스 방면에서 정확성을 보장하기 위해, 설정한 캐시 큐는 주요 리소스 코스트이며, 파이프라인 피드백 통로를 백 프레스하는 배선도 프로세서의 타이밍 시퀀스 및 주파수에 대해 부정적인 영향을 끼친다.
도 1a에서 도시한 바와 같은 방안에 비해, 도 1b에서 도시한 바와 같은 방안은 서로 다른 수행 유닛의 라이트백 어드레스가 서로 다른 씬에 대해 성능 최적화를 구비한다. 그러나 도 1b에서 도시한 바와 같은 방안 등 기타 상황에서도 캐시 큐 및 피드백 통로를 마련해야 한다. 캐시 큐의 깊이는 상대적으로 비교적 작을 수 있으나 완전히 소거될 수 없으며, 따라서 리소스 및 효율 방면에서 최적화 공간이 제한된다.
특정 프로세서에 대해, 파이프라인 중 서로 다른 기능의 수행 유닛의 지연 특징은 비교적 뚜렷하다. 이러한 수행 지연 특징에 대해, 합리적으로 리소스를 분배하고, 서로 다른 기능의 파이프라인의 라이트백 효율을 제고시키는 것은 프로세서의 전반적 성능의 향상에 대해 매우 관건적이다.
적어도 상기 과제를 해결하기 위해, 본 발명의 실시예는 명령 파이프라인의 라이트백 효율을 제고시키기 위한 방안을 제공한다. 본 발명의 실시예에 따르면, 하나의 레지스터 파일에 대해 복수의 라이트 포트를 마련하고, 복수의 라이트 포트는 각 지연의 수행을 구비하는 수행 유닛에 각각 대응된다. 복수의 라이트 포트는 각각 대응되는 지연의 수행을 구비하는 각 수행 유닛에 구분 및 분배되며, 각 라이트 포트는 라이트 어드레스에 기반하여 레지스터 파일 중 임의의 레지스터 유닛에 액세스될 수 있다. 이러한 라이트 포트 및 통로 배치를 통해 성능 개선 및 향상을 얻을 수 있다.
본 발명의 실시예에 따르면, 라이트백으로 인한 파이프라인 막힘을 감소하고, 파이프라인 효율을 현저히 향상시킬 수 있어 전반적인 프로세서의 성능을 제고시킬 수 있다. 또한, 본 발명의 실시예는 종래의 방안 중 정확성을 보장하기 위한 캐시 큐의 사용을 피할 수 있어 리소스 코스트를 감소하며, 특히 레지스터 비트 와이드가 큰 씬에서 보다 큰 폭으로 하드웨어 리소스의 사용을 감소할 수 있다. 따라서, 본 발명의 실시예는 프로세서 면적의 축소 및 전력 소모의 감소에 유리하다. 또한, 본 발명의 실시예는 캐시 큐와 관련된 피드백 통로를 소거하였으며, 따라서 타이밍 시퀀스의 프로세스 압력을 감소하고, 프로세서 주파수를 향상시킬 수 있다.
이하, 첨부된 도면과 결합하여 각 실시예를 참조하여 본 발명의 다양한 예시적 실시예를 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다. 도 2는 명령 파이프라인에 사용되는 프로세싱 장치(200)를 도시하였으며, 프로세싱 장치(200)는 명령 수행 결과를 라이트백하기 위한 장치(230)를 포함한다. 일부 실시예에서, 프로세싱 장치(200)는 제1 수행 유닛(206), 제2 수행 유닛(208) 및 레지스터 파일(214)을 더 포함할 수 있다. 일 부 실시예에서, 프로세싱 장치(200)는 명령 페치 유닛(202) 및 명령 디코딩 유닛(204)을 더 포함할 수 있다.
명령 페치 유닛(202)은 명령에 대해 페치를 수행하도록 구성된다. 명령 디코딩 유닛(204)은 페치를 거친 명령에 대해 디코딩을 수행하도록 구성된다. 디코딩을 거친 후의 서로 다른 타입의 명령은 각각 대응되는 서로 다른 기능의 수행 유닛에 입력된다.
제1 수행 유닛(206)은 디코딩을 거친 후의 제1 타입의 명령을 수신하며 상기 명령을 수행하도록 구성된다. 제1 수행 유닛(206)은 제1 수행 지연으로 제1 수행 결과를 출력하도록 구성된다. 제2 수행 유닛(208)은 디코딩을 거친 후의 제2 타입의 명령을 수신하며 상기 명령을 수행하도록 구성된다. 제2 수행 유닛(208)은 제2 수행 지연으로 제2 수행 결과를 출력하도록 구성된다. 제1 실행 지연은 제2 수행 지연과 다르다. 당업자들은, 본 발명에서 설명하는 "제1 실행 지연은 제2 수행 지연과 다르다"는, 제1 수행 지연과 제2 수행 지연 사이에는 현저한 차이가 존재하며, 따라서 제1 수행 결과의 라이트백과 제2 수행 결과의 라이트백이 동일한 사이클에서 발생될 수 있음을 이해할 수 있을 것이다.
명령 페치 유닛(202), 명령 디코딩 유닛(204), 제1 수행 유닛(206) 및 제2 수행 유닛(208)은 명령 파이프라인 중 페치, 디코딩, 수행 단계와 각각 대응되는 회로 유닛임을 이해해야 한다. 이러한 회로 유닛은 본 기술분야에서 공지된 기술이며, 그에 대한 상세한 설명은 생략한다.
도 2를 참조하면, 명령 수행 결과를 라이트백하기 위한 장치(230)는 제1 라이트 포트(210) 및 제2 라이트 포트(212)를 포함한다. 제1 라이트 포트(210)와 제2 라이트 포트(212)는 각각 제1 수행 지연을 구비하는 제1 수행 유닛(206)과 제2 수행 지연을 구비하는 제2 수행 유닛(208)에 대응된다. 제1 라이트 포트(210)는 제2 수행 유닛(208)에 결합되지 않으며, 제2 라이트 포트(212)는 제1 수행 유닛(206)에 결합되지 않는다. 일부 실시예에서, 제1 라이트 포트(210)는 제1 수행 유닛(206)으로 분배된다. 일부 실시예에서, 제2 라이트 포트(212)는 제2 수행 유닛(208)으로 분배된다. 일부 실시예에서, 제1 라이트 포트(210)는 제1 수행 유닛(206)에 의해 독차지되며, 제2 라이트 포트(212)는 제2 수행 유닛(208)에 의해 독차지된다.
제1 라이트 포트(210)는 제1 지연을 구비하는 제1 수행 유닛(206)과 레지스터 파일(214) 사이에 결합된다. 제1 라이트 포트(210)는 제1 수행 유닛(206)으로부터 제1 수행 결과를 수신하며, 제1 라이트 어드레스에 기반하여 제1 수행 결과를 레지스터 파일(214)의 제1 레지스터 유닛에 라이트백하도록 구성된다. 제1 라이트 포트(210)는 제1 경로(218)를 거쳐 레지스터 파일(214) 중의 모든 레지스터 유닛(216)에 결합된다. 제1 경로(218)는 제1 배선 세트를 포함하며, 제1 배선 세트의 각 배선은 각각 제1 라이트 포트(210)와 레지스터 파일(214) 중의 모든 레지스터 유닛(216) 사이에 결합된다. 따라서, 제1 라이트 포트(210)를 거쳐 직접 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)을 액세스할 수 있다. 상기 방식으로 제1 라이트 포트(210)를 거쳐 제1 수행 지연으로 출력되는 명령 수행 결과를 직접 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)에 라이트백하여 라이트백 효율을 제고할 수 있다.
제2 라이트 포트(212)는 제2 지연을 구비하는 제2 수행 유닛(208)과 레지스터 파일(214) 사이에 결합된다. 제2 라이트 포트(212)는 제2 수행 유닛(208)으로부터 제2 수행 결과를 수신하며, 제2 라이트 어드레스에 기반하여 제2 수행 결과를 레지스터 파일(214)의 제2 레지스터 유닛에 라이트백하도록 구성된다. 제2 라이트 포트(212)는 제2 경로(220)를 거쳐 레지스터 파일(214) 중의 모든 레지스터 유닛(216)에 결합된다. 제2 경로(220)는 제2 배선 세트를 포함하며, 제2 배선 세트의 각 배선은 각각 제2 라이트 포트(212)와 레지스터 파일(214) 중의 모든 레지스터 유닛(216) 사이에 결합된다. 따라서, 제2 라이트 포트(212)를 거쳐 직접 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)을 액세스할 수 있다. 상기 방식으로 제2 라이트 포트(212)를 거쳐 제2 수행 지연으로 출력되는 명령 수행 결과를 직접 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)에 라이트백하여 라이트백 효율을 제고할 수 있다.
일부 실시예에서, 프로세싱 장치(200)는 복수의 수행 유닛을 포함할 수 있으며, 장치(230)는 복수의 라이트 포트를 포함할 수 있다. 복수의 수행 유닛은 각각 명령을 수행하며, 수행 지연으로 각각 수행 결과를 출력하도록 구성된다. 복수의 라이트 포트는 각각 대응되는 수행 지연을 구비하는 수행 유닛에 분배된다. 각 라이트 포트는 수행 유닛의 수행 지연에 의해 대응되는 수행 지연을 구비하는 수행 유닛과 복수의 레지스터 유닛 사이에 결합된다. 각 라이트 포트는 대응되는 수행 지연을 구비하는 수행 유닛으로부터 수행 결과를 수신하며, 상기 수행 결과를 복수의 레지스터 유닛 중 라이트 어드레스에 대응되는 임의의 레지스터 유닛에 라이트백하도록 구성된다.
본 발명의 실시예에 따르면, 명령이 순차적으로 발사되고, 일부 비순차적으로 수행되며, 비순차적에 라이트백되는 프로세서 코어에서, 페치 단계에서 각 사이클에서 하나의 명령을 페치하고, 수행 단계에서 상기 명령은 일정한 수행 지연을 구비하는 수행 유닛에 의해 수행되며, 명령 수행 결과는 상기 수행 지연과 대응되는 라이트 포트를 거쳐 레지스터 파일로 라이트백된다. 각 사이클마다 하나의 명령을 수행하며, 각 라이트 포트는 대응되는 수행 지연을 구비하는 수행 유닛에 분배되므로, 각 라이트 포트에 대해, 복수의 명령 수행 결과가 동시에 입력되는 충돌 문제가 존재하지 않는다. 이를 통해 종래의 방안 중 필요한 중재 로직 또는 멀티플렉서, 캐시 큐 및 피드백 통로의 사용을 피할 수 있다. 이러한 방식으로, 파이프라인의 막힘을 감소하고, 파이프라인의 효율을 현저히 향상시켜 전반적인 프로세서의 성능을 제고하고; 캐시 공간의 사용을 피하여 리소스 코스트를 감소하며, 특히 레지스터 비트 와이드가 큰 씬에서 감소되는 하드웨어 리소스가 더 크며, 프로세서 면적 및 전력 소모에 대해 모두 긍정적인 영향을 끼치며; 및 캐시 공간과 관련된 피드백 통로를 소거하고, 타이밍 시퀀스의 압력을 감소하며 프로세서 주파수를 향상시킨다.
또한, 동시에 하나의 레지스터 유닛에 라이트백되는 충돌 문제, 순차적 발사, 일부 비순차적 수행, 비순차적 라이트백하는 본 기술분야의 공지된 프로세서 구조에 대해 모두 충돌 문제를 검측하며 충돌 문제를 방지하는 하드웨어 프로세싱 구조를 구비한다. 상기 충돌 문제는 디코딩 단계의 프로세싱을 통해 방지될 수 있다. 본 발명의 실시예에서, 본 기술분야의 공지된 기술방안 중의 프로세싱 로직을 직접 적용하여 복수의 라이트 포트가 동시에 동일한 어드레스의 레지스터 유닛에 라이트백되는 정확성 문제를 방지할 수 있으며, 별도의 프로세싱 구조가 필요없다.
도 3은 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다. 도 3은 명령 파이프라인에 사용되는 프로세싱 장치(300)를 도시하였으며, 프로세싱 장치(300)는 명령 수행 결과를 라이트백하기 위한 장치(310)를 포함한다. 일부 실시예에서, 프로세싱 장치(200)에 비해, 프로세싱 장치(300)는 제3 수행 유닛(302)을 더 포함할 수 있다. 일부 실시예에서, 제3 라이트 포트(304)는 제1 수행 유닛(206) 및 제2 수행 유닛(208)에 결합되지 않는다. 일부 실시예에서, 제3 라이트 포트(304)는 제3 수행 유닛(302)으로 분배된다. 일부 실시예에서 제3 라이트 포트(304)는 제3 수행 유닛(302)에 의해 독차지된다.
제3 수행 유닛(302)은 디코딩을 거친 후의 제3 타입의 명령을 수신하며 상기 명령을 수행하도록 구성된다. 제3 수행 유닛(302)은 제3 수행 지연으로 제3 수행 결과를 출력하도록 구성된다. 제3 실행 지연은 제1 수행 유닛(206)의 제1 수행 지연 및 제2 수행 유닛(208)의 제2 수행 유닛 지연과 다르다. 유사하게, 상기 "제3 실행 지연은 제1 수행 지연, 제2 수행 지연과 다르다"는, 제3 수행 지연과 제1 수행 지연, 제2 수행 지연 사이에는 현저한 차이가 존재하며, 따라서 제3 수행 결과의 라이트백과 제1 수행 결과 또는 제2 수행 결과의 라이트백이 동일한 사이클에서 발생될 수 있음을 표시한다. 일부 실시예에서, 제3 수행 유닛(302)은 빈번하게 사용되거나 또는 명령 페치 유닛(202)으로 피드백하는 경로가 타이밍 시퀀스에 대해 심한 영향을 끼치는 수행 유닛이다.
제3 라이트 포트(304)는 제3 수행 유닛(302)과 레지스터 파일(214) 사이에 결합된다. 제3 라이트 포트(304)는 제3 수행 유닛(302)으로부터 제3 수행 결과를 수신하며, 제3 라이트 어드레스에 기반하여 제3 수행 결과를 레지스터 파일(214)의 제3 레지스터 유닛에 라이트백하도록 구성된다. 제3 라이트 포트(304)는 제3 경로(306)를 거쳐 레지스터 파일(214) 중의 모든 레지스터 유닛(216)에 결합된다. 제3 경로(306)는 제3 배선 세트를 포함하며, 제3 배선 세트의 각 배선은 각각 제3 라이트 포트(304)와 레지스터 파일(214) 중의 모든 레지스터 유닛(216) 사이에 결합된다. 따라서, 제3 라이트 포트(304)를 거쳐 직접 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)을 액세스할 수 있다.
본 발명의 실시예에 따르면, 빈번하게 사용되거나 또는 명령 페치 유닛에 피드백하는 경로가 타이밍 시퀀스에 대해 심한 영향을 끼치는 수행 유닛에 대해 대응되는 라이트 포트를 부가적으로 분배한다. 상기 방식으로 제3 라이트 포트(304)를 거쳐 제3 수행 유닛(302)이 출력하는 명령 수행 결과를 직접 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)에 라이트백하여 라이트백 효율을 제고하고, 프로세서의 타이밍 시퀀스에 영향주지 않으며, 프로세서 성능을 제고할 수 있다.
일부 실시예에서, 프로세싱 장치(300)는 복수의 수행 유닛을 포함할 수 있으며, 복수의 수행 유닛의 각 실행 지연은 서로 다르다. 이때, 복수의 라이트 포트를 마련할 수 있으며, 각 라이트 포트는 복수의 수행 유닛 중의 대응되는 하나의 수행 유닛에 결합될 수 있다. 또한, 각 라이트 포트는 레지스터 파일 중의 임의의 레지스터 유닛을 액세스할 수 있다.
도 4는 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다. 도 4는 명령 파이프라인에 사용되는 프로세싱 장치(400)를 도시하였으며, 프로세싱 장치(400)는 명령 수행 결과를 라이트백하기 위한 장치(410)를 포함한다. 일부 실시예에서, 프로세싱 장치(400)에 비해, 프로세싱 장치(400)는 제4 수행 유닛(402)을 더 포함할 수 있다.
제4 수행 유닛(402)은 디코딩을 거친 후의 제4 타입의 명령을 수신하며 상기 명령을 수행하도록 구성된다. 제4 수행 유닛(402)은 제4 수행 지연으로 제4 수행 결과를 출력하도록 구성된다. 일부 실시예에서, 제4 수행 지연과 제1 수행 유닛(206)의 제1 실행 지연은 기본적으로 특정 지연 값과 동일하다. 일부 실시예에서, 제4 실행 지연은 기본적으로 제1 수행 지연과 동일하며, 제4 수행 지연과 제1 수행 지연 사이의 차는 사전 설정 범위내에 있으며, 상기 사전 설정 범위의 크기는 하나의 사이클의 사전 설정 분수 값과 동일하여 제4 수행 결과의 라이트백과 제1 수행 결과의 라이트백이 동일한 사이클에서 발생되지 않도록 할 수 있다. 일부 실시예에서, 제1 수행 유닛(206)은 정수 연산에 사용되는 수행 유닛이며, 제4 수행 유닛(402)은 부동 소수점 연산에 사용되는 수행 유닛이다.
일부 실시예에서, 제1 라이트 포트(210)는 제1 수행 유닛(206)과 제4 수행 유닛(402)이 공유한다. 제1 라이트 포트(210)는 또한 제4 수행 지연을 구비하는 제4 수행 유닛(402)과 레지스터 파일(214)사이에 결합된다. 제1 라이트 포트(210)는 또한 제4 수행 유닛(4020으로부터 제4 수행 결과를 수신하며, 제4 라이트 어드레스에 기반하여 제4 수행 결과를 레지스터 파일(214) 중의 제4 레지스터 유닛에 라이트백하도록 구성된다.
본 발명의 실시예에 따르면, 수행 지연이 기본적으로 동일한 복수의 수행 유닛에 대해, 하나의 라이트 포트를 공동 사용한다. 동일한 라이트 포트를 공유하는 복수의 수행 유닛들은 파이프라인으로 명령을 수행하므로, 동일한 사이클에서 상기 라이트 포트에 라이트하는 상황이 발생되지 않으며, 라이트백 정확성 문제를 야기하지 않는다. 상기 방식으로 제1 라이트 포트(210)를 거쳐 제4 수행 유닛(402)이 출력하는 명령 수행 결과를 직접 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)에 라이트백하여 라이트백 효율을 제고할 수 있으며, 동시에 이러한 구성이 필요한 리소스의 소모 및 효율에 대한 영향은 매우 작아 명령 프로세싱 성능을 제고시킨다.
일부 실시예에서, 프로세싱 장치(400)는 복수의 수행 유닛을 포함할 수 있으며, 복수의 수행 유닛의 각 수행 지연 중의 적어도 두개의 실행 지연은 기본적으로 특정 지연과 동일하다. 이때, 복수의 라이트 포트 중의 하나의 라이트 포트는 복수의 수행 유닛 중의 상기 적어도 두개의 수행 지연을 구비하는 적어도 두개의 수행 유닛에 분배된다.
도 5는 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 장치의 블록도이다. 도 5는 명령 파이프라인에 사용되는 프로세싱 장치(500)를 도시하였으며, 프로세싱 장치(500)는 명령 수행 결과를 라이트백하기 위한 장치(510)를 포함한다. 일부 실시예에서, 프로세싱 장치(200)에 비해, 프로세싱 장치(500)는 제5 수행 유닛(502)을 더 포함할 수 있다. 일부 실시예에서, 장치(230)에 비해, 장치(510)는 캐시 유닛(504) 및 멀티플렉서(MUX)(506)를 더 포함할 수 있다.
제5 수행 유닛(502)은 디코딩을 거친 후의 제5 타입의 명령을 수신하며 상기 명령을 수행하도록 구성된다. 제5 수행 유닛(502)은 제5 수행 지연으로 제5 수행 결과를 출력하도록 구성된다. 제5 실행 지연은 제1 수행 유닛(206)의 제1 수행 지연 및 제2 수행 유닛(208)의 제2 수행 지연과 다르다. 일부 실시예에서, 제5 수행 유닛(502)은 사용 빈도가 비교적 낮은 수행 유닛이다.
캐시 유닛(504)은 제5 수행 유닛(504)에 결합된다. 캐시 유닛(504)은 제5 수행 유닛(5040으로부터 제5 수행 결과를 수신하도록 구성된다. 일부 실시예에서, 캐시 유닛(504)은 캐시 큐이다. 캐시 유닛(504)은 일시적으로 제5 수행 결과를 저장하도록 구성된다. 일부 실시예에서, 캐시 유닛(504)의 깊이는 비교적 작다. 일부 실시예에서, 캐시 유닛(504)으로부터 명령 페치 유닛(202)으로 피드백하는 피드백 경로를 마련할 필요가 없다.
멀티플렉서(506)는 캐시 유닛(504)과 제2 라이트 포트(212) 사이에 결합된다. 멀티플렉서(506)는 캐시 유닛(504)으로부터 제5 수행 결과를 수신하며, 선택 신호에 기반하여 제5 수행 결과를 제2 라이트 포트(212)로 전송하여 제2 라이트 포트(212)가 제5 라이트 어드레스에 기반하여 제5 수행 결과를 레지스터 파일(214) 중의 제5 레지스터 유닛에 라이트백하도록 구성된다. 일부 실시예에서, 멀티플렉서(506)는 제2 라이트 포트(212)가 프리 상태일 경우, 일시적으로 캐시 유닛(504)에 저장된 제5 수행 결과를 제2 라이트 포트(212)로 전송하여 제5 수행 결과를 라이트백하도록 구성된다. 일부 실시예에서, 멀티플렉서(506)는 중재 로직을 포함할 수 있다.
본 발명의 실시예에 따르면, 사용 빈도가 비교적 낮으며 피드백 경로가 프리오더 파이프라인으로 전달되는 수행 유닛에 대해, 깊이가 비교적 작은 캐시 유닛을 마련하며, 기타 라이트 포트를 다중 사용한다. 상기 방식으로 제2 라이트 포트(212)를 거쳐 제5 수행 유닛(504)이 출력하는 명령 수행 결과를 레지스터 파일(214) 중의 임의의 레지스터 유닛(216)에 라이트백하고, 라이트 포트 및 대응되는 레지스터 유닛과의 사이의 배선을 증가하지 않는 상황에서 라이트백 효율을 보장하며 프로세서 리소스의 소모를 감소하여 프로세서 성능을 제고시킬 수 있다.
본 발명의 실시예에 따르면, 상술한 도 2 내지 도 5를 참조하여 설명한 실시예 중의 임의의 구성을 서로 결합하여 수행 유닛의 사용 빈도, 소모한 하드웨어 리소스 및 타이밍 시퀀스에 대한 영향을 고려하여 라이트 포트를 증가하거나 캐시 유닛 및 멀티플렉서를 추가하여 밸런싱할 수 있으며, 수행 지연의 특징에 따라 라이트 포트를 공동 사용할 수 있다.
도 6은 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 방법(600)의 흐름도이다.
블록(602)에서, 제1 라이트 포트를 통해 제1 수행 지연을 구비하는 제1 수행 유닛으로부터 제1 수행 결과를 수신하며, 제1 라이트 어드레스에 기반하여 제1 수행 결과를 레지스터 파일 중의 제1 레지스터 유닛에 라이트백한다.
블록(604)에서, 제2 라이트 포트를 통해 제1 수행 지연과 다른 제2 수행 지연을 구비하는 제2 수행 유닛으로부터 제2 수행 결과를 수신하며, 제2 라이트 어드레스에 기반하여 제2 수행 결과를 레지스터 파일 중의 제2 레지스터 유닛에 라이트백한다. 제1 라이트 포트는 제2 수행 유닛에 결합되지 않으며, 제2 라이트 포트는 제1 수행 유닛에 결합되지 않는다.
일부 실시예에서, 방법(600)은 제3 라이트 포트를 통해 제1 수행 지연 및 제2 수행 지연과 다른 제3 수행 지연을 구비하는 제3 수행 유닛으로부터 제3 수행 결과를 수신하며, 제3 라이트 어드레스에 기반하여 제3 수행 결과를 레지스터 파일 중의 제3 레지스터 유닛에 라이트백하는 단계를 더 포함한다. 제3 라이트 포트는 제1 수행 유닛 및 제2 수행 유닛에 결합되지 않는다.
일부 실시예에서, 방법(600)은 제1 라이트 포트를 통해 제4 수행 지연을 구비하는 제4 수행 유닛으로부터 제4 수행 결과를 수신하며, 제4 라이트 어드레스에 기반하여 제4 수행 결과를 레지스터 파일 중의 제4 레지스터 유닛에 라이트백하는 단계를 더 포함한다. 제4 수행 지연과 제1 수행 지연 사이의 차는 사전 설정 범위내에 있다.
일부 실시예에서, 방법(600)은 캐시 유닛을 통해 제1 수행 지연 및 제2 수행 지연과 다른 제5 수행 지연을 구비하는 제5 수행 유닛으로부터 제5 수행 결과를 수신하는 단계, 및 멀티플렉서를 통해 캐시 유닛으로부터 제5 수행 결과를 수신하며, 선택 신호에 기반하여 제5 수행 결과를 제2 라이트 포트로 전송하여 제2 라이트 포트를 통해 제5 라이트 어드레스에 기반하여 제5 수행 결과를 레지스터 파일 중의 제5 레지스터 유닛에 라이트백하는 단계를 더 포함한다. 제2 라이트 포트는 멀티플렉서를 거쳐 제2 수행 유닛으로부터 제2 수행 결과를 수신한다.
본 발명의 실시예에 따르면, 전자기기 및 컴퓨터 판독 가능 저장 매체를 더 제공한다. 본 출원의 실시예에 따르면, 컴퓨터 판독 가능 매체에 저장되어 있는 컴퓨터 프로그램을 더 제공한다. 당해 컴퓨터 프로그램 중의 명령이 실행될 경우, 상기 명령 수행 결과를 라이트백하기 위한 방법이 실행된다. 도 7은 본 발명의 실시예에 따른 명령 수행 결과를 라이트백하기 위한 전자기기(700)를 구현하기 위한 블록도이다.
전자기기는 랩탑 컴퓨터, 데스크탑 컴퓨터, 워크스테이션, 개인 정보 단말기, 서버, 블레이드 서버, 메인프레임 컴퓨터, 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타낸다. 전자기기는 또한 개인 디지털 프로세서, 셀룰러 폰, 스마트 폰, 웨어러블 장치, 및 다른 유사한 컴퓨팅 장치와 같은 다양한 형태의 모바일 장치를 나타낼 수도 있다. 본 명세서에서 나타낸 부품, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것이며, 본 명세서에서 설명 및/또는 요구하는 본 발명의 구현을 제한하도록 의도되지 않는다. 또한, 전자기기는 필드 프로그램 가능 게이트 어레이(FPGA), 프로그램 가능 로직 장치(PLD)와 같은 프로그램 가능 장치를 나타낼 수도 있다,
도 7에 도시된 바와 같이, 전자기기(700)는 하나 또는 복수의 프로세서(701), 메모리(702), 및 고속 인터페이스 및 저속 인터페이스를 포함하는 각 부품을 연결하기 위한 인터페이스를 포함한다. 각 부품은 상이한 버스를 이용하여 상호 연결되고, 공통 마더보드 상에 장착되거나 또는 필요에 따라 다른 방식으로 장착될 수도 있다. 프로세서(701)는 전자기기(700) 내에서 실행되는 명령을 프로세싱할 수 있다. 기타 실시방식에서, 필요에 따라 복수의 프로세서 및/또는 복수의 버스를 복수의 메모리와 함께 사용할 수 있다. 또한, 복수의 전자기기를 연결할수 있고, 각 기기는 필요한 동작의 일부를 제공할수 있다(예를 들어, 서버 어레이, 한 그룹의 블레이드 서버, 또는 멀티 프로세서 시스템). 도 7에서는 하나의 프로세서(701)를 예로 든다.
메모리(702)는 본 발명에서 제공하는 비일시적 컴퓨터 판독 가능 저장 매체이다. 상기 메모리(702)에는 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되어 상기 적어도 하나의 프로세서가 본 발명에서 제공하는 명령 수행 결과를 라이트백하기 위한 방법을 수행하도록 한다. 본 발명의 비일시적 컴퓨터 판독 가능 저장 매체에는 컴퓨터가 본 발명에서 제공하는 명령 수행 결과를 라이트백하기 위한 방법을 실행하게 하기 위한 컴퓨터 명령이 저장된다.
메모리(702)는 비일시적 컴퓨터 판독 가능 저장 매체로서, 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 실행가능 프로그램 및 모듈을 저장하기 위해 사용될 수 있다. 프로세서(701)는 메모리(702)에 저장된 비일시적 소프트웨어 프로그램, 명령 및 모듈을 실행함으로써 서버의 다양한 기능 애플리케이션 및 데이터 프로세싱을 실행하며, 즉 상술한 방법의 실시예에서 제공하는 명령 수행 결과를 라이트백하기 위한 방법을 구현한다.
메모리(702)는 프로그램 저장영역 및 데이터 저장영역을 포함할 수 있으며, 프로그램 저장영역은 운영 시스템, 적어도 하나의 기능에 필요한 애플리케이션 프로그램을 저장할 수 있고; 데이터 저장영역은 명령 수행 결과를 라이트백하기 위한 방법에 따른 전자 기기의 사용에 의해 생성된 데이터 등을 저장할 수 있다. 또한, 메모리(702)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 적어도 하나의 자기 디스크 저장 부품, 플래시 메모리 부품, 또는 다른 비일시적 솔리드 스테이트 저장 부품과 같은 비일시적 메모리를 더 포함할 수도 있다. 일부 실시예에서, 메모리(702)는 선택적으로 프로세서(701)에 대해 원격으로 설치된 메모리를 포함할 수 있고, 상기 원격 메모리는 네트워크를 통해 명령 수행 결과를 라이트백하기 위한 전자 기기에 연결될 수 있다. 상술한 네트워크의 예시는 인터넷, 인트라넷, 로컬 영역 네트워크, 이동 통신 네트워크, 및 이들의 조합을 포함하지만, 이에 제한되지 않는다.
전자 기기(700)는, 입력 장치(703) 및 출력 장치(704)를 더 포함할 수 있다. 프로세서(701), 메모리(702), 입력 장치(703) 및 출력 장치(704)는 버스(705) 또는 기타 방식을 통해 연결될 수 있으며, 도 7에서 버스(705)를 통한 연결이 예시되어 있다. 입력 장치(703)는 프로세싱 대기 중인 입력 정보를 수신할 수 있다. 출력 장치(704)는 프로세싱을 거친 정보를 출력할 수 있다.
본 명세서에서 설명하는 시스템 및 기술의 다양한 실시방식은 디지털 전자 회로 시스템, 집적 회로 시스템, 전용 집적 회로, 프로그램 가능 장치, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 구현될 수 있다. 상기 다양한 실시방식은 하나 또는 복수의 컴퓨터 프로그램에서 구현하는 것을 포함할 수 있으며, 상기 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템 상에서 실행 및/또는 해석될 수 있고, 상기 프로그램 가능 프로세서는 전용 또는 일반적인 프로그램 가능 프로세서일 수 있으며, 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령을 수신하고, 데이터 및 명령을 상기 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로 전송할 수 있다.
이러한 컴퓨팅 프로그램(또한, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드로 지칭됨)은 프로그램 가능 프로세서의 기계 명령을 포함하며, 하이 레벨 프로세스 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "기계 판독 가능 매체"및 "컴퓨터 판독 가능 매체"는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위한 임의의 컴퓨터 프로그램 제품, 디바이스, 및/또는 장치(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 로직 장치(PLD))를 지칭하며, 기계 판독 가능 신호인 기계 명령을 수신하기 위한 기계 판독 가능 매체를 포함한다. 용어 "기계 판독 가능 신호"는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서로 제공하기 우해 사용되는 임의의 신호를 지칭한다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 설명된 시스템 및 기술을 컴퓨터 상에서 구현할 수 있으며, 상기 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치(예를 들어, 음극 선관(CRT) 또는 액정 표시 장치(LCD) 모니터), 및 키보드 및 포인팅 장치(예를 들어, 마우스 또는 트랙볼)을 구비하고, 사용자는 상기 키보드 및 상기 포인팅 장치를 통해 컴퓨터에 입력을 제공할 수 있다. 기타 종류의 장치도 사용자와의 인터렉션을 제공하기 위해 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 센서 피드백(예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백) 일 수 있으며, 임의의 형태(음향 입력, 음성 입력, 또는 촉각 입력을 포함함)로 사용자로부터의 입력을 수신할 수 있다.
본 명세서에서 설명하는 시스템 및 기술은 백그라운드 컴포넌트를 포함하는 컴퓨팅 시스템(예를 들어, 데이터 서버), 또는 미들웨어 컴포넌트를 포함하는 컴퓨팅 시스템 (예를 들어, 애플리케이션 서버), 또는 프론트 엔드 컴포넌트를 포함하는 컴퓨팅 시스템(예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저를 구비하는 사용자 컴퓨터이고, 사용자는 상기 그래픽 사용자 인터페이스 또는 웹 브라우저를 통해 본 명세서에 기술된 시스템 및 기술의 실시예와 인터렉션할 수 있다), 또는 이러한 백그라운드 컴포넌트, 미들웨어 컴포넌트 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)에 의해 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망(LAN), 광역통신망(WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있으며, 통상적으로 통신 네트워크를 통해 인터렉션한다. 클라이언트와 서버 사이의 관계는 대응하는 컴퓨터 상에서 실행되고 서로 클라이언트-서버 관계를 구비하는 컴퓨터 프로그램에 의해 생성된다.
본 발명의 실시예에 따른 기술방안은, 레지스터 파일에 대해 복수의 라이트 포트를 마련하고, 복수의 라이트 포트는 각각 복수의 수행 유닛의 수행 지연에 대응되며, 각각 대응되는 수행 지연을 가지는 수행 유닛에 분배된다. 이러한 방식으로, 수행 지연으로 인한 라이트 충돌이 발생되지 않는 것을 보장하는 전제하에서, 명령 수행 결과를 라이트백하는 효율을 제고시킨다.
전술한 다양한 형태의 프로세스를 사용하여, 단계를 재배열, 증가 또는 삭제할 수 있다는 것을 이해해야 한다. 예를 들어, 본 발명에 기재된 각 단계는 본 발명에서 개시한 기술방안이 기대하는 결과를 구현할 수 있는 한, 병렬로 또는 순차적으로 또는 상이한 순서로 수행될 수 있으며, 본 명세서에서는 제한하지 않는다.
상기 상세한 실시방식은 본 발명의 청구 범위에 대한 제한으로 의도되지 않는다. 다양한 수정, 조합, 서브 조합, 및 대체가 설계 요건 및 다른 요인을 고려하여 이루어질 수 있다는 것은 당업자에게 있어서 자명한 것이다. 본 발명의 사상 및 원칙 내에서 이루어진 임의의 수정, 동등한 교체, 및 개선 등은 모두 본 발명의 청구 범위 내에 포함되어야 한다.

Claims (16)

  1. 명령 수행 결과를 라이트백하기 위한 장치에 있어서,
    제1 수행 지연을 구비하는 제1 수행 유닛과 레지스터 파일 사이에 결합되며, 상기 제1 수행 유닛으로부터 제1 수행 결과를 수신하고 제1 라이트 어드레스에 기반하여 상기 제1 수행 결과를 상기 레지스터 파일 중의 제1 레지스터 유닛에 라이트백하도록 구성되는 제1 라이트 포트; 및
    상기 제1 수행 지연과 다른 제2 수행 지연을 구비하는 제2 수행 유닛과 상기 레지스터 파일 사이에 결합되며, 상기 제2 수행 유닛으로부터 제2 수행 결과를 수신하고 제2 라이트 어드레스에 기반하여 상기 제2 수행 결과를 상기 레지스터 파일 중의 제2 레지스터 유닛에 라이트백하도록 구성되는 제2 라이트 포트를 포함하되,
    상기 제1 라이트 포트는 상기 제2 수행 유닛에 결합되지 않으며, 상기 제2 라이트 포트는 상기 제1 수행 유닛에 결합되지 않는
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 장치.
  2. 제1항에 있어서,
    상기 제1 라이트 포트는 상기 레지스터 파일 중의 모든 레지스터 파일에 결합되며.
    상기 제2 라이트 포트는 상기 레지스터 파일 중의 모든 레지스터 파일에 결합되는
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 장치.
  3. 제1항에 있어서,
    상기 제1 수행 지연 및 상기 제2 수행 지연과 다른 제3 수행 지연을 구비하는 제3 수행 유닛과 상기 레지스터 사이에 결합되며, 상기 제3 수행 유닛으로부터 제3 수행 결과를 수신하고 제3 라이트 어드레스에 기반하여 상기 제3 수행 결과를 상기 레지스터 파일 중의 제3 레지스터 유닛에 라이트백하는 제3 라이트 포트를 더 포함하되,
    상기 제3 라이트 포트는 상기 제1 수행 유닛 및 상기 제2 수행 유닛에 결합되지 않고, 상기 제3 라이트 포트는 상기 레지스터 파일 중의 모든 레지스터 유닛에 결합되는
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 장치.
  4. 제1항에 있어서,
    상기 제1 라이트 포트는 제4 수행 지연을 구비하는 제4 수행 유닛과 상기 레지스터 파일 사이에 더 결합되며,
    상기 제4 수행 유닛으로부터 제4 수행 결과를 수신하고, 제4 라이트 어드레스에 기반하여 상기 제4 수행 결과를 상기 레지스터 파일 중의 제4 레지스터 유닛에 라이트백하도록 구성되며,
    상기 제4 수행 지연과 상기 제1 실행 지연은 기본적으로 동일한
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 장치.
  5. 제1항에 있어서,
    상기 제1 수행 지연 및 상기 제2 수행 지연과 다른 제5 수행 지연을 구비하는 제5 수행 유닛에 결합되며, 상기 제5 수행 유닛으로부터 제5 수행 결과를 수신하도록 구성되는 캐시 유닛; 및
    상기 캐시 유닛과 상기 제2 라이트 포트 사이에 결합되며, 상기 캐시 유닛으로부터 상기 제5 수행 결과를 수신하고, 선택 신호에 기반하여 상기 제5 수행 결과를 상기 제2 라이트 포트에 전송하여 상기 제2 라이트 포트가 제5 라이트 어드레스에 기반하여 상기 제5 수행 결과를 상기 레지스터 파일 중의 제5 레지스터 유닛에 라이트백하도록 구성되는 멀티플렉서를 더 포함하되,
    상기 제2 라이트 포트는 상기 멀티플렉서를 거쳐 상기 제2 수행 유닛에 결합되는
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 장치.
  6. 프로세싱 장치에 있어서,
    복수의 레지스터 유닛을 포함하는 레지스터 파일;
    각각 명령을 수행하며 수행 지연으로 수행 결과를 출력하는 복수의 수행 유닛; 및
    각각 상기 복수의 수행 유닛의 수행 지연에 의해, 대응되는 수행 지연을 구비하는 수행 유닛과 상기 복수의 레지스터 유닛 사이에 결합되며, 상기 대응되는 수행 지연을 구비하는 수행 유닛으로부터 수행 결과를 수신하고 상기 수행 결과를 상기 복수의 레지스터 유닛 중 라이트 어드레스에 대응되는 임의의 레지스터 유닛에 라이트백하도록 구성되는 복수의 라이트 포트를 포함하는
    것을 특징으로 하는 프로세싱 장치.
  7. 제6항에 있어서,
    상기 복수의 수행 유닛의 실행 지연은 서로 다르며, 각 라이트 포트는 상기 복수의 수행 유닛 중의 하나의 수행 유닛에 결합되는
    것을 특징으로 하는 프로세싱 장치.
  8. 제6항에 있어서,
    상기 복수의 수행 유닛의 수행 지연 중의 적어도 두개의 실행 지연은 특정 지연 값과 동일하며,
    상기 복수의 라이트 포트 중의 하나의 라이트 포트는 상기 복수의 수행 유닛 중의 상기 적어도 두개의 수행 지연을 구비하는 적어도 두개의 수행 유닛에 결합되는
    것을 특징으로 하는 프로세싱 장치.
  9. 제6항에 있어서,
    상기 복수의 수행 유닛 중 제1 수행 지연을 구비하는 제1 수행 유닛에 결합되며,상기 제1 수행 유닛으로부터 제1 수행 결과를 수신하도록 구성되는 캐시 유닛; 및
    상기 캐시 유닛과 상기 복수의 라이트 포트 중의 제1 라이트 포트 사이에 결합되며, 상기 캐시 유닛으로부터 상기 제1 수행 결과를 수신하고, 선택 신호에 기반하여 상기 제1 수행 결과를 상기 제1 라이트 포트에 전송하도록 구성되는 멀티플렉서를 더 포함하되,
    상기 멀티플렉서는 상기 복수의 수행 유닛 중 상기 제1 수행 지연과 다른 제2 수행 지연을 구비하는 제2 수행 유닛에 더 결합되며, 상기 제2 수행 유닛으로부터 제2 수행 결과를 수신하며 상기 선택 신호에 기반하여 상기 제2 수행 결과를 상기 제1 라이트 포트로 전송하도록 구성되는
    것을 특징으로 하는 프로세싱 장치.
  10. 명령 수행 결과를 라이트백하기 위한 방법에 있어서,
    제1 라이트 포트를 통해 제1 수행 지연을 구비하는 제1 수행 유닛으로부터 제1 수행 결과를 수신하며, 제1 라이트 어드레스에 기반하여 제1 수행 결과를 레지스터 파일 중의 제1 레지스터 유닛에 라이트백하는 단계; 및
    제2 라이트 포트를 통해 상기 제1 수행 지연과 다른 제2 수행 지연을 구비하는 제2 수행 유닛으로부터 제2 수행 결과를 수신하며, 제2 라이트 어드레스에 기반하여 상기 제2 수행 결과를 상기 레지스터 파일 중의 제2 레지스터 유닛에 라이트백하는 단계를 포함하되,
    상기 제1 라이트 포트는 상기 제2 수행 유닛에 결합되지 않으며, 상기 제2 라이트 포트는 상기 제1 수행 유닛에 결합되지 않는
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 방법.
  11. 제10항에 있어서,
    제3 라이트 포트를 통해 상기 제1 수행 지연 및 상기 제2 수행 지연과 다른 제3 수행 지연을 구비하는 제3 수행 유닛으로부터 제3 수행 결과를 수신하며, 제3 라이트 어드레스에 기반하여 상기 제3 수행 결과를 상기 레지스터 파일 중의 제3 레지스터 유닛에 라이트백하는 단계를 더 포함하되,
    상기 제3 라이트 포트는 상기 제1 수행 유닛 및 상기 제2 수행 유닛에 결합되지 않는
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 방법.
  12. 제10항에 있어서,
    상기 제1 라이트 포트를 통해 제4 수행 지연을 구비하는 제4 수행 유닛으로부터 제4 수행 결과를 수신하며, 제4 라이트 어드레스에 기반하여 상기 제4 수행 결과를 상기 레지스터 파일 중의 제4 레지스터 유닛에 라이트백하는 단계를 더 포함하되,
    상기 제4 수행 지연과 상기 제1 실행 지연은 기본적으로 동일한
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 방법.
  13. 제10항에 있어서,
    캐시 유닛을 통해 상기 제1 수행 지연 및 상기 제2 수행 지연과 다른 제5 수행 지연을 구비하는 제5 수행 유닛으로부터 제5 수행 결과를 수신하는 단계, 및
    멀티플렉서를 통해 상기 캐시 유닛으로부터 상기 제5 수행 결과를 수신하며, 선택 신호에 기반하여 상기 제5 수행 결과를 상기 제2 라이트 포트로 전송하여 상기 제2 라이트 포트를 통해 제5 라이트 어드레스에 기반하여 상기 제5 수행 결과를 상기 레지스터 파일 중의 제5 레지스터 유닛에 라이트백하는 단계를 더 포함하되,
    상기 제2 라이트 포트를 통해 상기 멀티플렉서를 거쳐 상기 제2 수행 유닛으로부터 상기 제2 수행 결과를 수신하는
    것을 특징으로 하는 명령 수행 결과를 라이트백하기 위한 방법.
  14. 전자기기에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 통신 가능하게 결합되는 메모리; 를 포함하되,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되어 있고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서가 제10항 내지 제13항 중 어느 한 항에 따른 방법을 수행하도록 하는
    것을 특징으로 하는 전자기기.
  15. 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 컴퓨터 명령은 상기 컴퓨터가 제10항 내지 제13항 중 어느 한 항에 따른 방법을 수행하도록 하는
    것을 특징으로 하는 비일시적 컴퓨터 판독 가능 저장 매체.
  16. 컴퓨터 판독 가능 저장 매체에 저장되어 있는 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램중의 명령이 실행될 경우, 제10항 내지 제13항 중 어느 한 항에 따른 방법이 실행되는,
    것을 특징으로 하는 컴퓨터 판독 가능 저장 매체에 저장되어 있는 컴퓨터 프로그램.
KR1020210091693A 2020-07-15 2021-07-13 명령 수행 결과를 라이트백하기 위한 장치 및 방법, 프로세싱 장치 KR102579097B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010681665.9A CN111857823A (zh) 2020-07-15 2020-07-15 用于写回指令执行结果的装置和方法、处理装置
CN202010681665.9 2020-07-15

Publications (2)

Publication Number Publication Date
KR20210095599A true KR20210095599A (ko) 2021-08-02
KR102579097B1 KR102579097B1 (ko) 2023-09-15

Family

ID=72984096

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210091693A KR102579097B1 (ko) 2020-07-15 2021-07-13 명령 수행 결과를 라이트백하기 위한 장치 및 방법, 프로세싱 장치

Country Status (5)

Country Link
US (1) US20210318883A1 (ko)
EP (1) EP3940531A1 (ko)
JP (1) JP7229305B2 (ko)
KR (1) KR102579097B1 (ko)
CN (1) CN111857823A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023003186A1 (ko) 2021-07-21 2023-01-26 주식회사 엘지화학 중합체 및 이를 이용한 유기 발광 소자

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302620B (zh) * 2023-05-18 2023-08-18 珠海星云智联科技有限公司 一种支持乱序回写和并行化的命令通道

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990029748A (ko) * 1997-09-12 1999-04-26 지멘스 마이크로일렉트로닉스, 인코포레이티드 중앙처리장치의 레지스터에 대해 판독/기록 액세스하기 위한 장치
JP2000250881A (ja) * 1999-02-26 2000-09-14 Internatl Business Mach Corp <Ibm> 不均等メモリ・アクセス・システム内で書き戻しの衝突によって生じるライブロックを避けるための方法およびシステム
JP2002522821A (ja) * 1998-08-06 2002-07-23 トライメディア テクノロジーズ インク データプロセッサとデータ処理方法
US20050278510A1 (en) * 2004-05-12 2005-12-15 Stmicroelectronics Limited Pseudo register file write ports
US20130346729A1 (en) * 2012-06-26 2013-12-26 International Business Machines Corporation Pipelining out-of-order instructions

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63197217A (ja) * 1987-02-12 1988-08-16 Matsushita Electric Ind Co Ltd デ−タ処理装置
US5222240A (en) * 1990-02-14 1993-06-22 Intel Corporation Method and apparatus for delaying writing back the results of instructions to a processor
JP3435278B2 (ja) * 1996-02-02 2003-08-11 東芝マイクロエレクトロニクス株式会社 データ処理装置
WO2000008555A1 (en) * 1998-08-06 2000-02-17 Koninklijke Philips Electronics N.V. Data processing device
WO2000079395A1 (en) * 1999-06-21 2000-12-28 Bops Incorporated Methods and apparatus for establishing port priority functions in a vliw processor
JP2006522398A (ja) * 2003-03-19 2006-09-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ パイプライン型命令プロセッサにおけるバイパスの使用
CN106293631B (zh) * 2011-09-26 2020-04-10 英特尔公司 用于提供向量分散操作和聚集操作功能的指令和逻辑
US10318302B2 (en) * 2016-06-03 2019-06-11 Synopsys, Inc. Thread switching in microprocessor without full save and restore of register file
US20180032335A1 (en) * 2016-07-31 2018-02-01 Microsoft Technology Licensing, Llc Transactional register file for a processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990029748A (ko) * 1997-09-12 1999-04-26 지멘스 마이크로일렉트로닉스, 인코포레이티드 중앙처리장치의 레지스터에 대해 판독/기록 액세스하기 위한 장치
JP2002522821A (ja) * 1998-08-06 2002-07-23 トライメディア テクノロジーズ インク データプロセッサとデータ処理方法
JP2000250881A (ja) * 1999-02-26 2000-09-14 Internatl Business Mach Corp <Ibm> 不均等メモリ・アクセス・システム内で書き戻しの衝突によって生じるライブロックを避けるための方法およびシステム
US20050278510A1 (en) * 2004-05-12 2005-12-15 Stmicroelectronics Limited Pseudo register file write ports
US20130346729A1 (en) * 2012-06-26 2013-12-26 International Business Machines Corporation Pipelining out-of-order instructions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023003186A1 (ko) 2021-07-21 2023-01-26 주식회사 엘지화학 중합체 및 이를 이용한 유기 발광 소자

Also Published As

Publication number Publication date
JP7229305B2 (ja) 2023-02-27
JP2021168189A (ja) 2021-10-21
US20210318883A1 (en) 2021-10-14
EP3940531A1 (en) 2022-01-19
CN111857823A (zh) 2020-10-30
KR102579097B1 (ko) 2023-09-15

Similar Documents

Publication Publication Date Title
US9558156B1 (en) Sparse matrix multiplication using a single field programmable gate array module
US9582334B2 (en) Resource management in MapReduce architecture and architectural system
KR102579097B1 (ko) 명령 수행 결과를 라이트백하기 위한 장치 및 방법, 프로세싱 장치
KR20050088995A (ko) 향상된 컴퓨팅 아키텍쳐를 위한 파이프라인 가속기 및 관련시스템 및 방법
CN113918101B (zh) 一种写数据高速缓存的方法、系统、设备和存储介质
US10983833B2 (en) Virtualized and synchronous access to hardware accelerators
JP7282823B2 (ja) メモリアクセスリクエストスケジューリング方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
US8977835B2 (en) Reversing processing order in half-pumped SIMD execution units to achieve K cycle issue-to-issue latency
US11782722B2 (en) Input and output interfaces for transmitting complex computing information between AI processors and computing components of a special function unit
KR20210092689A (ko) 그래프 데이터베이스의 순회 방법, 장치, 설비 및 저장매체
CN114911596B (zh) 针对模型训练的调度方法、装置、电子设备和存储介质
US20230179546A1 (en) Processor and implementation method, electronic device, and storage medium
US11561798B2 (en) On-the-fly adjustment of issue-write back latency to avoid write back collisions using a result buffer
CN109983443B (zh) 实现分叉非易失性存储器快速驱动器的技术
US20170185411A1 (en) Instruction execution method and processor
US8688889B2 (en) Virtual USB key for blade server
WO2021073125A1 (zh) 面向深度学习训练任务的处理器内存优化方法及装置
US20160173071A1 (en) Clock-distribution device and clock-distribution method
EP0374598A2 (en) Control store addressing from multiple sources
EP2799979B1 (en) Hardware abstract data structure, data processing method and system
WO2024078228A1 (zh) 基于压缩型发射队列的指令发送方法、装置、设备及介质
CN114115805A (zh) 乘累加运算装置和乘累加运算方法
CN116955226A (zh) 缓存器数据处理方法、装置、缓存器、设备及存储介质
CN114546329A (zh) 用于实现数据奇偶重排的方法、设备和介质
CN117872308A (zh) 基于cpu+gpu异构服务器平台的雷达信号处理优化方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant