KR20080028827A - 마이크로프로세서에서 복수의 인스트럭션 스트림/복수의데이터 스트림 확장을 인에이블링하는 방법, 시스템 및기계-판독 가능한 기록 매체 - Google Patents
마이크로프로세서에서 복수의 인스트럭션 스트림/복수의데이터 스트림 확장을 인에이블링하는 방법, 시스템 및기계-판독 가능한 기록 매체 Download PDFInfo
- Publication number
- KR20080028827A KR20080028827A KR1020070097609A KR20070097609A KR20080028827A KR 20080028827 A KR20080028827 A KR 20080028827A KR 1020070097609 A KR1020070097609 A KR 1020070097609A KR 20070097609 A KR20070097609 A KR 20070097609A KR 20080028827 A KR20080028827 A KR 20080028827A
- Authority
- KR
- South Korea
- Prior art keywords
- sequencer
- operating system
- processor
- application
- ring
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (20)
- 마이크로프로세서 시스템에서 실행되는 운영 시스템과의 애플리케이션 관리형 시퀀서(application managed sequencer) 및 운영 시스템 관리형 시퀀서(operating system managed sequencer) 상호작용 중 적어도 하나를 요구하는 조건을 검출하는 단계와,메모리를 상기 운영 시스템 관리형 시퀀서 및 상기 애플리케이션 관리형 시퀀서에 할당하는 단계와,상기 운영 시스템 관리형 시퀀서의 특권 상태(privileged state)를 초기화하는 단계와,검출된 조건에 응답하는 이벤트 핸들러를 포함하는 커넬 특권 레벨 요소에 상기 애플리케이션 관리형 시퀀서의 실행을 재유도하는 단계를 포함하는방법.
- 제 1 항에 있어서,상기 할당된 메모리는 프로세서 글로벌 메모리, 프로세서 로컬 메모리, 스레드 글로벌 메모리, 및 스레드 로컬 메모리로 구성되는 집합으로부터 선택되는방법.
- 제 2 항에 있어서,제 1 시퀀서 그룹과 관련되는 글로벌 영역을 지시하도록 상기 운영 시스템 관리형 시퀀서의 제 1 포인터를 초기화하는 단계와,제 1 프로세서 로컬 메모리 영역을 지시하도록 상기 운영 시스템 관리형 시퀀서의 제 2 포인터를 초기화하는 단계와,제 2 시퀀서 그룹과 관련되는 글로벌 영역을 지시하도록 상기 애플리케이션 관리형 시퀀서의 제 1 포인터를 초기화하는 단계와,제 2 프로세서 로컬 메모리 영역과 관련되는 글로벌 영역을 지시하도록 상기 애플리케이션 관리형 시퀀서의 제 2 포인터를 초기화하는 단계를 더 포함하는방법.
- 제 1 항에 있어서,상기 조건은 상기 멀티프로세서 시스템의 제 1 프로세서로부터 프로세서간 차단 신호를 수신하는 것을 포함하는방법.
- 제 4 항에 있어서,상기 조건은 링 전이 이벤트(a ring transition event)를 검출하는 것을 포함하는방법.
- 제 5 항에 있어서,상기 링 전이 이벤트는 링 0으로부터 링 3으로의 전이를 포함하는방법.
- 제 5 항에 있어서,상기 링 전이 이벤트는 링 3으로부터 링 0으로의 전이를 포함하는방법.
- 제 5 항에 있어서,상기 조건이 상기 애플리케이션 관리형 시퀀서에 의해 발생된 경우, 상기 검출된 조건을 처리하는 프록시 실행을 수행하는 단계와,상기 조건이 상기 운영 시스템 관리형 시퀀서에 의해 발생된 경우, 상기 조건이 모니터링되는 스레드인지를 판단하는 단계와,상기 조건이 모니터링되는 스레드 내에서 발생한 경우, 인터럽트 벡터 테이블에 의해 지시된 실행 위치로 점프하는 단계를 더 포함하는방법.
- 제 4 항에 있어서,상기 커넬 특권 레벨 요소는 적어도 하나의 상기 멀티프로세서 시스템과 상 기 운영 시스템 사이에 기능적으로 상주하는 펌웨어 계층을 포함하며,상기 이벤트 핸들러는 상기 운영 시스템에 대해 투명한방법.
- 제 9 항에 있어서,상기 적어도 하나의 프로세서는 64-비트 프로세서를 포함하고,상기 커넬 특권 레벨 요소는 상기 64-비트 프로세서 아키텍처에 의해 정의되는 프로세서 추상 계층을 포함하는방법.
- 제 1 항에 있어서,가상 해시 페이지 테이블 워커(a virtual hash page table walker)를 통해, 상기 운영 시스템 관리형 시퀀서 및 상기 애플리케이션 관리형 시퀀서 모두에 의해 사용되는 변환 룩어사이드 버퍼(a translation lookaside buffer)에서 일관성을 유지하는 단계를 더 포함하는방법.
- 멀티프로세서 플랫폼에서 실행되는 운영 시스템의 하나 이상의 프로세싱 스레드를 실행하는 운영 시스템 관리형 시퀀서와,상기 멀티프로세서 플랫폼상의 하나 이상의 응용 프로그램을 실행하는 애플 리케이션 관리형 시퀀서와,상기 운영 시스템과 응용 프로그램의 콘텐츠를 수록하는 하나 이상의 페이지를 저장하기 위해 상기 애플리케이션 관리형 시퀀서와 운영 시스템 관리형 시퀀서에 할당되는 메모리 공간과,상기 운영 시스템과의 애플리케이션 관리형 시퀀서 상호작용을 요구하는 검출된 조건에 응답하는 하드웨어 이벤트 핸들러를 포함하는 커넬 특권 레벨 요소에 상기 애플리케이션 관리형 시퀀서를 재유도하는 펌웨어 계층을 포함하는시스템.
- 제 12 항에 있어서,상기 적어도 하나의 프로세서는 64-비트 프로세서를 포함하고, 상기 펌웨어 계층은 상기 64-비트 프로세서 아키텍처에 의해 정의되는 프로세서 추상 계층을 포함하는시스템.
- 제 13 항에 있어서,상기 메모리 공간은 프로세서 글로벌 메모리, 프로세서 로컬 메모리, 스레드 글로벌 메모리, 스레드 로컬 메모리로 구성되는 집합으로부터 선택되는시스템.
- 제 12 항에 있어서,상기 검출된 조건은 상기 멀티프로세서 시스템의 다른 프로세서로부터 프로세서간 차단 신호를 수신하는 프로세서로 이루어진 집합으로부터 선택되며, 상기 프로세서는 링 전이 이벤트를 검출하는시스템.
- 제 15 항에 있어서,상기 링 전이 이벤트는 링-0으로부터 링-3으로의 전이, 및 링-3으로부터 링-0으로의 전이로 구성되는 집합으로부터 선택되는시스템.
- 제 16 항에 있어서,상기 운영 시스템 관리형 시퀀서와 상기 애플리케이션 관리형 시퀀서에 의해 사용되는 변환 룩어사이드 버퍼를 더 포함하되,상기 변환 룩어사이드 버퍼 콘텐츠는 가상 해시 페이지 테이블 워커를 통해 제어되는시스템.
- 복수의 인스트럭션을 저장한 기계-판독 가능한 매체로서,시스템의 프로세서에 의해 실행되면, 상기 인스트럭션은마이크로프로세서 시스템에서 실행되는 운영 시스템과의 애플리케이션 관리형 시퀀서 상호작용을 요구하는 조건을 검출하는 동작과,메모리를 상기 멀티프로세서 시스템 내의 운영 시스템 관리형 시퀀서 및 상기 애플리케이션 관리형 시퀀서에 할당하는 동작과,상기 운영 시스템 관리형 시퀀서의 특권 상태를 초기화하는 동작과,검출된 조건에 응답하는 하드웨어 이벤트 핸들러를 포함하는 커넬 특권 레벨 요소에 상기 애플리케이션 관리형 시퀀서의 실행을 재유도하는 동작을 수행하는기계-판독 가능한 매체.
- 제 18 항에 있어서,제 1 시퀀서 그룹과 관련되는 글로벌 영역을 지칭하기 위해 상기 운영 시스템 관리형 시퀀서의 제 1 포인터를 초기화하는 동작과,제 1 프로세서 로컬 메모리 영역을 지시하도록 상기 운영 시스템 관리형 시퀀서의 제 2 포인터를 초기화하는 동작과,제 2 시퀀서 그룹과 관련되는 글로벌 영역을 지시하도록 상기 애플리케이션 관리형 시퀀서의 제 1 포인터를 초기화하는 동작과,제 2 프로세서 로컬 메모리 영역과 관련되는 글로벌 영역을 지시하도록 상기 애플리케이션 관리형 시퀀서의 제 2 포인터를 초기화하는 동작을 수행하는 인스트럭션을 더 포함하는기계-판독 가능한 매체.
- 제 19 항에 있어서,상기 조건이 상기 애플리케이션 관리형 시퀀서에 의해 발생된 경우, 상기 검출된 조건을 처리하는 프록시 실행을 수행하는 동작과,상기 조건이 상기 운영 시스템 관리형 시퀀서에 의해 발생된 경우, 상기 조건이 모니터링되는 스레드인지를 판단하는 동작과,상기 조건이 모니터링되는 스레드 내에서 발생한 경우, 인터럽트 벡터 테이블에 의해 지시된 실행 위치로 점프하는 동작을 수행하는 인스트럭션을 더 포함하는기계-판독 가능한 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/528,121 | 2006-09-27 | ||
US11/528,121 US7768518B2 (en) | 2006-09-27 | 2006-09-27 | Enabling multiple instruction stream/multiple data stream extensions on microprocessors |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080028827A true KR20080028827A (ko) | 2008-04-01 |
KR100940335B1 KR100940335B1 (ko) | 2010-02-04 |
Family
ID=38984080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070097609A KR100940335B1 (ko) | 2006-09-27 | 2007-09-27 | 멀티프로세서에서 복수의 인스트럭션 스트림/복수의 데이터 스트림 확장을 인에이블링하는 방법, 시스템 및 기계-판독 가능한 매체 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7768518B2 (ko) |
EP (1) | EP1909177A3 (ko) |
KR (1) | KR100940335B1 (ko) |
CN (1) | CN101236512B (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139900B2 (en) | 2003-06-23 | 2006-11-21 | Intel Corporation | Data packet arithmetic logic devices and methods |
EP1936502B1 (en) * | 2006-12-19 | 2010-06-16 | Saab Ab | A method for ensuring backup function to an electrical system in a vehicle and an electrical system as such |
US8689215B2 (en) * | 2006-12-19 | 2014-04-01 | Intel Corporation | Structured exception handling for application-managed thread units |
US8074274B2 (en) * | 2006-12-29 | 2011-12-06 | Intel Corporation | User-level privilege management |
US8146103B2 (en) * | 2007-09-06 | 2012-03-27 | Sap Ag | Aggregation and evaluation of monitoring events from heterogeneous systems |
US8022956B2 (en) * | 2007-12-13 | 2011-09-20 | Ati Technologies Ulc | Settings control in devices comprising at least two graphics processors |
US8271784B2 (en) * | 2009-10-15 | 2012-09-18 | International Business Machines Corporation | Communication between key manager and storage subsystem kernel via management console |
EP2616954B1 (en) | 2010-09-18 | 2021-03-31 | Google LLC | A method and mechanism for rendering graphics remotely |
US8776061B2 (en) * | 2010-12-16 | 2014-07-08 | International Business Machines Corporation | Real-time distributed monitoring of local and global processor resource allocations and deallocations |
US9128769B2 (en) * | 2011-10-13 | 2015-09-08 | Cavium, Inc. | Processor with dedicated virtual functions and dynamic assignment of functional resources |
US9129060B2 (en) | 2011-10-13 | 2015-09-08 | Cavium, Inc. | QoS based dynamic execution engine selection |
US9569369B2 (en) * | 2011-10-27 | 2017-02-14 | Oracle International Corporation | Software translation lookaside buffer for persistent pointer management |
WO2013101217A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Technology abstraction layer |
US9678795B2 (en) | 2011-12-30 | 2017-06-13 | Intel Corporation | Direct ring 3 submission of processing jobs to adjunct processors |
US9851987B2 (en) | 2012-03-22 | 2017-12-26 | Intel Corporation | Nested emulation and dynamic linking environment |
US8959298B2 (en) | 2012-12-10 | 2015-02-17 | Qualcomm Incorporated | System and method for managing performance of a computing device having dissimilar memory types |
US9110795B2 (en) | 2012-12-10 | 2015-08-18 | Qualcomm Incorporated | System and method for dynamically allocating memory in a memory subsystem having asymmetric memory components |
US9092327B2 (en) | 2012-12-10 | 2015-07-28 | Qualcomm Incorporated | System and method for allocating memory to dissimilar memory devices using quality of service |
CN103279105B (zh) * | 2013-05-29 | 2015-05-27 | 武汉科瑞新电气自动化有限公司 | 基于嵌入式模块化平台的工业数据监测系统 |
CN106126384B (zh) * | 2016-06-12 | 2019-02-01 | 华为技术有限公司 | 一种采集性能监视单元pmu事件的方法及装置 |
US10721172B2 (en) | 2018-07-06 | 2020-07-21 | Marvell Asia Pte, Ltd. | Limiting backpressure with bad actors |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0447145B1 (en) * | 1990-03-12 | 2000-07-12 | Hewlett-Packard Company | User scheduled direct memory access using virtual addresses |
US6766515B1 (en) * | 1997-02-18 | 2004-07-20 | Silicon Graphics, Inc. | Distributed scheduling of parallel jobs with no kernel-to-kernel communication |
JP3404322B2 (ja) * | 1999-05-25 | 2003-05-06 | 株式会社エルミックシステム | 割込処理方法、os支援システム、情報処理装置、記録媒体 |
US7448025B2 (en) * | 2000-12-29 | 2008-11-04 | Intel Corporation | Qualification of event detection by thread ID and thread privilege level |
KR100870175B1 (ko) * | 2002-02-18 | 2008-11-25 | 삼성전자주식회사 | 에이알엠7 계열 마이크로 컨트롤러에서의 콘텍스트 스위치방법 |
US9189230B2 (en) * | 2004-03-31 | 2015-11-17 | Intel Corporation | Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution |
US8079035B2 (en) * | 2005-12-27 | 2011-12-13 | Intel Corporation | Data structure and management techniques for local user-level thread data |
US8914618B2 (en) * | 2005-12-29 | 2014-12-16 | Intel Corporation | Instruction set architecture-based inter-sequencer communications with a heterogeneous resource |
US7487341B2 (en) * | 2006-06-29 | 2009-02-03 | Intel Corporation | Handling address translations and exceptions of a heterogeneous resource of a processor using another processor resource |
-
2006
- 2006-09-27 US US11/528,121 patent/US7768518B2/en not_active Expired - Fee Related
-
2007
- 2007-09-25 CN CN2007101701545A patent/CN101236512B/zh not_active Expired - Fee Related
- 2007-09-25 EP EP20070253782 patent/EP1909177A3/en not_active Ceased
- 2007-09-27 KR KR1020070097609A patent/KR100940335B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN101236512B (zh) | 2013-04-10 |
US7768518B2 (en) | 2010-08-03 |
CN101236512A (zh) | 2008-08-06 |
US20080077909A1 (en) | 2008-03-27 |
EP1909177A2 (en) | 2008-04-09 |
EP1909177A3 (en) | 2008-10-01 |
KR100940335B1 (ko) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100940335B1 (ko) | 멀티프로세서에서 복수의 인스트럭션 스트림/복수의 데이터 스트림 확장을 인에이블링하는 방법, 시스템 및 기계-판독 가능한 매체 | |
Hedayati et al. | Hodor:{Intra-Process} isolation for {High-Throughput} data plane libraries | |
US9785506B2 (en) | Reducing likelihood of concurrency error in virtualized computing environment | |
US8327390B2 (en) | VEX—virtual extension framework | |
US20080127182A1 (en) | Managing Memory Pages During Virtual Machine Migration | |
US8140834B2 (en) | System, method and computer program product for providing a programmable quiesce filtering register | |
EP1630670A2 (en) | Virtual machine environment in a computer system | |
US20050149711A1 (en) | Method and system for firmware-based run time exception filtering | |
KR20090009866A (ko) | 실행 중인 운영 체제를 이용하여 하이퍼바이저를 실행하는 컴퓨터 프로그램 제품 및 그 방법 | |
US11301283B1 (en) | Virtualization extension modules | |
US7552434B2 (en) | Method of performing kernel task upon initial execution of process at user level | |
EP0588473B1 (en) | Method and apparatus for emulating the environment of a microprocessor | |
NL2030804B1 (en) | Flexible return and event delivery | |
US20060064528A1 (en) | Privileged resource access | |
JP4978914B2 (ja) | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム | |
EP4258109A1 (en) | Synchronous microthreading | |
US20230315444A1 (en) | Synchronous microthreading | |
EP4254177A1 (en) | Synchronous microthreading | |
US20230315455A1 (en) | Synchronous microthreading | |
US20230315461A1 (en) | Synchronous microthreading | |
US20230315445A1 (en) | Synchronous microthreading | |
US20230315462A1 (en) | Synchronous microthreading | |
US20230315572A1 (en) | Synchronous microthreading | |
US20230315459A1 (en) | Synchronous microthreading | |
US20230281016A1 (en) | Software-controlled flag to require a stack switch during execution |
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: 20130104 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140103 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141230 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160104 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180103 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |