KR100692976B1 - 프로세서간 데이터 전송 방법 및 시스템 - Google Patents

프로세서간 데이터 전송 방법 및 시스템 Download PDF

Info

Publication number
KR100692976B1
KR100692976B1 KR1020060012227A KR20060012227A KR100692976B1 KR 100692976 B1 KR100692976 B1 KR 100692976B1 KR 1020060012227 A KR1020060012227 A KR 1020060012227A KR 20060012227 A KR20060012227 A KR 20060012227A KR 100692976 B1 KR100692976 B1 KR 100692976B1
Authority
KR
South Korea
Prior art keywords
encoding method
processor
data
address space
determined
Prior art date
Application number
KR1020060012227A
Other languages
English (en)
Inventor
임근수
유정준
박정근
임채석
이재돈
김운기
최승현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060012227A priority Critical patent/KR100692976B1/ko
Priority to US11/654,011 priority patent/US8127110B2/en
Application granted granted Critical
Publication of KR100692976B1 publication Critical patent/KR100692976B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q5/00Driving or feeding mechanisms; Control arrangements therefor
    • B23Q5/02Driving main working members
    • B23Q5/04Driving main working members rotary shafts, e.g. working-spindles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B39/00General-purpose boring or drilling machines or devices; Sets of boring and/or drilling machines
    • B23B39/10General-purpose boring or drilling machines or devices; Sets of boring and/or drilling machines characterised by the drive, e.g. by fluid-pressure drive pneumatic power drive
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23GTHREAD CUTTING; WORKING OF SCREWS, BOLT HEADS, OR NUTS, IN CONJUNCTION THEREWITH
    • B23G1/00Thread cutting; Automatic machines specially designed therefor
    • B23G1/16Thread cutting; Automatic machines specially designed therefor in holes of workpieces by taps
    • B23G1/18Machines with one working spindle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q2705/00Driving working spindles or feeding members carrying tools or work
    • B23Q2705/02Driving working spindles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 복수의 프로세서를 포함한 칩 또는 보드에서 데이터를 전송하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 프로세서별로 전송하는 데이터의 특성 또는 프로세서의 가상 메모리 지원 여부에 따라 인코딩 방법을 다양하게 변경하여 데이터를 전송함으로써 데이터 전송의 효율을 극대화하고, 에너지 소모를 최소화하여 안정적인 칩을 제공하는 데이터 전송 방법 및 시스템에 관한 것이다. 본 발명의 일실시예에 따른 데이터 전송 방법은 제1 프로세서의 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장하는 단계, 제2 프로세서로 전송하고자 하는 데이터에 대응하는 가상 주소 공간의 영역을 판단하는 단계, 및 상기 저장 수단을 참조하여, 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 단계를 포함하는 것을 특징으로 한다.
멀티 프로세서 시스템 온 칩(Multi-Processop System On Chip), 데이터 전송, 인코딩(incoding), 디코딩(decoding)

Description

프로세서간 데이터 전송 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING INTERPROCESSOR DATA COMMUNICATION}
도 1은 본 발명의 일실시예에 따른 MPSoC의 네트워크 연결을 도시한 도면.
도 2는 프로세서가 가상 메모리를 지원하는 경우 본 발명의 데이터 전송 시스템의 동작 과정을 도시한 도면.
도 3은 본 발명에 따른 TLB(Translation Lookaside Buffer)의 일실시예를 도시한 도면.
도 4는 프로세서가 가상 메모리를 지원하지 않는 경우 본 발명의 데이터 전송 시스템의 동작 과정을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 저장 수단을 도시한 도면.
도 6은 프로세서가 데이터 입출력 장치인 경우 본 발명의 데이터 전송 시스템의 동작 과정을 도시한 도면.
도 7은 본 발명의 일실시예에 따른 데이터 전송 시스템의 구성을 도시한 블록도.
도 8은 본 발명에 따라 확장된 버스를 이용하여 인코딩 방법 정보를 전송하는 과정을 도시한 도면.
도 9는 본 발명에 따라 기존에 버스를 이용하여 인코딩 방법 정보를 전송하 는 과정을 도시한 도면.
도 10은 본 발명의 데이터 전송 시스템에 포함되는 복수의 인코딩 회로의 일실시예를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
701: 저장 수단
702: 데이터 전송 제어 모듈
본 발명은 복수의 프로세서를 포함한 칩 또는 보드에서 데이터를 전송하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 프로세서별로 전송하는 데이터의 특성 또는 프로세서의 가상 메모리 지원 여부에 따라 인코딩 방법을 다양하게 변경하여 데이터를 전송함으로써 데이터 전송의 효율을 극대화하고, 에너지 소모를 최소화하여 안정적인 칩을 제공하는 데이터 전송 방법 및 시스템에 관한 것이다.
오늘날, 멀티미디어 데이터를 처리하는 컴퓨팅 기술의 발달에 따라 다양한 기능을 지원하는 프로세서를 복수 개로 포함하여 멀티미디어 데이터를 처리하는 멀티 프로세서 시스템 온 칩(Multi-Processop System on Chip, MPSoC)가 개발되었다.
그런데 MPSoC는 AP(Application Processor), DSP(Digital Signal Processor), IP 등 다양한 프로세서(processor)를 포함하고, 상기 프로세서들은 고속 네트워크로 연결되어 데이터를 송수신하므로, 프로세서간 송수신되는 데이터량 이 많아지면 MPSoC가 과열되어 오작동을 일으켜 MPSoC가 포함된 시스템 전체에 심각한 피해가 발생하는 문제점이 발생하였다. 특히, 데이터를 송수신하는 수단인 버스(bus)에서의 전력 소모는 MPSoC 전체 전력 소모량의 약 70%를 차지하므로, 버스에서의 전력 소모를 감소시킬 필요가 있다.
상기와 같은 문제점을 해결하기 위하여, 데이터 전송 수단인 버스(bus)로 전송되는 이진 데이터가 변환(transition)되는 횟수를 줄일 수 있는 인코딩 방법이 다양하게 개발되고 있다. 이러한 인코딩 방법으로는, 버스 인버트 코드(bus invert coding)를 사용하는 방법, M 비트의 인버트 코드를 사용하는 방법, 그레이 코드(gray code)를 사용하는 방법, TO 코드를 사용하는 방법 등이 있다.
그러나 종래 기술의 MPSoC에서는 프로세서별 특징 또는 전송되는 데이터의 종류를 구분하지 않고, 일괄적으로 인코딩 방법을 적용하였으므로, 데이터 전송 효율이 떨어지고 전력 소모가 심하여 MPSoC의 오작동을 크게 줄일 수 없는 단점이 있었다.
따라서 이러한 종래 기술의 문제점을 해결하여, 데이터 전송 효율을 극대화하고, 버스에서의 전력 소모를 최소화하여 MPSoC에서 발생하는 열을 줄임으로써, 전체 시스템의 오작동을 방지할 수 있는 데이터 전송 방법 및 시스템의 필요성이 절실하게 요구되고 있다.
본 발명은 가상 주소 공간의 영역별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화 하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 프로세서간 데이터 전송 방법 및 시스템을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 가상 주소에 대응하는 물리 주소를 판단함과 동시에 해당 인코딩 방법을 판단할 수 있으므로, 가상 주소에 대응하는 인코딩 방법을 판단하는 별도의 단계를 생략하여 부가적인 하드웨어의 사용을 최소화할 뿐만 아니라 빠른 처리 속도로 프로세서간 데이터 전송 시에 사용할 수 있는 인코딩 방법을 판단할 수 있는 프로세서간 데이터 전송 방법 및 시스템을 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 프로세서가 가상 메모리를 지원하지 않더라도 물리 주소 공간의 영역별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 프로세서간 데이터 전송 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 복수의 프로세서별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 프로세서간 데이터 전송 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명의 일실시예에 따른 데이터 전송 방법은 제1 프로세서의 가상 주소 공간의 영 역별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장하는 단계, 제2 프로세서로 전송하고자 하는 데이터에 대응하는 가상 주소 공간의 영역을 판단하는 단계, 및 상기 저장 수단을 참조하여, 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한 본 발명의 다른 실시예에 따른 데이터 전송 방법은, 제1 프로세서의 물리 주소 공간의 영역 별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장하는 단계, 제2 프로세서로 전송하고자 하는 데이터에 대응하는 물리 주소 공간의 영역을 판단하는 단계, 및 상기 저장 수단을 참조하여, 상기 판단된 물리 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한 본 발명의 또 다른 실시예에 따른 복수의 프로세서 별로 인코딩 방법을 설정하여 소정의 저장 수단에 기록하는 단계, 상기 저장 수단을 참조하여, 데이터를 전송하고자 하는 제1 프로세서에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 제2 프로세서로 전송하는 단계, 및 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하는 단계를 포함하고, 상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 한다.
또한 본 발명의 또 다른 실시예에 따른 데이터 전송 시스템은 제1 프로세서의 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 저장하는 저장 수단, 및 제 2 프로세서로 전송하고자 하는 데이터에 대응하는 가상 주소 공간의 영역을 판단하고, 상기 저장 수단을 참조하여, 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 데이터 전송 제어 모듈을 포함하는 것을 특징으로 한다.
또한 본 발명의 또 다른 실시예에 따른 데이터 전송 시스템은 제1 프로세서의 물리 주소 공간의 영역 별로 인코딩 방법을 설정하여 저장하는 저장 수단, 및 제2 프로세서로 전송하고자 하는 데이터에 대응하는 물리 주소 공간의 영역을 판단하고, 상기 저장 수단을 참조하여, 상기 판단된 물리 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 데이터 전송 제어 모듈을 포함하는 것을 특징으로 한다.
또한 본 발명의 또 다른 실시예에 따른 데이터 전송 시스템은 복수의 프로세서 별로 인코딩 방법을 설정하여 저장하는 저장 수단, 및 상기 저장 수단을 참조하여, 데이터를 전송하고자 하는 제1 프로세서에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 제2 프로세서로 전송하고, 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하는 데이터 전송 제어 모듈을 포함하고,
상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명에 따른 데이터 전송 방법 및 시스템에 대하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 MPSoC의 네트워크 연결을 도시한 도면이다. 도 1을 참조하면, MPSoC에 포함되는 복수의 프로세서(101, 102, 103, 104, 105) 또는 MPSoC와 연동하는 복수의 프로세서(106, 107)는 고속 네트워크인 버스를 통해 연결된다. 이 때, 버스 중계기(108, 109, Bus Arbiter)는 프로세서간의 데이터의 송수신을 중계한다.
본 발명의 프로세서(processor)는 소정의 데이터를 처리하여 송수신하는 구성을 모두 포함하는 개념이고, 본 발명의 데이터 전송 시스템은 프로세서에 포함되거나, 연동하여 데이터 송수신을 제어한다. 또한, 본 발명의 프로세서 및 데이터 전송 시스템은 소정의 칩 또는 보드에 포함되어 동작할 수 있다.
이 때, 본 발명의 데이터 전송 시스템은 프로세서의 가상 메모리 지원 여부 및 송수신 데이터의 종류에 따라 다음과 같이 구분되어 동작할 수 있다.
(1) 프로세서가 가상 메모리를 지원하는 경우
(2) 프로세서가 가상 메모리를 지원하지 않는 경우
(3) 프로세서가 데이터 입출력 장치인 경우
이하에서는, 프로세서가 상기 3가지 종류 중 하나에 포함될 때, 데이터 전송 시스템이 동작하는 과정을 설명한다.
도 2는 프로세서가 가상 메모리를 지원하는 경우 본 발명의 데이터 전송 시스템의 동작 과정을 도시한 도면이다.
도 2를 참조하면, 프로세서가 가상 메모리를 지원하는 경우, 단계(S201)에서 본 발명의 데이터 전송 시스템은 제1 프로세서의 가상 주소 공간의 영역별로 인 코딩 방법을 설정하여 소정의 저장 수단에 저장한다.
본 발명에서 "저장 수단"은 데이터를 저장할 수 있는 모든 구성을 포함하는 개념으로, 내장 메모리(Scratch-Pad Memory), 캐시(cache), 버퍼(buffer), 레지스터(register) 등을 모두 포함한다.
예를 들어, 본 발명의 데이터 전송 시스템은 저장 수단으로 TLB(Translation Lookaside Buffer)에 가상 주소 공간의 영역별 인코딩 방법을 저장할 수 있다.
도 3은 본 발명에 따른 TLB(Translation Lookaside Buffer)의 일실시예를 도시한 도면이다. 도 3을 참조하면, 본 발명의 데이터 전송 시스템은 프로세서의 TLB에 가상 주소(301) 및 이에 대응하는 물리 주소(302), 해당 가상 주소 영역에 대응하는 인코딩 방법(303) 등을 저장한다. 이 때, TLB에는 이 외에도 유효 비트, Dirty 비트 등이 저장될 수 있다. 가상 주소(301)는 CAM(Content Addressable Memory)로 구성되고 물리 주소(302)와 인코딩 방법(303)은 SRAM 또는 DRAM으로 구성될 수 있다.
이 때, 인코딩 방법은 가상 주소 영역에 대응하는 데이터의 종류를 고려하여 설정될 수 있는데, 해당 데이터를 여러 종류의 인코딩 방법으로 전송하고, 각 종류의 인코딩 방법으로 전송했을 때의 전력 소모 결과 또는 데이터 전송 효율을 실험적으로 측정한 결과에서 최적의 인코딩 방법을 설정할 수 있다.
도 2의 단계(S202)에서 본 발명의 데이터 전송 시스템은 제2 프로세서로 전송하고자 하는 데이터에 대응하는 가상 주소 공간의 영역을 판단한다.
이 때, 제1 프로세서에서 제2 프로세서로 전송하고자 하는 데이터는 버스의 우선 순위 기반 스케줄링 또는 라운드 로빈 스케줄링에 따라 결정될 수 있고, 트랜잭션 단위로 전송될 수 있으므로, 본 발명의 데이터 전송 시스템은 상기 스케줄링에 따라 전송되는 데이터에 대응하는 가상 주소 공간의 영역을 판단할 수 있다.
단계(S203)에서 본 발명의 데이터 전송 시스템은 저장 수단을 참조하여, 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송한다.
예를 들어, 가상 주소가 "ADRESS 1"에 대응하는 인코딩 방법이 "모드 1"인 경우, 본 발명의 데이터 전송 시스템은 저장 수단을 참조하여 "모드 1"의 방법으로 해당 데이터를 제2 프로세서로 전송한다.
이 때, 본 발명의 데이터 전송 시스템은 복수의 인코딩 방법을 지원하기 위한 복수의 인코딩 회로를 포함하고, MUX 등의 회로를 이용하여 복수의 인코딩 회로 중 하나를 선택하여 해당 인코딩 방법으로 데이터가 전송되도록 할 수 있다.
따라서 본 발명은 가상 주소 공간의 영역별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 효과가 있다.
특히 저장 수단이 TLB인 경우, 본 발명의 데이터 전송 시스템은 데이터를 송신하기 위해 가상 주소에 대응하는 물리 주소를 판단하는 동시에 해당 인코딩 방법을 판단하여 판단된 인코딩 방법으로 데이터를 전송한다.
이 때, TLB에 가상 주소 및 인코딩 방법 정보가 저장되지 않은 경우, 데이 터 전송 시스템은 별도의 저장 수단(예를 들어, L2 캐시 또는 L1 캐시)을 참조하여 데이터에 대응하는 인코딩 방법 정보를 판단하거나, 해당 데이터에 대하여 별도로 패치(patch)된 엔트리를 이용하여 인코딩 방법 정보를 판단하거나, 디폴트된 인코딩 방법을 이용하여 데이터를 전송할 수 있다.
따라서, 본 발명은 가상 주소에 대응하는 물리 주소를 판단함과 동시에 해당 인코딩 방법을 판단할 수 있으므로, 가상 주소에 대응하는 인코딩 방법을 판단하는 별도의 단계를 생략할 수 있는 빠른 처리 속도로 인코딩 방법을 판단할 수 있는 효과가 있다.
또한, 본 발명은 실시예에 따라 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고, 상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩한다.
예를 들어, 인코딩 방법이 "mode 1" 인 경우, 데이터 전송 시스템은 제2 프로세서로 "01" 이라는 이진 데이터를 전송하여 인코딩 방법이 "mode 1"의 방법으로 인코딩 되었음을 알릴 수 있다.
이 때, 소정의 비트로 구성되는 인코딩 방법 정보는 도 1의 (3)과 같이 별도의 확장된 버스를 이용하여 제2 프로세서로 바로 전송되거나, 도 1의 (1) 및 (2)와 같이 기존의 버스를 이용하여 버스 중계기를 통해 제2 프로세서로 전송될 수 있다.
도 8은 본 발명에 따라 확장된 버스를 이용하여 인코딩 방법 정보를 전송하는 과정을 도시한 도면이다. 도 8을 참조하면, 프로세서 1에 포함된 데이터 전송 시스템 1(801)은 제어 정보 및 데이터를 전송하는 버스를 이용하여 프로세서 2에 포함된 데이터 전송 시스템 2(802)로 제어 정보 및 데이터를 전송하고, 확장된 버스(805)를 이용하여 인코딩 방법 정보를 전송한다. 이 때, 확장된 버스는 인코딩 방법 정보 전송에 필요한 비트 수에 대응하는 라인 수를 가질 수 있다.
도 9는 본 발명에 따라 기존에 버스를 이용하여 인코딩 방법 정보를 전송하는 과정을 도시한 도면이다. 도 9를 참조하면, 프로세서 1에 포함된 데이터 전송 시스템 1(901)은 기존의 버스 라인(904)를 이용하여 버스 중계기(902)를 통해 프로세서 2에 포함된 데이터 전송 시스템 2(903)로 인코딩 방법 정보를 전송하고, 기존의 버스 라인(905)을 이용하여 제어 정보 및 데이터를 전송할 수 있다.
전자의 경우 버스를 확장하여야 하는 단점이 있으나, 버스 중계기를 수정하여야 할 필요가 없고, 후자의 경우 버스를 확장하지 않아도 되나 버스 중계기로 전송되는 데이터에 인코딩 방법 정보가 추가되기 때문에 버스 중계기가 수정되어야 하는 단점이 있다.
도 2의 데이터 전송 방법은 소프트웨어를 통해 구현될 수 있는데, 이 때 데이터의 전송 과정은 운영 체제 및 응용 프로그램을 통하여 구현될 수 있다.
운영 체제는 독립된 주소 공간을 갖는 최소 실행 단위인 태스크의 생성시에 활용 가능 코드 및 데이터 위치 관련 정보를 이용하여 가상 주소 공간의 영역별로 인코딩 방법을 판단하여 저장하고, 응용 프로그램에서 인코딩 방법을 설정할 수 있도록 하는 시스템 호출 함수를 지원한다.
이 때, 응용 프로그램에서 프로세서간 통신을 수행하기 이전에 송수신하려는 데이터의 종류를 판단한 경우에는 이에 관한 정보를 운영 체제에 시스템 호출을 통 하여 전달하고, 운영 체제는 데이터 종류에 관한 정보를 이용하여 가상 주소 공간의 영역별로 인코딩 방법을 설정할 수 있다.
다음으로, 프로세서가 가상 메모리를 지원하지 않는 경우 본 발명의 데이터 전송 시스템의 동작 과정을 설명한다.
도 4는 프로세서가 가상 메모리를 지원하지 않는 경우 본 발명의 데이터 전송 시스템의 동작 과정을 도시한 도면이다.
도 4를 참조하면, 프로세서가 가상 메모리를 지원하지 않는 경우, 본 발명의 데이터 전송 시스템은 단계(S401)에서 제1 프로세서의 물리 주소 공간의 영역 별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장한다.
도 5는 본 발명의 일실시예에서 프로세서가 가상 메모리를 지원하지 않는 경우 사용할 수 있는 저장 수단을 도시한 도면이다. 도 5를 참조하면 본 발명의 데이터 전송 시스템은 제1 프로세서의 물리 주소 공간(503)의 영역별로 인코딩 방법을 기록한다.
이 때, 데이터 전송 시스템은 물리 주소 공간의 데이터 경계값을 물리 공간 주소(501)로 표시하여 물리 주소 공간의 영역을 구분하고, 각 영역에 대응하는 인코딩 방법(502)을 기록한다.
각 영역에 대응하는 인코딩 방법은 물리 주소 영역에 대응하는 데이터의 종류를 고려하여 설정될 수 있는데, 해당 데이터를 여러 종류의 인코딩 방법으로 전송하고, 각 종류의 인코딩 방법으로 전송했을 때의 전력 소모 결과 또는 데이터 전송 효율을 실험적으로 측정한 결과를 바탕으로 최적의 인코딩 방법을 설정할 수 있 다.
예를 들어, 데이터가 "code" 인 경우 최적의 인코딩 방법으로 "모드 1"을 설정하고, 데이터가 "stack"인 경우 인코딩 방법으로 "모드 N"을 최적의 인코딩 방법으로 설정한다.
도 4의 단계(S402)에서 본 발명의 데이터 전송 시스템은 제2 프로세서로 전송하고자 하는 데이터에 대응하는 물리 주소 공간의 영역을 판단한다.
이 때, 제1 프로세서에서 제2 프로세서로 전송하고자 하는 데이터는 트랜젝션(transaction) 단위로 전송되며 버스의 우선 순위 기반 스케줄링 또는 라운드 로빈 스케줄링 알고리즘에 따라 프로세서 간의 전송 순서가 정해질 수 있으므로, 본 발명의 데이터 전송 시스템은 상기 스케줄링에 따라 전송되는 데이터에 대응하는 물리 주소 공간의 영역을 판단할 수 있다.
단계(S403)에서 본 발명의 데이터 전송 시스템은 상기 저장 수단을 참조하여, 상기 판단된 물리 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송한다.
예를 들어, 판단된 인코딩 방법이 "모드 1" 인 경우 데이터 전송 시스템은 데이터를 상기 방식으로 제2 프로세서로 전송한다.
이 때, 마찬 가지로 본 발명의 데이터 전송 시스템은 복수의 인코딩 방법을 지원하기 위한 복수의 인코딩 회로를 포함하고, MUX 등의 회로를 이용하여 복수의 인코딩 회로 중 하나를 선택하여 해당 인코딩 방법으로 데이터가 전송되도록 할 수 있다.
도 10은 본 발명의 데이터 전송 시스템에 포함되는 복수의 인코딩 회로의 일실시예를 도시한 도면이다. 도 10을 참조하면, 데이터 전송 시스템은 각각의 인코딩 방법을 지원하는 복수의 인코딩 회로(1001, 1002, 1003, 1004, 1005, 1006, 1007)을 포함하고, 복수의 인코딩 회로 중 하나를 선택하여 해당 인코딩 방법으로 데이터가 전송되도록 한다.
또한, 본 발명의 데이터 전송 시스템은 데이터와 함께 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고, 상기 제1 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩할 수 있다.
이 때, 소정의 비트로 구성되는 인코딩 방법 정보는 도 1의 (3)과 같이 별도의 확장된 버스를 이용하여 제2 프로세서로 바로 전송되거나, 도 1의 (1) 및 (2)와 같이 기존의 버스를 이용하여 버스 중계기를 통해 제2 프로세서로 전송될 수 있다.
따라서 본 발명은 프로세서가 가상 메모리를 지원하지 않더라도 물리 주소 공간의 영역별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 효과가 있다.
다음으로, 프로세서가 데이터 입출력 장치인 경우 본 발명의 데이터 전송 시스템의 동작 과정을 설명한다.
도 6은 프로세서가 데이터 입출력 장치인 경우 본 발명의 데이터 전송 시스템의 동작 과정을 도시한 도면이다.
도 6을 참조하면, 본 발명의 데이터 전송 시스템은 단계(S601)에서 복수의 프로세서 별로 인코딩 방법을 설정하여 소정의 저장 수단에 기록한다. 이 때, 데이터 전송 시스템은 프로세서에서 처리하는 데이터의 종류에 따라 가장 효율적인 인코딩 방법을 판단하여 저장 수단에 기록할 수 있고, 상기 저장 수단은 프로세서에 포함된 레지스터 일 수 있다.
예를 들어, 프로세서가 "카메라"와 같은 동영상 입력 장치인 경우, 카메라의 레지스터에 가장 효율적인 인코딩 방법인 "2-비트 버스 인버트 코딩" 방법 정보를 기록하고, 프로세서가 "LCD"인 경우, LCD의 레지스터에 가장 효율적인 인코딩 방법인 "T0 인코딩" 방법 정보를 저장한다.
본 발명의 데이터 전송 시스템은 단계(S602)에서 상기 저장 수단을 참조하여, 데이터를 전송하고자 하는 제1 프로세서에 대응하는 인코딩 방법을 판단하고, 단계(S603)에서 상기 판단된 인코딩 방법으로 상기 데이터를 제2 프로세서로 전송한다. 이 때, 데이터 전송 시스템은 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고, 상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩한다.
따라서 본 발명은 복수의 프로세서별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 효과가 있다.
본 발명에 따른 데이터 전송 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단 독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 7은 본 발명의 일실시예에 따른 데이터 전송 시스템의 구성을 도시한 블록도이다. 도 7을 참조하면, 본 발명의 일실시예에 따른 데이터 전송 시스템은 저장 수단(701) 및 데이터 전송 제어 모듈(702)을 포함하여 구성될 수 있다.
본 발명의 일실시예에 따른 데이터 전송 시스템의 저장 수단(701)은 제1 프로세서의 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 저장하고, 데이터 전송 모듈(702)은 제2 프로세서로 전송하고자 하는 데이터에 대응하는 가상 주소 공간의 영역을 판단하고, 상기 저장 수단을 참조하여, 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송한다.
이 때, 상기 데이터 전송 제어 모듈은 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고, 상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩할 수 있다.
또한, 실시예에 따라 상기 저장 수단은 TLB(Translation Lookaside Buffer)일 수 있다. 상기 데이터 전송 제어 모듈은, 상기 TLB에서 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법이 판단되지 않는 경우, 디폴트된 인코딩 방법으로 상기 데이터를 전송한다.
또한 본 발명의 다른 실시예에 따른 데이터 전송 시스템의 저장 수단(701)은 제1 프로세서의 물리 주소 공간의 영역 별로 인코딩 방법을 설정하여 저장하고, 데이터 전송 제어 모듈(702)은 제2 프로세서로 전송하고자 하는 데이터에 대응하는 물리 주소 공간의 영역을 판단하고, 상기 저장 수단을 참조하여, 상기 판단된 물리 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송한다.
이 때, 상기 데이터 전송 제어 모듈은 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고, 상기 제1 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩한다.
또한, 본 발명의 또 다른 실시예에 따른 데이터 전송 시스템의 저장 수단(701)은 복수의 프로세서 별로 인코딩 방법을 설정하여 저장한다. 데이터 전송 제 어 모듈(702)은 상기 저장 수단을 참조하여, 데이터를 전송하고자 하는 제1 프로세서에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 제2 프로세서로 전송하고, 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고, 상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩한다.
지금까지 본 발명에 따른 데이터 전송 시스템에 대해서 설명하였고, 앞서 실시예들에서 설명한 기술적 내용들이 도 7의 데이터 전송 시스템에서도 그대로 적용될 수 있으므로 그 상세한 내용은 이하 생략하기로 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명은 가상 주소 공간의 영역별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 시 버스를 통해 전송되는 데이터 간의 해밍 거리(Hamming Distance)를 최소화하여 버스에서의 평균 소모 전력을 최적화하고 동시에 최대 소모 전력을 줄여 전체 시스템의 안정성을 향상시키는 효과가 있다.
또한, 본 발명은 가상 주소에 대응하는 물리 주소를 판단함과 동시에 해당 인코딩 방법을 판단할 수 있으므로, 가상 주소에 대응하는 인코딩 방법을 판단하는 별도의 단계를 생략할 수 있어 빠른 처리 속도로 인코딩 방법을 판단할 수 있는 효과가 있다.
또한, 본 발명은 프로세서가 가상 메모리를 지원하지 않더라도 물리 주소 공간의 영역별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 효과가 있다.
또한, 본 발명은 복수의 프로세서별로 최적의 인코딩 방법을 적용하여 데이터를 전송하므로, 데이터 전송 효율을 최대화하고, 버스에서의 전력 소모를 최소화하여 전체 시스템이 안정적으로 구현될 수 있도록 하는 효과가 있다.

Claims (17)

  1. 제1 프로세서의 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장하는 단계;
    제2 프로세서로 전송하고자 하는 데이터에 대응하는 가상 주소 공간의 영역을 판단하는 단계; 및
    상기 저장 수단을 참조하여, 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 단계
    를 포함하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  2. 제1항에 있어서,
    상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하는 단계
    를 더 포함하고,
    상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  3. 제1항에 있어서,
    상기 저장 수단은 TLB(Translation Lookaside Buffer)인 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  4. 제3항에 있어서,
    상기 TLB에서 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법이 판단되지 않는 경우, 디폴트된 인코딩 방법으로 상기 데이터를 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  5. 제1항에 있어서,
    제1 프로세서의 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장하는 상기 단계는,
    독립된 가상 주소 공간을 갖는 최소 실행 단위의 태스크 생성 시 상기 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 상기 저장 수단에 저장하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  6. 제1항에 있어서,
    제1 프로세서의 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장하는 상기 단계는,
    응용 프로그램으로부터 상기 데이터의 종류에 관한 정보를 수신하고, 상기 정보를 이용하여 가상 주소 공간의 영역별로 인코딩 방법을 설정하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  7. 제1 프로세서의 물리 주소 공간의 영역 별로 인코딩 방법을 설정하여 소정의 저장 수단에 저장하는 단계;
    제2 프로세서로 전송하고자 하는 데이터에 대응하는 물리 주소 공간의 영역을 판단하는 단계; 및
    상기 저장 수단을 참조하여, 상기 판단된 물리 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 단계
    를 포함하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  8. 제7항에 있어서,
    상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하는 단계
    를 더 포함하고,
    상기 제1 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  9. 복수의 프로세서 별로 인코딩 방법을 설정하여 소정의 저장 수단에 기록하는 단계;
    상기 저장 수단을 참조하여, 데이터를 전송하고자 하는 제1 프로세서에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 제2 프 로세서로 전송하는 단계; 및
    상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하는 단계
    를 포함하고,
    상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 하는 프로세서간 데이터 전송 방법.
  10. 제1항 내지 제9항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  11. 제1 프로세서의 가상 주소 공간의 영역별로 인코딩 방법을 설정하여 저장하는 저장 수단; 및
    제2 프로세서로 전송하고자 하는 데이터에 대응하는 가상 주소 공간의 영역을 판단하고, 상기 저장 수단을 참조하여, 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 데이터 전송 제어 모듈
    를 포함하는 것을 특징으로 하는 프로세서간 데이터 전송 시스템.
  12. 제11항에 있어서,
    상기 데이터 전송 제어 모듈은,
    상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고,
    상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 하는 프로세서간 데이터 전송 시스템.
  13. 제11항에 있어서,
    상기 저장 수단은 TLB(Translation Lookaside Buffer)인 것을 특징으로 하는 프로세서간 데이터 전송 시스템.
  14. 제13항에 있어서,
    상기 데이터 전송 제어 모듈은,
    상기 TLB에서 상기 판단된 가상 주소 공간의 영역에 대응하는 인코딩 방법이 판단되지 않는 경우, 디폴트된 인코딩 방법으로 상기 데이터를 전송하는 것을 특징으로 하는 프로세서간 데이터 전송 시스템.
  15. 제1 프로세서의 물리 주소 공간의 영역 별로 인코딩 방법을 설정하여 저장하는 저장 수단; 및
    제2 프로세서로 전송하고자 하는 데이터에 대응하는 물리 주소 공간의 영역을 판단하고, 상기 저장 수단을 참조하여, 상기 판단된 물리 주소 공간의 영역에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 상기 제2 프로세서로 전송하는 데이터 전송 제어 모듈
    을 포함하는 것을 특징으로 하는 프로세서간 데이터 전송 시스템.
  16. 제15항에 있어서,
    상기 데이터 전송 제어 모듈은,
    상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하고,
    상기 제1 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 하는 프로세서간 데이터 전송 시스템.
  17. 복수의 프로세서 별로 인코딩 방법을 설정하여 저장하는 저장 수단; 및
    상기 저장 수단을 참조하여, 데이터를 전송하고자 하는 제1 프로세서에 대응하는 인코딩 방법을 판단하고, 상기 판단된 인코딩 방법으로 상기 데이터를 제2 프로세서로 전송하고, 상기 판단된 인코딩 방법에 관한 정보를 상기 제2 프로세서로 전송하는 데이터 전송 제어 모듈
    을 포함하고,
    상기 제2 프로세서는 상기 인코딩 방법에 관한 정보를 참조하여 상기 전송된 데이터를 디코딩하는 것을 특징으로 하는 프로세서간 데이터 전송 시스템.
KR1020060012227A 2006-02-08 2006-02-08 프로세서간 데이터 전송 방법 및 시스템 KR100692976B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060012227A KR100692976B1 (ko) 2006-02-08 2006-02-08 프로세서간 데이터 전송 방법 및 시스템
US11/654,011 US8127110B2 (en) 2006-02-08 2007-01-17 Method, system, and medium for providing interprocessor data communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060012227A KR100692976B1 (ko) 2006-02-08 2006-02-08 프로세서간 데이터 전송 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR100692976B1 true KR100692976B1 (ko) 2007-03-12

Family

ID=38103128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060012227A KR100692976B1 (ko) 2006-02-08 2006-02-08 프로세서간 데이터 전송 방법 및 시스템

Country Status (2)

Country Link
US (1) US8127110B2 (ko)
KR (1) KR100692976B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233109B1 (ko) 2010-09-13 2013-02-15 한국과학기술원 캐쉬 일관성을 맞추기 위해 멀티 코어들 간에 발생하는 통신량을 감소시키는 시스템 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2165507B1 (de) * 2007-06-11 2011-09-07 Fts Computertechnik Gmbh Verfahren und architektur zur sicherung von echtzeitdaten
US8375449B1 (en) 2007-08-10 2013-02-12 Fortinet, Inc. Circuits and methods for operating a virus co-processor
US8079084B1 (en) 2007-08-10 2011-12-13 Fortinet, Inc. Virus co-processor instructions and methods for using such
US8286246B2 (en) * 2007-08-10 2012-10-09 Fortinet, Inc. Circuits and methods for efficient data transfer in a virus co-processing system
US9064050B2 (en) * 2010-10-20 2015-06-23 Qualcomm Incorporated Arbitrating bus transactions on a communications bus based on bus device health information and related power management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024635A2 (en) * 2003-09-03 2005-03-17 Advanced Micro Devices, Inc. Microtlb and micro tag for reducing power in a processor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6069999A (en) * 1991-04-18 2000-05-30 Microsoft Corporation Method for compressing and decompressing font data
US6215904B1 (en) * 1994-11-30 2001-04-10 Xerox Corporation Apparatus and method for selecting encoding schemes based upon image content
US6308147B1 (en) * 1998-05-21 2001-10-23 Hewlett-Packard Company Data structure synthesis in hardware using memory transaction translation techniques
US6691305B1 (en) * 1999-11-10 2004-02-10 Nec Corporation Object code compression using different schemes for different instruction types
EP1150467A1 (en) * 2000-04-28 2001-10-31 STMicroelectronics S.r.l. Encoder architecture for parallel busses
US6583735B2 (en) * 2001-02-01 2003-06-24 Nec Corporation Method and apparatus for adaptive bus coding for low power deep sub-micron designs
US6834335B2 (en) * 2001-06-11 2004-12-21 Fujitsu Limited System and method for reducing transitions on address buses
US6813700B2 (en) * 2001-06-11 2004-11-02 Fujitsu Limited Reduction of bus switching activity using an encoder and decoder
US6742097B2 (en) * 2001-07-30 2004-05-25 Rambus Inc. Consolidation of allocated memory to reduce power consumption
US7397395B2 (en) * 2005-02-16 2008-07-08 Intel Corporation Representative majority voter for bus invert coding
US7558938B2 (en) * 2006-02-08 2009-07-07 Arm Limited Memory bus encoding
US7698512B2 (en) * 2007-07-13 2010-04-13 Intel Corporation Compressing address communications between processors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024635A2 (en) * 2003-09-03 2005-03-17 Advanced Micro Devices, Inc. Microtlb and micro tag for reducing power in a processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233109B1 (ko) 2010-09-13 2013-02-15 한국과학기술원 캐쉬 일관성을 맞추기 위해 멀티 코어들 간에 발생하는 통신량을 감소시키는 시스템 및 방법

Also Published As

Publication number Publication date
US8127110B2 (en) 2012-02-28
US20070198879A1 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
US12099458B2 (en) Pooled memory address translation
CN107430567B (zh) 共享缓冲存储器路由
KR101848379B1 (ko) 공유 메모리 링크 내의 저전력 진입
CN108351834B (zh) 用于针对核到核数据传送优化指令减少性能逆转的低开销硬件预测器
US20200336421A1 (en) Optimized function assignment in a multi-core processor
US10127043B2 (en) Implementing conflict-free instructions for concurrent operation on a processor
CN110366842A (zh) 可调节的重定时器缓冲器
KR100692976B1 (ko) 프로세서간 데이터 전송 방법 및 시스템
US6345352B1 (en) Method and system for supporting multiprocessor TLB-purge instructions using directed write transactions
CN102326156B (zh) 基于空间要求目标报告的对mmio请求处理的投机改进
JP2014523046A (ja) モバイル・メモリ・キャッシュ読み取り最適化
WO2009045884A2 (en) Address translation caching and i/o cache performance improvement in virtualized environments
US20140173203A1 (en) Block Memory Engine
US20180173627A1 (en) Dynamic memory control method and system thereof
US20130238859A1 (en) Cache with scratch pad memory structure and processor including the cache
TW201732566A (zh) 從亂序處理器中的不良儲存-至-負載轉發復原的方法與設備
US8661169B2 (en) Copying data to a cache using direct memory access
US9418024B2 (en) Apparatus and method for efficient handling of critical chunks
US20070005868A1 (en) Method, apparatus and system for posted write buffer for memory with unidirectional full duplex interface
US20230401060A1 (en) Processing unit, computing device and instruction processing method
CN114924792A (zh) 指令译码单元、指令执行单元及相关装置和方法
KR20040067063A (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
US8856461B2 (en) Request controlling
US9934149B2 (en) Prefetch mechanism for servicing demand miss
CN111382099A (zh) 一种基于rdma技术的分布式高性能计算方法

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: 20130221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190221

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 14