KR101671494B1 - 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 - Google Patents
공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 Download PDFInfo
- Publication number
- KR101671494B1 KR101671494B1 KR1020100098441A KR20100098441A KR101671494B1 KR 101671494 B1 KR101671494 B1 KR 101671494B1 KR 1020100098441 A KR1020100098441 A KR 1020100098441A KR 20100098441 A KR20100098441 A KR 20100098441A KR 101671494 B1 KR101671494 B1 KR 101671494B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- page
- local store
- allocated
- descriptor
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000006243 chemical reaction Methods 0.000 claims abstract description 31
- 238000007726 management method Methods 0.000 description 31
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 따른 프로세싱 코어를 도시한다.
도 3은 본 발명의 일 실시예에 따른 메모리 관리부를 도시한다.
도 4는 본 발명의 일 실시예에 따른 주소 변환 테이블의 제 1 레벨 페이지 디스크립터를 도시한다.
도 5는 본 발명의 일 실시예에 따른 주소 변환 과정을 도시한다.
도 6은 본 발명의 일 실시예에 따른 주소 변환 테이블의 제 2 레벨 페이지 디스크립터를 도시한다.
도 7은 본 발명의 다른 실시예에 따른 주소 변환 과정을 도시한다.
도 8은 본 발명의 일 실시예에 따른 주소 변환 테이블의 제 2 레벨 페이지 디스크립터를 도시한다.
도 9는 본 발명의 또 다른 실시예에 따른 주소 변환 과정을 도시한다.
도 10은 본 발명의 일 실시예에 따른 주소 변환 테이블의 제 3 레벨 페이지 디스크립터를 도시한다.
도 11은 본 발명의 일 실시예에 따른 주소 변환 테이블 생성 방법을 도시한다.
Claims (12)
- 로컬 스토어를 갖는 다수의 프로세싱 코어; 및
서로 다른 레벨을 갖는 복수의 페이지 디스크립터로 구성된 주소 변환 테이블을 생성하고, 상기 다수의 프로세싱 코어로부터 가상 주소를 수신하며, 상기 서로 다른 레벨을 갖는 복수의 페이지 디스크립터를 각각 상기 수신된 가상 주소와 비교하여 상기 수신된 가상 주소를 물리 주소로 변환하는 메모리 관리부; 를 포함하고,
상기 주소 변환 테이블은
전체 가상 메모리 영역을 로컬 스토어에 할당되는 페이지와 공유 메모리에 할당되는 페이지를 구분하여 정의하고, 상기 다수의 프로세싱 코어 중 적어도 어느 하나의 프로세싱 코어가 전체 가상 메모리 영역 중 상기 로컬 스토어에 할당되는 부분을 사용하는지 여부를 나타내는 공유 가상 메모리를 이용한 멀티 프로세서. - 제 1 항에 있어서, 상기 주소 변환 테이블은
다수의 페이지로 구성되는 전체 가상 메모리 영역 중 상기 로컬 스토어에 할당되는 페이지를 정의하는 제 1 레벨 페이지 디스크립터를 포함하는 공유 가상 메모리를 이용한 멀티 프로세서. - 제 2 항에 있어서, 상기 주소 변환 테이블은
상기 로컬 스토어에 할당되는 페이지가 상기 프로세싱 코어에 의해 사용되는지 여부를 표시하는 필드를 포함하는 제 2 레벨 페이지 디스크립터를 더 포함하는 공유 가상 메모리를 이용한 멀티 프로세서. - 제 3 항에 있어서, 상기 주소 변환 테이블은
상기 각각의 프로세싱 코어 별로 상기 로컬 스토어에 할당되는 페이지에 대응되는 물리 주소의 시작 주소를 지시하는 제 3 레벨 페이지 디스크립터를 더 포함하는 공유 가상 메모리를 이용한 멀티 프로세서. - 제 3 항에 있어서, 상기 제 2 레벨 페이지 디스크립터는
상기 로컬 스토어에 할당되는 페이지에 대한 기록 권한을 갖는 프로세싱 코어의 개수를 표시하는 필드 및 상기 로컬 스토어에 할당되는 페이지에 대한 복사본 생성 여부를 표시하는 필드를 더 포함하는 공유 가상 메모리를 이용한 멀티 프로세서. - 제 4 항에 있어서, 상기 제 3 레벨 페이지 디스크립터는
상기 각각의 프로세싱 코어 별로 상기 로컬 스토어에 할당된 페이지에 대한 독출 권한 또는 독출-기록 권한을 표시하는 필드를 포함하는 공유 가상 메모리를 이용한 멀티 프로세서. - 삭제
- 제 1 항에 있어서, 상기 메모리 관리부는
상기 각 프로세싱 코어로부터 수신한 가상 주소, 상기 가상 주소를 생성한 프로세싱 코어의 식별자, 및 상기 생성된 주소 변환 테이블을 이용하여 상기 변환을 수행하는 공유 가상 메모리를 이용한 멀티 프로세서. - 제 1 항에 있어서, 상기 로컬 스토어는
각각의 프로세싱 코어 별로 독립적으로 형성되는 랜덤 엑세스 메모리인 공유 가상 메모리를 이용한 멀티 프로세서. - 로컬 스토어를 갖는 다수의 프로세싱 코어를 포함하는 멀티 프로세서의 공유 가상 메모리를 구현하기 위한 주소 변환 테이블 생성 방법으로서,
상기 멀티 프로세서가,
다수의 페이지로 구성되는 전체 가상 메모리 영역 중 상기 로컬 스토어에 할당되는 페이지와 공유 메모리에 할당되는 페이지를 구분하여 정의하는 제 1 레벨 페이지 디스크립터를 생성하는 단계;
상기 로컬 스토어에 할당되는 페이지가 상기 프로세싱 코어에 의해 사용되는지 여부를 표시하는 필드를 포함하는 제 2 레벨 페이지 디스크립터를 생성하는 단계;
상기 각각의 프로세싱 코어 별로 상기 로컬 스토어에 할당되는 페이지에 대응되는 물리 주소의 시작 주소를 지시하는 제 3 레벨 페이지 디스크립터를 생성하는 단계; 및
상기 제 1 레벨 페이지 디스크립터, 제 2 레벨 페이지 디스크립터, 및 제 3 레벨 페이지 디스크립터 각각을 상기 다수의 프로세싱 코어로부터 수신된 가상 주소와 비교하여 상기 수신된 가상 주소를 물리 주소로 변환하는 단계를 포함하는 주소 변환 테이블 생성 방법. - 제 10 항에 있어서, 상기 제 2 레벨 페이지 디스크립터는
상기 로컬 스토어에 할당되는 페이지에 대한 기록 권한을 갖는 프로세싱 코어의 개수를 표시하는 필드 및 상기 로컬 스토어에 할당되는 페이지에 대한 복사본 생성 여부를 표시하는 필드를 더 포함하는 주소 변환 테이블 생성 방법. - 제 10 항에 있어서, 상기 제 3 레벨 페이지 디스크립터는
상기 각각의 프로세싱 코어 별로 상기 로컬 스토어에 할당된 페이지에 대한 독출 권한 또는 독출-기록 권한을 표시하는 필드를 포함하는 주소 변환 테이블 생성 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100098441A KR101671494B1 (ko) | 2010-10-08 | 2010-10-08 | 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 |
US13/074,999 US8930672B2 (en) | 2010-10-08 | 2011-03-29 | Multiprocessor using a shared virtual memory and method of generating a translation table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100098441A KR101671494B1 (ko) | 2010-10-08 | 2010-10-08 | 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120036654A KR20120036654A (ko) | 2012-04-18 |
KR101671494B1 true KR101671494B1 (ko) | 2016-11-02 |
Family
ID=45926031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100098441A Active KR101671494B1 (ko) | 2010-10-08 | 2010-10-08 | 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8930672B2 (ko) |
KR (1) | KR101671494B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9329996B2 (en) * | 2011-04-27 | 2016-05-03 | Veris Industries, Llc | Branch circuit monitor with paging register |
CN103152394B (zh) * | 2013-02-06 | 2016-09-28 | 华为技术有限公司 | 数据存取系统、内存共享设备及数据读取方法 |
US20160019168A1 (en) * | 2014-07-18 | 2016-01-21 | Qualcomm Incorporated | On-Demand Shareability Conversion In A Heterogeneous Shared Virtual Memory |
US10628192B2 (en) * | 2015-12-24 | 2020-04-21 | Intel Corporation | Scalable techniques for data transfer between virtual machines |
CN106127121B (zh) * | 2016-06-15 | 2019-03-08 | 四川省遥感信息测绘院 | 一种基于夜间灯光数据的建成区智能化提取方法 |
US10613990B2 (en) * | 2017-12-05 | 2020-04-07 | Red Hat, Inc. | Host address space identifier for non-uniform memory access locality in virtual machines |
US12117940B2 (en) | 2017-12-05 | 2024-10-15 | Red Hat, Inc. | Host address space identifier for non-uniform memory access locality in virtual machines |
US10924508B2 (en) * | 2017-12-21 | 2021-02-16 | Sonicwall Inc. | Providing access to data in a secure communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019921A1 (en) * | 1997-09-05 | 2002-02-14 | Hagersten Erik E. | Skewed finite hashing function |
US20060259705A1 (en) * | 2005-04-04 | 2006-11-16 | Stmicroelectronics Sa | Cache coherency in a shared-memory multiprocessor system |
WO2009134217A1 (en) * | 2008-04-28 | 2009-11-05 | Hewlett-Packard Development Company, L.P. | Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared-memory multi-processor systems |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5173872A (en) | 1985-06-13 | 1992-12-22 | Intel Corporation | Content addressable memory for microprocessor system |
US4972338A (en) | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
GB2176918B (en) | 1985-06-13 | 1989-11-01 | Intel Corp | Memory management for microprocessor system |
JPS62206658A (ja) | 1986-03-07 | 1987-09-11 | Hitachi Ltd | 記憶管理装置 |
US6374329B1 (en) | 1996-02-20 | 2002-04-16 | Intergraph Corporation | High-availability super server |
US6457100B1 (en) * | 1999-09-15 | 2002-09-24 | International Business Machines Corporation | Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls |
US6684305B1 (en) | 2001-04-24 | 2004-01-27 | Advanced Micro Devices, Inc. | Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence |
US6970990B2 (en) | 2002-09-30 | 2005-11-29 | International Business Machines Corporation | Virtual mode virtual memory manager method and apparatus |
US20050273571A1 (en) * | 2004-06-02 | 2005-12-08 | Lyon Thomas L | Distributed virtual multiprocessor |
US7886126B2 (en) | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
US9390031B2 (en) | 2005-12-30 | 2016-07-12 | Intel Corporation | Page coloring to associate memory pages with programs |
KR20080037237A (ko) | 2006-10-25 | 2008-04-30 | 삼성전자주식회사 | 임베디드 시스템에서 실시간 응답성을 지닌 요구 페이징을위한 장치 및 방법 |
KR100858237B1 (ko) | 2006-11-07 | 2008-09-12 | 주식회사 안철수연구소 | Tlb를 이용한 메모리 접근 제어 방법 |
KR20080097573A (ko) | 2007-05-02 | 2008-11-06 | 삼성전자주식회사 | 가상 메모리 접근 방법 |
US9164812B2 (en) | 2009-06-16 | 2015-10-20 | International Business Machines Corporation | Method and system to manage memory accesses from multithread programs on multiprocessor systems |
-
2010
- 2010-10-08 KR KR1020100098441A patent/KR101671494B1/ko active Active
-
2011
- 2011-03-29 US US13/074,999 patent/US8930672B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019921A1 (en) * | 1997-09-05 | 2002-02-14 | Hagersten Erik E. | Skewed finite hashing function |
US20060259705A1 (en) * | 2005-04-04 | 2006-11-16 | Stmicroelectronics Sa | Cache coherency in a shared-memory multiprocessor system |
WO2009134217A1 (en) * | 2008-04-28 | 2009-11-05 | Hewlett-Packard Development Company, L.P. | Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared-memory multi-processor systems |
Also Published As
Publication number | Publication date |
---|---|
KR20120036654A (ko) | 2012-04-18 |
US8930672B2 (en) | 2015-01-06 |
US20120089808A1 (en) | 2012-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101671494B1 (ko) | 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 | |
KR101814577B1 (ko) | 프로세싱-인-메모리를 이용한 명령어 처리 방법 및 그 장치 | |
US10037228B2 (en) | Efficient memory virtualization in multi-threaded processing units | |
ES2297417T3 (es) | Invalidacion de almacenamiento, borrado de elementos de la memoria intermedia. | |
JP5147280B2 (ja) | 異機種マルチプロセッサ・システムにおけるガーベッジ・コレクションのためのシステムおよび方法 | |
RU2602793C2 (ru) | Способ модификации разрешений на доступ к памяти в защищенной процессорной среде | |
JP6284130B2 (ja) | ローカル・クリア制御 | |
US9619399B2 (en) | Large-page optimization in virtual memory paging systems | |
JP7504092B2 (ja) | 仮想化コンピューティング環境での安全なメモリアクセス | |
CN104252392A (zh) | 一种访问数据缓存的方法和处理器 | |
CN103778072A (zh) | 多线程处理单元中的高效存储器虚拟化 | |
CN103777925A (zh) | 多线程处理单元中的高效存储器虚拟化 | |
US20140310484A1 (en) | System and method for globally addressable gpu memory | |
US9652274B2 (en) | Techniques for handling memory accesses by processor-independent executable code in a multi-processor environment | |
CA2577865A1 (en) | System and method for virtualization of processor resources | |
US20090228673A1 (en) | Fine Granularity Hierarchiacal Memory Protection | |
EP2889778A1 (en) | Shared memory in a secure processing environment | |
US7516297B2 (en) | Memory management | |
Skarlatos et al. | Babelfish: Fusing address translations for containers | |
CN101008922A (zh) | 面向异构多核体系的段页式存储空间管理方法 | |
BR102020019663A2 (pt) | algoritmo de remoção de linha de cache à base de prioridade de tecnologia de alocação de cache flexível | |
Haldar et al. | Operating systems | |
Van Schaik et al. | High-performance microkernels and virtualisation on ARM and segmented architectures | |
US11960420B2 (en) | Direct memory control operations on memory data structures | |
Vermij et al. | An architecture for near-data processing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20101008 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20150807 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20101008 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160120 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20160729 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20161026 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20161026 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20210929 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20220927 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |