KR100674933B1 - 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체 - Google Patents

온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체 Download PDF

Info

Publication number
KR100674933B1
KR100674933B1 KR1020050001123A KR20050001123A KR100674933B1 KR 100674933 B1 KR100674933 B1 KR 100674933B1 KR 1020050001123 A KR1020050001123 A KR 1020050001123A KR 20050001123 A KR20050001123 A KR 20050001123A KR 100674933 B1 KR100674933 B1 KR 100674933B1
Authority
KR
South Korea
Prior art keywords
core
tile
switch
cores
switches
Prior art date
Application number
KR1020050001123A
Other languages
English (en)
Other versions
KR20060080711A (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 삼성전자주식회사
Priority to KR1020050001123A priority Critical patent/KR100674933B1/ko
Priority to US11/247,731 priority patent/US7461361B2/en
Publication of KR20060080711A publication Critical patent/KR20060080711A/ko
Application granted granted Critical
Publication of KR100674933B1 publication Critical patent/KR100674933B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C19/00Machines, tools or auxiliary devices for preparing or distributing paving materials, for working the placed materials, or for forming, consolidating, or finishing the paving
    • E01C19/02Machines, tools or auxiliary devices for preparing or distributing paving materials, for working the placed materials, or for forming, consolidating, or finishing the paving for preparing the materials
    • E01C19/10Apparatus or plants for premixing or precoating aggregate or fillers with non-hydraulic binders, e.g. with bitumen, with resins, i.e. producing mixtures or coating aggregates otherwise than by penetrating or surface dressing; Apparatus for premixing non-hydraulic mixtures prior to placing or for reconditioning salvaged non-hydraulic compositions
    • E01C19/1059Controlling the operations; Devices solely for supplying or proportioning the ingredients
    • E01C19/1068Supplying or proportioning the ingredients

Abstract

온 칩 버스(On Chip Bus)에서 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 개시된다. 본 발명의 실시예에 따른 코어-타일-스위치 맵핑 구조 결정 방법은 코어-타일- 스위치 맵핑 방법은 임의의 코어(core)들 사이의 연결관계를 나타내는 코어 커뮤니케이션 그래프를 결정하는 단계, 복수개의 스위치 (switch)들과 복수개의 타일(tile)들 및 상기 복수개의 스위치들을 연결하는 복수개의 링크들을 구비하는 네트워크 온 칩 구조(Network On Chip Architecture)를 결정하는 단계 및 소정의 최적화 맵핑 방법을 이용하여 상기 코어들을 상기 타일들에 맵핑시켜 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 단계를 구비한다. 상기 최적화 맵핑 방법은 제 1 단계 내지 제 3 단계의 연산 과정을 구비한다. 본 발명에 따른 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록 매체는 코어들 사이의 홉 거리를 최소로 하는 코어-타일-스위치 맵핑 구조 결정 방법을 제공함으로써 온 칩 버스에서의 에너지 소비를 감소시키고 통신 지연 시간을 최소화 할 수 있는 장점이 있다. 또한, 최적의 맵핑 구조를 제공함으로써 다른 맵핑 구조의 최적화 정도를 비교하라 수 있는 기준을 제시하는 장점이 있다.

Description

온 칩 버스(On Chip Bus)에서 최적화된 코어-타일-스위치(core-tile-switch) 맵핑(mapping) 구조를 결정하는 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록 매체{Method of deciding core-tile-switch mapping architecture within on-chip-bus and computer-readable medium for recoding the method}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 온 칩 버스 구조의 한 예를 도시한 블록도이다.
도 2는 코어들과 타일들 및 스위치들간의 맵핑을 설명하는 개념도이다.
도 3은 본 발명의 실시예에 따른 코어-타일-스위치 맵핑 구조 결정 방법을 설명하는 개념도이다.
도 4는 본 발명의 실시예에 따른 코어-타일-스위치 맵핑 구조 결정 방법을 설명하는 플로우 차트이다.
도 5는 도 4의 최적화 맵핑 방법을 좀 더 상세히 설명하는 플로우 차트이다.
본 발명은 시스템 온 칩의 온 칩 버스에서 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법에 관한 것으로서, 특히 시스템 온 칩을 구성하는 코어들간의 통신에 필요한 에너지 소모량과 통신 지연 시간을 개선할 수 있는 메쉬(mesh) 기반의 온 칩 버스에서 코어와 타일 및 스위치들간의 최적화된 맵핑 구조를 결정하는 방법 및 상기 방법을 기록한 기록 매체에 관한 것이다.
필요로 하는 기능을 수행하는 칩들을 그룹(group)화하여 개발하고 제품화하는 칩 세트(chip set)의 개념을 넘어서, 최근의 시스템 구현은 하나의 칩에 다양한 기능 블록들을 모두 집적시킨 시스템 온 칩(SOC; System On Chip)의 개념으로 발전하고 있다.
시스템 온 칩은 마이크로 프로세서, 온 칩 메모리, 오디오와 비디오 컨트롤러 및 코덱(CODEC; Coder and Decoder), 디지털 신호 처리기(DSP; Digital Signal Processor) 등의 다양한 기능 블록들, 즉, 코어(core)들을 하나의 칩 위에 집적시켜서 제품의 사이즈를 줄이고, 이들 각 구성요소를 사용한 시스템의 개발에 들어가는 시간과 비용의 부담을 줄이는데 그 목적이 있다.
여기에서, 시스템 온 칩을 구성하는 코어들은 필요한 경우에는 별도로 개발되어질 수도 있으나, 전문 개발 업체들에 의해서 이미 개발된 코어를 이용할 수도 있다. 이러한 코어의 재사용성(reusability) 때문에 개발에 들어가는 시간과 비용의 절감을 꾀할 수 있는 장점이 있다.
한편, 시스템 온 칩을 구성하는 코어들 간에도 높은 데이터 대역폭을 필요로 하는 응용예들이 증가하고 있어 이에 따라서 코어들간의 데이터 송수신의 부담이 증가하고 있다.
예를 들면, 시스템 온 칩에 대용량의 온 칩 메모리가 내장되어 있거나, 오디오와 비디오 신호를 처리하기 위한 컨트롤러 또는 코덱이 내장된 시스템 온 칩의 경우에는 칩 내부의 기능 블록 코어들 간의 데이터 송수신 설계 측면에서 상당한 개발 부담이 존재한다.
일반적으로 많은 수의 칩들과 칩들 사이의 데이터 전달에는 버스(bus)가 이용된다. 예를 들면, ARM CPU가 사용되는 임베디드(embedded) 시스템에서는 시스템을 구성하는 CPU, 메모리 컨트롤러, 디스플레이 컨트롤러 등의 구성요소를 AMBA(Advanced Microprocessor Bus Architecture)와 같은 버스 아키텍쳐를 이용하여 연결시킨다.
시스템 온 칩이 종래의 칩 세트 개념을 하나의 칩 위에 집적시키는 방향으로 발전되어 가게되고, 시스템 온 칩 내부의 코어들간의 연결 관계도 상기한 버스 구조를 차용하여 이루어지는 방향으로 발전해가고 있다. 따라서, 종래 저집적도의 시스템 온 칩의 경우에는 칩 레벨의 버스 구조가 큰 수정 없이 그대로 차용되는 방향으로 이루어졌다.
그러나, 시스템 온 칩의 집적도가 급격히 높아지게 됨에 따라 버스를 구성하는 와이어 폭이 극히 좁아지게 되고 와이어의 인덕턴스, 저항, 커패시턴스 등의 특성치가 코어들을 구성하는 게이트들의 사이즈들과 비교하여서 무시할 수 없는 수준에 이르게 되었다. 이에 따라 종래의 버스 구조를 시스템 온 칩에 그대로 적용할 경우에는 원하는 시스템의 성능을 구현하기가 어려워지게 되었다.
따라서, 이와 같은 시스템 온 칩에 대응된 효율적인 온 칩 버스 구조(on-chip bus architecture)와 설계 방법론(design methodology)을 포함한 기술 분야로서 네트워크 온 칩(NOC; Network On Chip)의 기술 분야가 대두되었으며, 현재 다양한 형태의 온 칩 버스 구조가 제시되고 있다.
도 1은 종래의 온 칩 버스 구조의 한 예를 도시한 블록도이다.
도 1의 온 칩 버스 구조는 9개의 코어들이 포함된 시스템 온 칩에 사용될 수 있는 버스 구조의 한 형태로, AMD(Advanced Micro Devices, Inc.)사에 의해 출원된 미국 등록 특허 제5,974,487호에서 개시된 버스 구조를 일부 수정하여 도시한 것이다.
도 1의 온 칩 버스 구조(100)는 다양한 기능 블록들인 9개의 코어(110a~110i)들, 코어들(110a~110i)간의 통신을 담당하는 스위치들(120a~120l) 및 스위치들(120a~120l)간을 연결하는 링크(link; 130a~130l,131a~131h)들을 구비한다.
각 링크들(130a~130l,131a~131h)과 스위치들(120a~120l)은 링 구조(ring topology)로 이루어져 있으며, 상기 링 구조들이 모여서 2차원 메쉬(mesh)형태를 이루어 전체적인 버스구조를 이루고 있다.
이 경우, 스위치(120a~120l)들은 메쉬 형태의 교차점(intersection)에 위치한다. 각 스위치는 다른 스위치로부터 링크를 통하여 수신한 데이터를 다시 다른 스위치로 링크를 통하여 송신한다.
또한 각 스위치는 다른 스위치로부터 링크를 통하여 수신한 데이터를 자신에게 연결된 코어에 전달하고, 자신에게 연결된 코어가 송신하는 데이터를 목적(destination) 코어에 전달하기 위해서, 다른 스위치로 링크를 통하여 데이터를 전송한다.
여기에서, 상기 스위치들간의 링크는 양방향(bi-directional)으로 연결될 수도 있으며, 단방향(uni-directional)으로만 연결될 수도 있다. 양방향 링크는 서로 반대 방향으로 송신하는 단방향 와이어 쌍으로 이루어질 수도 있고, 하나의 와이어로 양방향 송수신을 구성할 수도 있다.
도 1에서 예시된 온 칩 버스 구조(100)의 코어들간 통신을 설명하면, 코어(110a)가 코어(110e)에 전송하여야 할 데이터가 있을 경우에, 코어(110a)는 코어(110a)가 연결된 스위치(120a)로 데이터를 전송한다.
스위치(120a)는 코어(110a)로부터 수신한 데이터를 스위치(120a)와 스위치 (120d)간에 연결된 링크(131a)를 통해서 스위치(120d)로 전달한다. 마지막으로 스위치(120d)는 링크(131a)를 통해서 수신한 데이터를 스위치(120d)에 연결되어 있는 코어(110e)로 전달한다.
즉, 도 1과 같은 온 칩 버스 구조(100)에 있어서, 코어들간의 데이터 송수신은 각 코어가 연결된 스위치들과 스위치들을 연결한 링크를 매개로 하여 이루어진다.
도 2는 코어들과 타일들 및 스위치들간의 맵핑을 설명하는 개념도이다.
도 2에는 코어 커뮤티케이션 그래프(Core-Communication -Graph)와 네트워크 온 칩 구조(Network On Chip Architecture)가 도시된다. 코어 커뮤니케이션 그래프는 도 1과 같은 온 칩 버스 구조(100)를 형성하기 위해서 어떠한 코어들(210)이 서로 연결될지를 결정하기 위한 그래프이다.
도 2에서는 코어 s 가 코어 d 및 d'와 연결되고 있다. 여기서, 코어란 시스템 온 칩 상에 장착되는 메모리, 프로세서 등의 기능 블록들을 의미한다.
네트워크 온 칩 구조는 복수개의 스위치들(230)과 복수개의 타일(tile ;220)들 및 복수개의 스위치들(230)을 연결하는 복수개의 링크들을 구비하며, 타일들(220)과 스위치들(230)의 연결관계를 결정한다. 타일은 코어들이 장착되는 공간이며 스위치들과 연결된다.
도 2에서는 코어 s가 타일 k에 맵핑되고, 코어 d가 타일 l에 맵핑되며 코어 d'가 타일 l'에 맵핑되고 있다. 그리고, 도 2에는 타일 k를 둘러싼 스위치들 중의 하나가 스위치 i이고, 타일 l을 둘러싼 스위치들 중의 하나가 스위치 j 이며 스위치 i에서 스위치 j로 데이터 통신 루트(route)인 x, y 가 도시된다.
그런데, 도 1과 같은 온 칩 버스 구조(100)를 형성하는 경우, 어떠한 코어들이 어떠한 타일들에 연결되는 가가 중요하다. 메쉬(mesh) 기반의 온 칩 버스 구조에서 하나의 코어가 다른 하나의 코어와 데이터를 송수신 할 때 소비되는 에너지 및 통신 지연 시간은 상기 코어들 사이의 홉 거리(hop distance)에 비례한다.
따라서, 데이터 송 수신에 필요한 홉 거리를 최소화할 수 있는 코어-타일- 스위치 맵핑 방법이 필요하다. 그러나, 종래의 코어-타일-스위치 맵핑 방법들은 코어-타일-스위치간의 일대일 맵핑 만을 고려하고 있다.
또한, 종래의 맵핑 방법들은 경험칙을 이용하여 코어-타일-스위치 맵핑을 결정하므로 코어들 사이에서의 데이터 송수신의 에너지 소비를 줄이고 통신 지연 시간을 줄이기 위한 최적화된 맵핑 구조를 제시하지 못하는 문제가 있다.
따라서, 각 코어들간의 데이터 송수신에 필요한 홉 거리를 최소화할 수 있도록 코어들과 타일들 및 스위치들의 맵핑 관계를 결정함으로써 에너지 소비 및 통신 지연 시간을 최소화 할 수 있는 코어-타일-스위치 맵핑 방법이 필요하다.
본 발명이 이루고자하는 기술적 과제는 코어들 사이의 홉 거리를 최소로 하는 코어-타일-스위치 맵핑 구조 결정 방법을 제공하는데 있다.
본 발명이 이루고자하는 다른 기술적 과제는 코어들 사이의 홉 거리를 최소로 하는 코어-타일-스위치 맵핑 구조 결정 방법을 기록한 기록 매체를 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 코어-타일-스위치 맵핑 구조 결정 방법은, 온 칩 버스(On Chip Bus)에서 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법에 관한 것이다.
코어-타일- 스위치 맵핑 방법은 임의의 코어(core)들 사이의 연결관계를 나타내는 코어 커뮤니케이션 그래프를 결정하는 단계, 복수개의 스위치 (switch)들과 복수개의 타일(tile)들 및 상기 복수개의 스위치들을 연결하는 복수개의 링크들을 구비하는 네트워크 온 칩 구조(Network On Chip Architecture)를 결정하는 단계 및 소정의 최적화 맵핑 방법을 이용하여 상기 코어들을 상기 타일들에 맵핑시켜 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 단계를 구비한다.
상기 최적화 맵핑 방법은 제 1 단계 내지 제 3 단계의 연산 과정을 구비한다.
제 1 단계는 임의의 코어 s에서 임의의 코어 d로의 데이터 커뮤니케이션 플로우(flow)와 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)를 곱하는 연산을 수행하는데 있어서, 상기 임의의 스위치 i및 j를 임의의 타일 k를 둘러싼 스위치들과 임의의 타일 l을 둘러싼 스위치들로 변경하여 상기 연산을 수행한 후, 결과 값들을 모두 합산한다.
제 2 단계는 상기 제 1 단계의 연산을 임의의 모든 타일들에 대하여 수행한 후, 결과 값들을 모두 합산한다.
제 3 단계는 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)과 상기 제 2 단계의 결과 값을 곱하는 연산을 수행하는 데 있어서, 상기 코어 s 및 d를 임의의 모든 코어들로 변경하여 상기 곱하는 연산을 수행한 결과 값들을 모두 합산한다.
상기 최적화 맵핑 방법은 상기 제 3단계의 결과를 임의의 모든 코어들에 대하여 수행된 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)으로 나누어 상기 스위치 i에서 상기 스위치 j로의 평균 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 제 4단계를 더 구비한다.
제 1 내지 제 4 단계는 상기 임의의 스위치 i는 상기 임의의 타일 k를 둘러싸는 스위치들 중에 하나로서 상기 임의의 타일 k에 연결되고 상기 임의의 스위치 j는 상기 임의의 타일 l을 둘러싸는 스위치들 중에 하나로서 상기 임의의 타일 l에 연결되며, 상기 임의의 코어 s가 상기 임의의 타일 k에 맵핑되고, 상기 다른 임의의 코어 d가 상기 임의의 타일 l에 맵핑된다고 가정한다.
상기 최적화 맵핑 방법은 다음 수학식으로 표현되며,
Figure 112005000694008-pat00001
여기서,
Figure 112005000694008-pat00002
는 상기 데이터 커뮤니케이션 플로우이고,
Figure 112005000694008-pat00003
는 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)를 나타내며,
Figure 112005000694008-pat00004
,
Figure 112005000694008-pat00005
은 각각 상기 타일 k를 둘러싼 스위치들과 상기 타일 l을 둘러싼 스위치들을 나타내며,
Figure 112005000694008-pat00006
는 상기 코어 s와 상기 코어 d 사이의 커뮤니케이션 볼륨(volume)을 나타낸다.
전체 코어들의 수는 전체 타일들의 수와 같거나 또는 적으며, 두 개 또는 그 이상의 코어들이 하나의 타일에 맵핑되지 아니한다. 상기 임의의 코어와 상기 임의의 타일의 관계는 다음 수학식
Figure 112005000694008-pat00007
=1 , 및
Figure 112005000694008-pat00008
로 표현되며, 여기서,
Figure 112005000694008-pat00009
=1 는 임의의 코어 s에 맵핑될 수 있는 임의의 타일 k의 수는 1개이고,
Figure 112005000694008-pat00010
는 임의의 타일 k에 맵핑될 수 있는 임의의 코어 s의 수는 1개 또는 0개인 것을 의미한다.
하나의 코어에 연결되는 스위치들의 개수는 1개 이상 4개 이하이다. 상기 코 어와 스위치들의 관계는 다음 수학식으로 표현되며,
Figure 112005000694008-pat00011
여기서,
Figure 112005000694008-pat00012
하나의 코어에 연결될 수 있는 스위치들의 수이고,
Figure 112005000694008-pat00013
는 만일 코어 s 에 타일 k 가 맵핑되면 1을 가지며 그렇지 아니하면 0을 가지고,
Figure 112005000694008-pat00014
는 코어 s가 타일 k에 맵핑된 상태에서 타일 k에 연결될 수 있는 스위치들의 수를 나타낸다.
하나의 스위치에 연결되는 코어들의 개수는 1개 이상 4개 이하이다. 상기 코어와 스위치들의 관계는 다음 수학식으로 표현되며,
Figure 112005000694008-pat00015
여기서,
Figure 112005000694008-pat00016
하나의 스위치에 연결될 수 있는 코어들의 수이고,
Figure 112005000694008-pat00017
는 코어 s가 타일 k에 맵핑된 상태에서 타일 k에 연결될 수 있는 스위치들의 수를 나타낸다.
만일 상기 임의의 코어 s가 상기 임의의 스위치 i에 연결된 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 스위치 j에 연결된 임의의 타일 l 에 맵핑되면, 상기 데이터 커뮤니케이션 플로우는 1 이고, 그렇지 아니하면 상기 데이터 커뮤니케이션 플로우는 0 이다.
상기 데이터 커뮤니케이션 플로우는 다음 수학식으로 표현되며,
Figure 112005000694008-pat00018
여기서,
Figure 112005000694008-pat00019
는 코어 s가 타일 k에 맵핑되는 경우를 의미하고,
Figure 112005000694008-pat00020
은 코어 d 가 타일 l에 맵핑되는 경우를 의미한다.
상기 수학식은 다음 수학식과 같은 선형 식(linear equation)으로 표현되며,
Figure 112005000694008-pat00021
여기서, 만일 상기 임의의 코어 s가 상기 임의의 스위치 i에 연결된 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 스위치 j에 연결된 임의의 타일 l 에 맵핑되면, 상기 식의 중간 항은 1 이다.
임의의 링크의 총 대역폭(bandwidth)은 상기 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭 보다 작거나 같아야 하고, 상기 임의의 링크의 최대 대역폭은 링크 용량(capacity)을 초과하지 아니한다.
상기 임의의 링크의 대역폭은 다음 수학식으로 표현되며,
Figure 112005000694008-pat00022
,
Figure 112005000694008-pat00023
,
Figure 112005000694008-pat00024
여기서,
Figure 112005000694008-pat00025
는 스위치 i와 스위치 j 사이의 임의의 X 및 Y 루트(route) 사이의 링크의 대역폭을 의미하고,
Figure 112005000694008-pat00026
는 코어 s에서 코어 d로의 데이터 커뮤니케이션 플로우를 위하여 요구되는 대역폭을 의미하며,
Figure 112005000694008-pat00027
는 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭을 의미하며, C 는 링크 용량(capacity)을 의미한다.
상기 네트워크 온 칩 구조는 2차원 매쉬(2-dimension mesh) 구조이다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 기록 매체는 코어 커뮤니케이션 그래프 및 네트워크 온 칩 구조(Network On Chip Architecture)를 이용하여 온 칩 버스(On Chip Bus)에서 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상기 기록 매체는 임의의 코어 s에서 임의의 코어 d로의 데이터 커뮤니케이션 플로우(flow)와 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)를 곱하는 연산을 수행하는데 있어서, 상기 임의의 스위치 i및 j를 임의 의 타일 k를 둘러싼 스위치들과 임의의 타일 l을 둘러싼 스위치들로 변경하여 상기 연산을 수행한 후, 결과 값들을 모두 합산하는 제 1 단계, 상기 제 1 단계의 연산을 임의의 모든 타일들에 대하여 수행한 후, 결과 값들을 모두 합산하는 제 2 단계 및 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)과 상기 제 2 단계의 결과 값을 곱하는 연산을 수행하는 데 있어서, 상기 코어 s 및 d를 임의의 모든 코어들로 변경하여 상기 곱하는 연산을 수행한 결과 값들을 모두 합산하는 제 3 단계를 수행하여 상기 스위치 i에서 상기 스위치 j로의 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 방법을 기록한 것이다.
상기 기록 매체는 상기 제 3단계의 결과를 임의의 모든 코어들에 대하여 수행된 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)으로 나누어 상기 스위치 i에서 상기 스위치 j로의 평균 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 제 4단계를 더 기록할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 실시예에 따른 코어-타일-스위치 맵핑 구조 결정 방법을 설명하는 개념도이다.
도 4는 본 발명의 실시예에 따른 코어-타일-스위치 맵핑 구조 결정 방법을 설명하는 플로우 차트이다.
먼저, 임의의 코어(core)들 사이의 연결관계를 나타내는 코어 커뮤니케이션 그래프(CCG:310)를 결정한다.(410 단계) 임의의 코어들의 연결관계는 시스템 온 칩의 설계자의 필요에 의해서 결정된다. 이하에서는 설명의 편의를 위하여 임의의 코어 s가 임의의 코어 d에 연결되는 경우를 가정하여 설명한다. 이는 도 2에 도시되어 있다.
그리고, 복수개의 스위치 (switch)들과 복수개의 타일(tile)들 및 상기 복수개의 스위치들을 연결하는 복수개의 링크들을 구비하는 네트워크 온 칩 구조(NOC:320)를 결정한다.(420 단계) 여기서, 네트워크 온 칩 구조(320)는 설명의 편의를 위하여 2차원 매쉬(2-dimension mesh) 구조인 경우를 가정한다. 그러나, 이에 한정되는 것이 아님은 당업자라면 이해할 수 있을 것이다.
코어 커뮤니케이션 그래프(310)와 네트워크 온 칩 구조(320)가 결정되면 이들 정보들과 소정의 최적화 맵핑 방법(330)을 이용하여 상기 코어들을 상기 타일들에 맵핑시켜 최적화된 코어-타일-스위치(core-tile-switch) 맵핑(mapping) 구조(340)를 결정한다.(430 단계)
최적화 맵핑 방법(330)에 의해서 결정된 코어-타일-스위치 맵핑 구조(340)는 코어 s에서 코어 d로의 홉 거리가 최소이며 데이터 송수신 시 에너지 및 통신 지연 시간을 최소화시킬 수 있는 구조이다. 이러한 구조(340)는 종래의 경험칙에 의한 맵핑 방법과 달리 본 발명의 실시예에 따른 최적화 맵핑 방법(330)에 의해서 결정 된다.
최적화 맵핑 방법(330)은 도 5를 참조하여 좀 더 상세히 설명된다.
도 5는 도 4의 최적화 맵핑 방법을 좀 더 상세히 설명하는 플로우 차트이다.
도 5를 참조하면, 최적화 맵핑 방법(330)을 이용하여 최적화된 코어-타일-스위치 맵핑 구조를 결정하는 단계(430)는 제 1 단계 내지 제 3 단계의 연산 과정을 구비한다.
설명의 편의를 위하여, 임의의 스위치 i는 임의의 타일 k를 둘러싸는 스위치들 중에 하나로서 임의의 타일 k에 연결되고 임의의 스위치 j는 임의의 타일 l을 둘러싸는 스위치들 중에 하나로서 임의의 타일 l에 연결되며, 임의의 코어 s가 임의의 타일 k에 맵핑되고, 다른 임의의 코어 d가 상기 임의의 타일 l에 맵핑되 는 구조가 최적의 코어-타일-스위치 맵핑 구조라고 가정한다.
즉, 최적화 맵핑 방법(330)은 에너지 소비와 통신 지연 시간을 최소화 시키면서 임의의 코어 s가 임의의 코어 d에 연결되도록 하는 최적의 코어-타일-스위치 맵핑 구조를 결정하는 방법이며, 코어 s가 타일 k 및 스위치 i에 연결되고, 코어 d 가 타일 l 및 스위치 j에 연결되면 최적의 코어-타일-스위치 맵핑 구조인 것으로 가정한다.
최적화 맵핑 방법(330)은 다음 수학식 1로 표현될 수 있다.
Figure 112005000694008-pat00028
코어 s 및 d, 타일 k 및 l, 스위치 i 및 j의 값들을 다양하게 변경시켜가면서 상기 수학식에 의한 연산을 수행하면 복수개의 결과 값들이 얻어진다. 이 결과 값들은 상기 코어 s 및 d를 연결하는 홉 거리이다.
따라서, 상기 연산의 결과 값들 중 최소의 값을 선택하면, 최소 값이 얻어지기 위해서 코어 s 및 d, 타일 k 및 l, 스위치 i 및 j에 대입된 실제 코어들, 실제 타일들 및 실제 스위치들이 최적의 맵핑 구조를 가진다고 할 수 있다.
최적화 맵핑 방법(330)을 이용하여 최적화된 코어-타일-스위치 맵핑 구조를 결정하는 단계(430)에서 제 1 단계를 설명하면 다음과 같다.
제 1 단계는 임의의 코어 s에서 임의의 코어 d로의 데이터 커뮤니케이션 플로우(flow)와 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)를 곱하는 연산을 수행하는데 있어서, 상기 임의의 스위치 i및 j를 임의의 타일 k를 둘러싼 스위치들과 임의의 타일 l을 둘러싼 스위치들로 변경하여 상기 연산을 수행한 후, 결과 값들을 모두 합산한다.(510 단계)
제 1단계는 수학식 1의 가장 내부의 합산 연산(시그마 연산)을 수행하는 단계이다. 상기 수학식 1에서 데이터 커뮤니케이션 플로우는
Figure 112005000694008-pat00029
로 표시되고, 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)는
Figure 112005000694008-pat00030
로 표시된다.
Figure 112005000694008-pat00031
,
Figure 112005000694008-pat00032
은 각각 상기 타일 k를 둘러싼 스위치들과 상기 타일 l을 둘러싼 스위치들을 나타낸다.
타일 k 및 타일 l을 둘러싼 스위치들은 여러 개가 있을 수 있으며, 타일 k 및 타일 l을 둘러싼 스위치들 중에서 임의의 스위치인 i 및 j를 선택하여 데이터 커뮤니케이션 플로우와 홉 거리를 계산하고 두 값을 곱한다.
그리고, 임의의 스위치 i 및 j의 값을 타일 k 및 타일 l을 둘러싼 스위치들로 변경시키면서 각각의 데이터 커뮤니케이션 플로우와 홉 거리를 계산하고 두 값을 곱한다.
본 발명의 실시예에서 네트워크 온 칩 구조가 2차원 메쉬 구조인 경우, 타일 k 및 타일 l을 둘러싼 스위치들은 4개가 되므로 임의의 스위치 i및 j에 대하여 상기 제 1 단계의 연산을 수행하면 4개의 결과 값들이 발생되고, 4개의 결과 값들이 최종적으로 합산 연산(시그마 연산)에 의해서 더해진다.
상기 임의의 코어 s가 상기 임의의 스위치 i에 연결된 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 스위치 j에 연결된 임의의 타일 l 에 맵핑되면, 상기 데이터 커뮤니케이션 플로우는 1의 값을 가지고, 그렇지 아니하면 상기 데이터 커뮤니케이션 플로우는 0의 값을 가진다.
임의의 코어 s가 상기 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 타일 l 에 맵핑되는 경우를 최적의 타일-코어-스위치 맵핑 구조로 가정하였다. 따라서, 데이터 커뮤티케이션 플로우는 최적의 타일-코어-스위치 맵핑 구조에서만 1의 값을 가지고 나머지 구조에서는 0의 값을 가지는 것이다.
상기 데이터 커뮤니케이션 플로우는 다음 수학식 2로 표현될 수 있다.
Figure 112005000694008-pat00033
여기서,
Figure 112005000694008-pat00034
는 코어 s가 타일 k에 맵핑되는 경우를 의미하고,
Figure 112005000694008-pat00035
은 코어 d 가 타일 l에 맵핑되는 경우를 의미한다. 수학식 2는 선형 식이 아니므로, 수학식 2를 다음 수학식 3과 같은 선형 식(linear equation)으로 표현할 수 있다.
Figure 112005000694008-pat00036
여기서, 만일 상기 임의의 코어 s가 상기 임의의 스위치 i에 연결된 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 스위치 j에 연결된 임의의 타일 l 에 맵핑되면, 상기 식의 중간 항, 즉 데이터 커뮤니케이션 플로우는 1 이다.
코어 s가 타일 k에 맵핑되는 경우의 수는 1이므로
Figure 112005000694008-pat00037
는 1이다. 코어 s 가 다른 타일에 맵핑되면
Figure 112005000694008-pat00038
는 0이다. 마찬가지로 코어 d가 타일 l에 맵핑되는 경우의 수는 1이므로
Figure 112005000694008-pat00039
은 1이다. 코어 d가 다른 타일에 맵핑되면
Figure 112005000694008-pat00040
은 0이다.
따라서, 상기 임의의 코어 s가 상기 임의의 스위치 i에 연결된 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 스위치 j에 연결된 타일 l에 맵핑되는 최적의 구조에서는 상기 수학식 3의 왼쪽 항과 오른쪽 항 모두 1이 되므로 수학식 3의 중간 항은 1이 된다.
제 2 단계는 상기 제 1 단계의 연산을 임의의 모든 타일들에 대하여 수행한 후, 결과 값들을 모두 합산한다.(520 단계) 제 2단계는 제 1단계의 연산을 포함하는 두 번째 합산 연산(시그마 연산)을 수행하는 단계이다.
즉, 제 1 단계의 연산에서 임의의 타일 k 및 l의 값을 모든 타일들로 변경시켜 가면서 제 1 단계의 연산을 수행한다. 그러면 모든 타일들에 대하여, 그리고 모든 타일들을 둘러싼 모든 스위치들에 대하여 각각 홉 거리와 커뮤니케이션 데이터 플로우가 계산되고 두 값이 곱해진다.
제 3 단계는 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)과 상기 제 2 단계의 결과 값을 곱하는 연산을 수행하는 데 있어서, 상기 코어 s 및 d를 임의의 모든 코어들로 변경하여 상기 곱하는 연산을 수행한 결과 값들을 모두 합산한다.(530 단계)
제 3 단계는 제 2단계의 연산을 포함하는 세 번째 합산 연산(시그마 연산)을 수행하는 단계이다. 수학식 1에서 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)은
Figure 112005000694008-pat00041
로 표시된다.
수학식 1의 홉 거리와 데이터 커뮤니케이션 플로우의 계산에서 임의의 코어 s와 코어 d의 값을 모든 코어들로 변경시켜가면서 제 1 단계 및 제 2 단계의 연산을 수행한다.
그러면 모든 코어들에 대하여, 모든 타일들에 대하여, 그리고 모든 타일들을 둘러싼 모든 스위치들에 대하여 각각 홉 거리와 커뮤니케이션 데이터 플로우가 계 산되고 두 값이 곱해진다.
곱해진 결과 값들 각각에 대하여 커뮤니케이션 볼륨
Figure 112005000694008-pat00042
을 곱한다. 커뮤니케이션 볼륨은 임의의 코어 s에서 임의의 코어 d로의 데이터 통신의 양에 관련된 값이며 일종의 가중치 역할을 한다. 이러한 연산 과정을 거쳐서 얻어진 값들을 모두 합산하면, 임의의 스위치 i에서 임의의 스위치 j로의 홉 거리의 최소 값을 구할 수 있다.
이때, 임의의 스위치 i는 임의의 코어 s가 맵핑된 타일 k에 연결된 스위치이며 임의의 스위치 j는 임의의 코어 d가 맵핑된 타일 l에 연결된 스위치이다. 상기 홉 거리의 최소 값이 얻어진 경우에 대응되는 코어들과 타일들과 스위치들의 맵핑 구조가 에너지와 통신 지연 시간을 최소화시킬 수 있는 최적화된 맵핑 구조를 형성한다.
최적화 맵핑 방법(330)은 상기 제 3단계의 결과를 임의의 모든 코어들에 대하여 수행된 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)으로 나누어 상기 스위치 i에서 상기 스위치 j로의 평균 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 제 4단계를 더 구비할 수 있다.
제 4단계는 제 3단계의 결과를 임의의 모든 코어들에 대하여 수행된 상기 커뮤니케이션 볼륨(volume)으로 나누어 평균 홉 거리가 최소인 코어 s 및 d를 결정하는 과정이다.
앞서 설명된 제 1 내지 제 4 단계의 연산과정을 수행하는데 있어서, 다음과 같은 제한 조건들이 있다.
먼저, 코어와 타일의 맵핑에 관한 제한 조건이다. 전체 코어들의 수는 전체 타일들의 수와 같거나 또는 적으며, 두 개 또는 그 이상의 코어들이 하나의 타일에 맵핑되지 아니한다. 즉, 하나의 코어는 하나의 타일에만 맵핑된다. 반대로, 하나의 타일에는 하나의 코어가 맵핑되거나 또는 코어가 전혀 맵핑되지 아니할 수 있다.
상기 임의의 코어와 상기 임의의 타일의 관계는 다음 수학식 4로 표현된다.
Figure 112005000694008-pat00043
Figure 112005000694008-pat00044
=1 ,
여기서,
Figure 112005000694008-pat00045
=1 는 코어 s에 맵핑될 수 있는 임의의 타일 k의 수는 1개이고,
Figure 112005000694008-pat00046
는 타일 k에 맵핑될 수 있는 임의의 코어 s의 수는 1개 또는 0개인 것을 의미한다.
다음은 코어와 스위치들에 관한 제한 조건이다. 하나의 코어에 연결되는 스위치들의 최대 개수는 1개 이상 4개 이하이다. 코어와 스위치들의 관계는 다음 수학식 5로 표현된다.
Figure 112005000694008-pat00047
여기서,
Figure 112005000694008-pat00048
하나의 코어에 연결될 수 있는 스위치들의 최대 수이며, 네트워크 온 칩(NOC)이 2차원 메쉬 구조일 경우 1
Figure 112005000694008-pat00049
4의 관계가 성립한다.
Figure 112005000694008-pat00050
는 만일 코어 s 에 타일 k 가 맵핑되면 1을 가지며 그렇지 아니하면 0을 가진다. 중간 항의
Figure 112005000694008-pat00051
는 코어 s가 타일 k에 맵핑된 상태에서 타일 k에 연결될 수 있는 스위치들의 수를 나타낸다.
코어 s 에 타일 k 가 맵핑되면 중간 항은 1에서 4 사이의 한 값이 된다. 따라서, 하나의 코어에 연결되는 스위치들의 개수는 1개 이상 4개 이하가 된다.
다음은 코어와 스위치들에 관한 또 다른 제한 조건이다. 하나의 스위치에 연결되는 코어들의 최대 개수는 1개 이상 4개 이하이다.
상기 코어와 스위치들의 관계는 다음 수학식 6으로 표현된다.
Figure 112005000694008-pat00052
여기서,
Figure 112005000694008-pat00053
하나의 스위치에 연결될 수 있는 코어들의 최대 개수이며, 네트워크 온 칩(NOC)이 2차원 메쉬 구조일 경우 1
Figure 112005000694008-pat00054
4의 관계가 성립한다.
Figure 112005000694008-pat00055
는 코어 s가 타일 k에 맵핑된 상태에서 타일 k에 연결될 수 있는 스위치들의 수를 나타낸다.
수학식 6에서, 중간 항은 0에서 4 사이의 하나의 값이 된다. 따라서, 하나의 스위치에 연결될 수 있는 코어들의 수는 0개 이상 4개 이하가 된다.
다음은 링크의 대역폭(bandwidth)에 관한 조건이다. 임의의 링크의 총 대역폭은 상기 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭 보다 작거나 같아야 하고, 상기 임의의 링크의 최대 대역폭은 링크 용량(capacity)을 초과하지 아니한다.
상기 임의의 링크의 대역폭은 다음 수학식 7로 표현된다.
Figure 112005000694008-pat00056
Figure 112005000694008-pat00057
Figure 112005000694008-pat00058
, ,
여기서,
Figure 112005000694008-pat00059
는 스위치 i와 스위치 j 사이의 임의의 X 및 Y 루트(route) 사이의 링크의 대역폭을 의미하고,
Figure 112005000694008-pat00060
는 코어 s에서 코어 d로의 데이터 커뮤니케이션 플로우를 위하여 요구되는 대역폭을 의미하며,
Figure 112005000694008-pat00061
는 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭을 의미하며, C 는 링크 용량(capacity)을 의미한다.
코어 s와 d를 연결하는 스위치 i와 j 사이의 임의의 링크는 데이터를 송수신 하기 위하여 충분한 대역폭을 가져야 한다. 임의의 X 및 Y 루트(route) 사이의 링크의 대역폭
Figure 112005000694008-pat00062
은 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭인
Figure 112005000694008-pat00063
보다 작아야 한다.
그리고, 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭
Figure 112005000694008-pat00064
은 임의의 링크가 전송할 수 있는 데이터 최대 용량인 C보다 작아야 한다.
Figure 112005000694008-pat00065
는 스위치 i와 스위치 j 사이에 임의의 X 및 Y 루트(route)가 존재하면 1의 값을 가지고, 그렇지 아니하면 0의 값을 가진다.
이상에서 설명된 조건과 상기 제 1 내지 제 4 단계에 의해서 에너지 소비와 통신 지연 시간이 최소화되는 최적화된 코어-타일-스위치 맵핑 구조가 결정될 수 있다.
한편, 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록 매체는 코어들 사이의 홉 거리를 최소로 하는 코어-타일-스위치 맵핑 구조 결정 방법을 제공함으로써 온 칩 버스에서의 에너지 소비를 감소시키고 통신 지연 시간을 최소화 할 수 있는 장점이 있다. 또한, 최적의 맵핑 구조를 제공함으로써 다른 맵핑 구조의 최적화 정도를 비교할 수 있는 기준을 제시하는 장점이 있다.

Claims (18)

  1. 온 칩 버스(On Chip Bus)에서 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법에 있어서,
    임의의 코어(core)들 사이의 연결관계를 나타내는 코어 커뮤니케이션 그래프를 결정하는 단계 ;
    복수개의 스위치(switch)들과 복수개의 타일(tile)들 및 상기 복수개의 스위치들을 연결하는 복수개의 링크들을 구비하는 네트워크 온 칩 구조(Network On Chip Architecture)를 결정하는 단계 ; 및
    소정의 최적화 맵핑 방법을 이용하여 상기 코어들을 상기 타일들에 맵핑시켜 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 단계를 구비하고,
    상기 최적화 맵핑 방법은,
    임의의 코어 s에서 임의의 코어 d로의 데이터 커뮤니케이션 플로우(flow)와 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)를 곱하는 연산 을 수행하는데 있어서, 상기 임의의 스위치 i및 j를 임의의 타일 k를 둘러싼 스위치들과 임의의 타일 l을 둘러싼 스위치들로 변경하여 상기 연산을 수행한 후, 결과 값들을 모두 합산하는 제 1 단계 ;
    상기 제 1 단계의 연산을 임의의 모든 타일들에 대하여 수행한 후, 결과 값들을 모두 합산하는 제 2 단계 ; 및
    상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)과 상기 제 2 단계의 결과 값을 곱하는 연산을 수행하는 데 있어서, 상기 코어 s 및 d를 임의의 모든 코어들로 변경하여 상기 곱하는 연산을 수행한 결과 값들을 모두 합산하는 제 3 단계를 수행하여 상기 스위치 i에서 상기 스위치 j로의 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  2. 제 1항에 있어서,
    상기 제 3단계의 결과를 임의의 모든 코어들에 대하여 수행된 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)으로 나누어 상기 스위치 i에서 상기 스위치 j로의 평균 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 제 4단계를 더 구비하는 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  3. 제 2항에 있어서, 제 1 내지 제 4 단계는,
    상기 임의의 스위치 i는 상기 임의의 타일 k를 둘러싸는 스위치들 중에 하나로서 상기 임의의 타일 k에 연결되고 상기 임의의 스위치 j는 상기 임의의 타일 l을 둘러싸는 스위치들 중에 하나로서 상기 임의의 타일 l에 연결되며,
    상기 임의의 코어 s가 상기 임의의 타일 k에 맵핑되고, 상기 다른 임의의 코어 d가 상기 임의의 타일 l에 맵핑된다고 가정하는 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  4. 제 3항에 있어서, 상기 최적화 맵핑 방법은
    다음 수학식으로 표현되며,
    Figure 112005000694008-pat00066
    여기서,
    Figure 112005000694008-pat00067
    는 상기 데이터 커뮤니케이션 플로우이고,
    Figure 112005000694008-pat00068
    는 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)를 나타내며,
    Figure 112005000694008-pat00069
    ,
    Figure 112005000694008-pat00070
    은 각각 상기 타일 k를 둘러싼 스위치들과 상기 타일 l을 둘러싼 스위치들을 나타내며,
    Figure 112005000694008-pat00071
    는 상기 코어 s와 상기 코어 d 사이의 커뮤니케이션 볼륨(volume)을 나타내는 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  5. 제 3항에 있어서,
    전체 코어들의 수는 전체 타일들의 수와 같거나 또는 적으며, 두 개 또는 그 이상의 코어들이 하나의 타일에 맵핑되지 아니하는 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  6. 제 5항에 있어서, 상기 임의의 코어와 상기 임의의 타일의 관계는,
    다음 수학식
    Figure 112005000694008-pat00072
    =1 , 및
    Figure 112005000694008-pat00073
    로 표현되며,
    여기서,
    Figure 112005000694008-pat00074
    =1 는 코어 s에 맵핑될 수 있는 임의의 타일 k의 수는 1개이고,
    Figure 112005000694008-pat00075
    는 타일 k에 맵핑될 수 있는 임의의 코어 s의 수는 1개 또는 0개인 것을 의미하는 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  7. 제 3항에 있어서,
    하나의 코어에 연결되는 스위치들의 최대 개수는 1개 이상 4개 이하인 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  8. 제 7항에 있어서, 상기 코어와 스위치들의 관계는,
    다음 수학식으로 표현되며,
    Figure 112005000694008-pat00076
    여기서,
    Figure 112005000694008-pat00077
    하나의 코어에 연결될 수 있는 스위치들의 최대 개수이고,
    Figure 112005000694008-pat00078
    는 만일 코어 s 에 타일 k 가 맵핑되면 1을 가지며 그렇지 아니하면 0을 가지고,
    Figure 112005000694008-pat00079
    는 코어 s가 타일 k에 맵핑된 상태에서 타일 k에 연결될 수 있는 스위치들의 수를 나타내는 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  9. 제 3항에 있어서,
    하나의 스위치에 연결되는 코어들의 최대 개수는 1개 이상 4개 이하인 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  10. 제 9항에 있어서, 상기 코어와 스위치들의 관계는,
    다음 수학식으로 표현되며,
    Figure 112005000694008-pat00080
    여기서,
    Figure 112005000694008-pat00081
    하나의 스위치에 연결될 수 있는 코어들의 최대 개수이고,
    Figure 112005000694008-pat00082
    는 코어 s가 타일 k에 맵핑된 상태에서 타일 k에 연결될 수 있는 스위치들의 수를 나타내는 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  11. 제 3항에 있어서,
    만일 상기 임의의 코어 s가 상기 임의의 스위치 i에 연결된 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 스위치 j에 연결된 임의의 타일 l 에 맵핑되면, 상기 데이터 커뮤니케이션 플로우는 1 이고,
    그렇지 아니하면 상기 데이터 커뮤니케이션 플로우는 0 인 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  12. 제 11항에 있어서, 상기 데이터 커뮤니케이션 플로우는,
    다음 수학식으로 표현되며,
    Figure 112005000694008-pat00083
    여기서,
    Figure 112005000694008-pat00084
    는 코어 s가 타일 k에 맵핑되는 경우를 의미하고,
    Figure 112005000694008-pat00085
    은 코어 d 가 타일 l에 맵핑되는 경우를 의미하는 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  13. 제 12항에 있어서, 상기 수학식은
    다음 수학식과 같은 선형 식(linear equation)으로 표현되며,
    Figure 112005000694008-pat00086
    여기서, 만일 상기 임의의 코어 s가 상기 임의의 스위치 i에 연결된 임의의 타일 k 에 맵핑되고, 상기 임의의 코어 d가 상기 임의의 스위치 j에 연결된 임의의 타일 l 에 맵핑되면, 상기 식의 중간 항은 1 인 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  14. 제 3항에 있어서,
    임의의 링크의 총 대역폭(bandwidth)은 상기 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭 보다 작거나 같아야 하고,
    상기 임의의 링크의 최대 대역폭은 링크 용량(capacity)을 초과하지 아니하는 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  15. 제 14항에 있어서, 상기 임의의 링크의 대역폭은,
    다음 수학식으로 표현되며,
    Figure 112005000694008-pat00087
    ,
    Figure 112005000694008-pat00088
    ,
    Figure 112005000694008-pat00089
    여기서,
    Figure 112005000694008-pat00090
    는 스위치 i와 스위치 j 사이의 임의의 X 및 Y 루트(route) 사이의 링크의 대역폭을 의미하고,
    Figure 112005000694008-pat00091
    는 코어 s에서 코어 d로의 데이터 커뮤니케이션 플로우를 위하여 요구되는 대역폭을 의미하며,
    Figure 112005000694008-pat00092
    는 임의의 링크에 동시에 밀집(congested)될 수 있는 최대 대역폭을 의미하며, C 는 임의의 링크가 전송할 수 있는 데이터 최대 용량인 링크 용량(capacity)을 의미하는 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  16. 제 3항에 있어서, 상기 네트워크 온 칩 구조는,
    2차원 매쉬(2-dimension mesh) 구조인 것을 특징으로 하는 코어-타일- 스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법.
  17. 코어 커뮤니케이션 그래프 및 네트워크 온 칩 구조(Network On Chip Architecture)를 이용하여 온 칩 버스(On Chip Bus)에서 최적화된 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조를 결정하는 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    임의의 코어 s에서 임의의 코어 d로의 데이터 커뮤니케이션 플로우(flow)와 임의의 스위치 i와 임의의 스위치 j 사이의 홉 거리(hop distance)를 곱하는 연산을 수행하는데 있어서, 상기 임의의 스위치 i및 j를 임의의 타일 k를 둘러싼 스위치들과 임의의 타일 l을 둘러싼 스위치들로 변경하여 상기 연산을 수행한 후, 결과 값들을 모두 합산하는 제 1 단계 ;
    상기 제 1 단계의 연산을 임의의 모든 타일들에 대하여 수행한 후, 결과 값들을 모두 합산하는 제 2 단계 ; 및
    상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)과 상기 제 2 단계의 결과 값을 곱하는 연산을 수행하는 데 있어서, 상기 코어 s 및 d를 임의의 모든 코어들로 변경하여 상기 곱하는 연산을 수행한 결과 값들을 모두 합산하는 제 3 단계를 수행하여 상기 스위치 i에서 상기 스위치 j로의 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  18. 제 17항에 있어서, 상기 기록 매체는
    상기 제 3단계의 결과를 임의의 모든 코어들에 대하여 수행된 상기 코어 s에서 상기 코어 d로의 커뮤니케이션 볼륨(volume)으로 나누어 상기 스위치 i에서 상기 스위치 j로의 평균 홉 거리가 최소인 상기 임의의 코어 s 및 d를 결정하는 제 4단계를 더 구비하는 것을 특징으로 하는 코어-타일-스위치(core-tile -switch) 맵핑(mapping) 구조 결정 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020050001123A 2005-01-06 2005-01-06 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체 KR100674933B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050001123A KR100674933B1 (ko) 2005-01-06 2005-01-06 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
US11/247,731 US7461361B2 (en) 2005-01-06 2005-10-11 Method of creating core-tile-switch mapping architecture in on-chip bus and computer-readable medium for recording the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050001123A KR100674933B1 (ko) 2005-01-06 2005-01-06 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체

Publications (2)

Publication Number Publication Date
KR20060080711A KR20060080711A (ko) 2006-07-11
KR100674933B1 true KR100674933B1 (ko) 2007-01-26

Family

ID=36685405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050001123A KR100674933B1 (ko) 2005-01-06 2005-01-06 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체

Country Status (2)

Country Link
US (1) US7461361B2 (ko)
KR (1) KR100674933B1 (ko)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100624641B1 (ko) * 2004-10-07 2006-09-15 삼성전자주식회사 기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치
KR100674934B1 (ko) * 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된타일-스위치(tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
US20080005402A1 (en) * 2006-04-25 2008-01-03 Samsung Electronics Co., Ltd. Gals-based network-on-chip and data transfer method thereof
WO2008044211A1 (en) * 2006-10-10 2008-04-17 Ecole Polytechnique Federale De Lausanne (Epfl) Method to design network-on-chip (noc)-based communication systems
KR100930612B1 (ko) * 2007-08-24 2009-12-09 명지대학교 산학협력단 시분할 다중화를 이용한 논리 매핑 방법 및 시스템
US8365184B2 (en) 2007-08-31 2013-01-29 Apple Inc. Multi-core resource utilization planning
US7532785B1 (en) * 2007-10-23 2009-05-12 Hewlett-Packard Development Company, L.P. Photonic interconnects for computer system devices
JP5070342B2 (ja) * 2007-10-23 2012-11-14 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. コンピュータシステム装置における全光高速分散アービトレーション
US20090307408A1 (en) * 2008-06-09 2009-12-10 Rowan Nigel Naylor Peer-to-Peer Embedded System Communication Method and Apparatus
US8050256B1 (en) * 2008-07-08 2011-11-01 Tilera Corporation Configuring routing in mesh networks
US8151088B1 (en) 2008-07-08 2012-04-03 Tilera Corporation Configuring routing in mesh networks
US8045546B1 (en) * 2008-07-08 2011-10-25 Tilera Corporation Configuring routing in mesh networks
US8270316B1 (en) * 2009-01-30 2012-09-18 The Regents Of The University Of California On-chip radio frequency (RF) interconnects for network-on-chip designs
CN102893268B (zh) * 2010-05-27 2015-11-25 松下电器产业株式会社 总线控制装置以及向总线控制装置输出指示的控制装置
GB2493194A (en) * 2011-07-28 2013-01-30 St Microelectronics Res & Dev Alerting transaction initiators in an electronic circuit in the event of a power failure or circuit error
US9621481B2 (en) * 2012-02-17 2017-04-11 Netronome Systems, Inc. Configurable mesh control bus in an island-based network flow processor
US9626306B2 (en) * 2012-02-17 2017-04-18 Netronome Systems, Inc. Global event chain in an island-based network flow processor
US9619418B2 (en) * 2012-02-17 2017-04-11 Netronome Systems, Inc. Local event ring in an island-based network flow processor
US9244880B2 (en) 2012-08-30 2016-01-26 Netspeed Systems Automatic construction of deadlock free interconnects
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US8601423B1 (en) 2012-10-23 2013-12-03 Netspeed Systems Asymmetric mesh NoC topologies
US9185026B2 (en) 2012-12-21 2015-11-10 Netspeed Systems Tagging and synchronization for fairness in NOC interconnects
US9253085B2 (en) 2012-12-21 2016-02-02 Netspeed Systems Hierarchical asymmetric mesh with virtual routers
US9774498B2 (en) 2012-12-21 2017-09-26 Netspeed Systems Hierarchical asymmetric mesh with virtual routers
US9009648B2 (en) * 2013-01-18 2015-04-14 Netspeed Systems Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US9007920B2 (en) 2013-01-18 2015-04-14 Netspeed Systems QoS in heterogeneous NoC by assigning weights to NoC node channels and using weighted arbitration at NoC nodes
US9130856B2 (en) 2013-01-28 2015-09-08 Netspeed Systems Creating multiple NoC layers for isolation or avoiding NoC traffic congestion
US8934377B2 (en) 2013-03-11 2015-01-13 Netspeed Systems Reconfigurable NoC for customizing traffic and optimizing performance after NoC synthesis
US9160627B2 (en) 2013-04-04 2015-10-13 Netspeed Systems Multiple heterogeneous NoC layers
US9185023B2 (en) 2013-05-03 2015-11-10 Netspeed Systems Heterogeneous SoC IP core placement in an interconnect to optimize latency and interconnect performance
US9571402B2 (en) 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US10027433B2 (en) 2013-06-19 2018-07-17 Netspeed Systems Multiple clock domains in NoC
US9781043B2 (en) 2013-07-15 2017-10-03 Netspeed Systems Identification of internal dependencies within system components for evaluating potential protocol level deadlocks
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9054977B2 (en) 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US9223711B2 (en) 2013-08-13 2015-12-29 Netspeed Systems Combining associativity and cuckoo hashing
US9294354B2 (en) 2013-10-24 2016-03-22 Netspeed Systems Using multiple traffic profiles to design a network on chip
US9830265B2 (en) 2013-11-20 2017-11-28 Netspeed Systems, Inc. Reuse of directory entries for holding state information through use of multiple formats
US9158882B2 (en) 2013-12-19 2015-10-13 Netspeed Systems Automatic pipelining of NoC channels to meet timing and/or performance
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9319232B2 (en) 2014-04-04 2016-04-19 Netspeed Systems Integrated NoC for performing data communication and NoC functions
US9762474B2 (en) 2014-04-07 2017-09-12 Netspeed Systems Systems and methods for selecting a router to connect a bridge in the network on chip (NoC)
US9244845B2 (en) 2014-05-12 2016-01-26 Netspeed Systems System and method for improving snoop performance
US9473359B2 (en) 2014-06-06 2016-10-18 Netspeed Systems Transactional traffic specification for network-on-chip design
US9535848B2 (en) 2014-06-18 2017-01-03 Netspeed Systems Using cuckoo movement for improved cache coherency
US10528682B2 (en) 2014-09-04 2020-01-07 Netspeed Systems Automatic performance characterization of a network-on-chip (NOC) interconnect
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9477280B1 (en) 2014-09-24 2016-10-25 Netspeed Systems Specification for automatic power management of network-on-chip and system-on-chip
US10042404B2 (en) 2014-09-26 2018-08-07 Netspeed Systems Automatic generation of power management sequence in a SoC or NoC
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US9529400B1 (en) 2014-10-29 2016-12-27 Netspeed Systems Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9444702B1 (en) 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US9568970B1 (en) * 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US10860762B2 (en) 2019-07-11 2020-12-08 Intel Corpration Subsystem-based SoC integration

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980079436A (ko) * 1997-03-13 1998-11-25 포맨 제프리 엘 시스템-온-칩 레이아웃 컴파일링 방법 및 시스템
JP2001202397A (ja) 2000-01-20 2001-07-27 Toshiba Corp システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法
KR20030061609A (ko) * 2002-01-15 2003-07-22 삼성전자주식회사 버스 시스템 및 그 데이터 전송경로 결정방법
KR20040057043A (ko) * 2002-12-24 2004-07-01 한국전자통신연구원 지능형 시스템 온 칩 설계 방법 및 장치
KR20040108037A (ko) * 2003-06-16 2004-12-23 학교법인 명지학원 관동대학교 코어 기반 시스템 온 칩의 테스트 스케쥴링 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974487A (en) 1997-07-14 1999-10-26 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a mesh of rings topology
DE10225090A1 (de) * 2002-06-05 2003-12-18 Claas Selbstfahr Erntemasch Kühlluft-Reinigungseinrichtung
KR20030095083A (ko) 2002-06-11 2003-12-18 삼성전자주식회사 시스템 버스의 부하를 줄이기 위한 시스템 온 칩(soc)및 시스템
US7028281B1 (en) * 2002-07-12 2006-04-11 Lattice Semiconductor Corporation FPGA with register-intensive architecture
US6812739B2 (en) 2002-09-26 2004-11-02 International Business Machines Corporation Method of transparently reducing power consumption of a high-speed communication link

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980079436A (ko) * 1997-03-13 1998-11-25 포맨 제프리 엘 시스템-온-칩 레이아웃 컴파일링 방법 및 시스템
JP2001202397A (ja) 2000-01-20 2001-07-27 Toshiba Corp システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法
KR20030061609A (ko) * 2002-01-15 2003-07-22 삼성전자주식회사 버스 시스템 및 그 데이터 전송경로 결정방법
KR20040057043A (ko) * 2002-12-24 2004-07-01 한국전자통신연구원 지능형 시스템 온 칩 설계 방법 및 장치
KR20040108037A (ko) * 2003-06-16 2004-12-23 학교법인 명지학원 관동대학교 코어 기반 시스템 온 칩의 테스트 스케쥴링 방법

Also Published As

Publication number Publication date
US7461361B2 (en) 2008-12-02
US20060161875A1 (en) 2006-07-20
KR20060080711A (ko) 2006-07-11

Similar Documents

Publication Publication Date Title
KR100674933B1 (ko) 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
KR100674934B1 (ko) 온 칩 버스(On Chip Bus)에서 최적화된타일-스위치(tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
US11680803B2 (en) Rendering operations using sparse volumetric data
JP6856612B2 (ja) 多層相互接続による分散型プロセッサを有する処理システム
US11893424B2 (en) Training a neural network using a non-homogenous set of reconfigurable processors
Scott et al. The impact of pipelined channels on k-ary n-cube networks
Beechu et al. High-performance and energy-efficient fault-tolerance core mapping in NoC
CN103150144B (zh) 用于并行计算机中的集体操作协议选择的方法和系统
CN115829017B (zh) 一种基于芯粒的数据处理的方法、装置、介质及设备
US20030158986A1 (en) Bus system and path decision method therefor
JP3958336B2 (ja) インターフェースの設計方法
US20050246667A1 (en) Bus structure, database and method of designing interface
CN103052114A (zh) 数据缓存放置系统及数据缓存的方法
CN113190345A (zh) 一种面向软件定义卫星的神经网络模型部署的方法以及装置
Sun Simulation and performance evaluation for networks on chip
US9047436B2 (en) Computer-based modeling of integrated circuit congestion and wire distribution for products and services
CN117135133B (zh) 一种Chiplet芯片内的网络互连方法
Killian et al. Brief announcement: The overlay network content distribution problem
Badri Junction Based Routing: A Novel Technique for Large Network on Chip Platforms
CN116050330A (zh) 一种基于混合粒度撕裂重路由的fpga布线方法及系统
Lauwereins et al. Real-time emulation of DSP applications on programmable DSPs and FPGAs
Regidor et al. NoC generation of an optimal memory distribution for multimedia systems

Legal Events

Date Code Title Description
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: 20130102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 14