KR100636413B1 - 프로세서에서의 동작 모드의 확립 - Google Patents
프로세서에서의 동작 모드의 확립 Download PDFInfo
- Publication number
- KR100636413B1 KR100636413B1 KR1020027008331A KR20027008331A KR100636413B1 KR 100636413 B1 KR100636413 B1 KR 100636413B1 KR 1020027008331 A KR1020027008331 A KR 1020027008331A KR 20027008331 A KR20027008331 A KR 20027008331A KR 100636413 B1 KR100636413 B1 KR 100636413B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- mode
- bit
- segment
- bits
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
본 발명을 요약하기 전에, 다음과 같은 2개의 배경기술 문서들이 알려져 있다:
US-A-5 774 686은 확장 지시를 저장하도록 구성된 제어 레지스터를 포함하는 프로세서를 개시하고, 상기 프로세서는 상기 확장 지시에 응답하고 명령 세트 플래그와 시스템 플래그에 응답하는 명령 세트 구성과 시스템 구성을 확립하도록 구성된다.
US-A-5 787 495는 세그먼트 레지스터들로의 선택자들의 저장을 개시한다.
Claims (22)
- 프로세서(10)로서,제 1 동작 모드 지시(L)와 제 2 동작 모드 지시(D)를 포함하는 세그먼트 기술자(24AB)를 식별하는 세그먼트 선택자(24AA)를 저장하도록 구성된 세그먼트 레지스터(24A); 및인에이블 지시(LME)를 저장하도록 구성된 제어 레지스터(26)를 포함하고, 상기 프로세서는 상기 인에이블 지시(LME), 상기 제 1 동작 모드 지시(L) 및 상기 제 2 동작 모드 지시(D)에 응답하여 동작 모드를 확립하도록 구성되고, 상기 동작 모드는 상기 프로세서가 실행하도록 구성되는 명령들에 대한 디폴트 오퍼랜드 크기 및 디폴트 주소 크기를 특정하는 것을 특징으로 하는 프로세서.
- 제 1 항에 있어서, 상기 인에이블 지시(LME)가 인에이블 상태(LME=1)이고 상기 제 1 동작 모드 지시가 제 1 상태(L=1)이면 상기 동작 모드는 제 1 동작 모드(32/64)이고, 상기 인에이블 지시가 상기 인에이블 상태(LME=1)이고, 상기 제 1 동작 모드 지시가 제 2 상태(L=0)이고, 상기 제 2 동작 모드 지시가 상기 제 1 상태(D=1)이면 상기 동작 모드는 제 2 동작 모드(32-비트 호환가능 모드)인 것을 특징으로 하는 프로세서.
- 제 2 항에 있어서, 상기 인에이블 지시가 상기 인에이블 상태(LME=1)이고 상기 제 1 동작 모드 지시가 상기 제 2 상태(L=0)이면 상기 제 2 동작 모드(32-비트 호환가능 모드)는 복수의 이용가능한 동작 모드들 중의 하나이고, 상기 복수의 동작 모드들 중의 하나는 상기 제 2 동작 모드 지시(D)의 상태에 응답하여 선택되는 것을 특징으로 하는 프로세서.
- 제 3 항에 있어서, 상기 복수의 동작 모드들 중의 하나는 32비트 동작 모드(L=0, D=1)인 것을 특징으로 하는 프로세서.
- 제 3 항에 있어서, 상기 복수의 동작 모드들 중의 하나는 16비트 동작 모드(L=0, D=0)인 것을 특징으로 하는 프로세서.
- 제 2 항에 있어서, 상기 제 1 동작 모드(32/64)는 32비트보다 더 큰 디폴트 주소 크기를 포함하는 것을 특징으로 하는 프로세서.
- 제 6 항에 있어서, 상기 디폴트 주소 크기는 상기 프로세서에 의해 생성된 가상 주소들에 적용하는 것을 특징으로 하는 프로세서.
- 제 7 항에 있어서, 상기 프로세서에 의해 채용된 세그먼테이션 메커니즘에 따라 가상 주소가 생성되는 것을 특징으로 하는 프로세서.
- 제 7 항에 있어서, 상기 디폴트 주소 크기는 상기 프로세서에 의해 생성된 물리적 주소에 더 적용하는 것을 특징으로 하는 프로세서.
- 제 1 항 내지 제 9 항 중 어느 한 항에 있어서, 상기 인에이블 지시가 디스에이블 상태(LME=0)이면, 상기 제 1 동작 모드 지시는 정의되지 않고(L=x), 상기 프로세서는 상기 제 2 동작 모드 지시(D)에 응답하여 상기 동작 모드를 확립하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 1 항에 있어서,상기 세그먼트 선택자(24AA)는 상기 프로세서가 결합되는 메모리에 저장된 세그먼트 테이블(80, 82)로의 인덱스를 포함하고, 상기 세그먼트 기술자는 상기 인덱스에 의해 지시된 엔트리 내의 상기 세그먼트 기술자 테이블에 저장되고, 상기 프로세서는 상기 세그먼트 선택자에 응답하여 상기 세그먼트 기술자 테이블로부터 상기 세그먼트 기술자를 판독하도록 구성되고;상기 프로세서는 인에이블 상태(LME=1)에 있는 상기 인에이블 지시 및 제 1 상태(L=1)에 있는 상기 제 1 동작 모드 지시에 응답하여 가상 주소들이 32비트보다 더 큰 동작 모드(32/64)에서 동작하도록 구성되는 것을 특징으로 하는 프로세서.
- 제 11 항에 있어서, 상기 물리적 주소들은 상기 동작 모드에서 32비트보다 더 큰 것을 특징으로 하는 프로세서.
- 제 12 항에 있어서, 상기 물리적 주소들은 64비트 이하인 제 1 개수의 비트들인 것을 특징으로 하는 프로세서.
- 제 11 항에 있어서, 가상 주소는 64비트 이하인 제 1 개수의 비트들인 것을 특징으로 하는 프로세서.
- 제 11 항에 있어서, 상기 세그먼트 기술자는 특권 레벨(DPL)을 더 포함하는 것을 특징으로 하는 프로세서.
- 제 11 항 내지 제 15 항 중 어느 한 항에 있어서, 제 2 인에이블 지시(PE)를 저장하도록 구성되는 제 2 제어 레지스터(28)를 더 포함하고, 상기 프로세서는 상기 인에이블 상태(PE=1)에 있는 상기 제 2 인에이블 지시에 응답하여 상기 세그먼트 기술자 테이블(80, 82)로부터 상기 세그먼트 기술자(24AB)를 판독하도록 구성되는 것을 특징으로 하는 프로세서.
- 프로세서(10) 내의 제어 레지스터(26) 내의 인에이블 지시(LME)와, 세그먼트 기술자(24AB) 내의 제 1 동작 모드 지시(L) 및 상기 세그먼트 기술자(24AB) 내의 제 2 동작 모드 지시(D)에 응답하여 상기 프로세서(10) 내에 동작 모드를 확립하는 단계를 포함하고, 상기 동작 모드는 상기 프로세서가 실행하도록 구성되는 명령들에 대한 디폴트 오퍼랜드 크기 및 디폴트 주소 크기를 특정하고;상기 동작 모드에 응답하여 오퍼랜드들을 인출하고(fetch) 주소들을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 17 항에 있어서, 상기 동작 모드를 확립하는 단계는 인에이블 상태(LME=1)에 있는 상기 인에이블 지시 및 제 1 상태에 있는 제 1 동작 모드에 응답하여 상기 제 1 동작 모드(32/64)를 확립하는 단계를 포함하고, 여기서 상기 제 1 동작 모드는 32비트보다 더 큰 디폴트 주소 크기를 포함하는 것을 특징으로 하는 방법.
- 제 18 항에 있어서, 상기 디폴트 주소 크기는 가상 주소에 적용하는 것을 특징으로 하는 방법.
- 제 19 항에 있어서, 상기 디폴트 주소 크기는 물리적 주소에 적용하는 것을 특징으로 하는 방법.
- 제 18 항에 있어서, 상기 확립 단계는 인에이블 상태(LME=1)에 있는 상기 인에이블 지시와, 제 2 상태(L=0)에 있는 상기 제 1 동작 모드 지시 및 상기 제 1 상태(D=1)에 있는 상기 제 2 동작 모드 지시에 응답하여 제 2 동작 모드(32-비트 호환가능 모드)를 확립하는 단계를 더 포함하고, 상기 제 2 동작 모드는 32비트의 디폴트 주소 크기를 포함하는 것을 특징으로 하는 방법.
- 제 18 항에 있어서, 상기 확립 단계는 상기 인에이블 지시가 상기 인에이블 상태(LME=1)이고 상기 제 1 동작 모드 지시가 제 2 상태(L=0)이면 복수의 동작 모드들 중의 하나를 확립하는 단계를 더 포함하고, 상기 복수의 동작 모드들 중의 하나는 상기 제 2 동작 모드 지시(D)의 상태에 응답하여 선택되는 것을 특징으로 하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/483,101 US6973562B1 (en) | 2000-01-14 | 2000-01-14 | Establishing an operating mode in a processor |
US09/483,101 | 2000-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020091066A KR20020091066A (ko) | 2002-12-05 |
KR100636413B1 true KR100636413B1 (ko) | 2006-10-19 |
Family
ID=23918664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020027008331A KR100636413B1 (ko) | 2000-01-14 | 2000-07-19 | 프로세서에서의 동작 모드의 확립 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6973562B1 (ko) |
EP (1) | EP1247171B1 (ko) |
JP (1) | JP4520683B2 (ko) |
KR (1) | KR100636413B1 (ko) |
CN (1) | CN100419671C (ko) |
DE (1) | DE60005219T2 (ko) |
TW (1) | TW567434B (ko) |
WO (1) | WO2001052058A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101528130B1 (ko) * | 2010-12-22 | 2015-06-12 | 인텔 코포레이션 | 권한 레벨에 관계없는 세그먼트 레지스터 판독 및 기입용 시스템, 장치, 및 방법 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387250B8 (en) * | 2002-07-31 | 2012-02-29 | Texas Instruments Inc. | Processor that accomodates multiple instruction sets and multiple decode modes |
US7343378B2 (en) * | 2004-03-29 | 2008-03-11 | Microsoft Corporation | Generation of meaningful names in flattened hierarchical structures |
US7437541B2 (en) * | 2004-07-08 | 2008-10-14 | International Business Machiens Corporation | Atomically updating 64 bit fields in the 32 bit AIX kernel |
US20060282606A1 (en) * | 2005-06-08 | 2006-12-14 | Dell Products L.P. | System and method for automatically optimizing available virtual memory |
JP5289688B2 (ja) * | 2006-07-05 | 2013-09-11 | ルネサスエレクトロニクス株式会社 | プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法 |
US7451298B2 (en) * | 2006-08-03 | 2008-11-11 | Apple Inc. | Processing exceptions from 64-bit application program executing in 64-bit processor with 32-bit OS kernel by switching to 32-bit processor mode |
US7802252B2 (en) * | 2007-01-09 | 2010-09-21 | International Business Machines Corporation | Method and apparatus for selecting the architecture level to which a processor appears to conform |
US8528083B2 (en) * | 2011-03-10 | 2013-09-03 | Adobe Systems Incorporated | Using a call gate to prevent secure sandbox leakage |
US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
CN102331978A (zh) * | 2011-07-07 | 2012-01-25 | 曙光信息产业股份有限公司 | 一种龙芯刀片大内存地址设备dma控制器访问的实现方法 |
CN105094870A (zh) * | 2014-05-13 | 2015-11-25 | 中标软件有限公司 | 64位Linux操作系统兼容32位应用软件的方法 |
GB2522290B (en) | 2014-07-14 | 2015-12-09 | Imagination Tech Ltd | Running a 32-bit operating system on a 64-bit machine |
GB2546465B (en) * | 2015-06-05 | 2018-02-28 | Advanced Risc Mach Ltd | Modal processing of program instructions |
CN107870736B (zh) * | 2016-09-28 | 2021-08-10 | 龙芯中科技术股份有限公司 | 支持大于4gb非线性闪存的方法及装置 |
CN111026452B (zh) * | 2019-11-20 | 2023-10-20 | 北京明朝万达科技股份有限公司 | 一种远程32位进程注入64位进程的方法及系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4620274A (en) | 1983-04-01 | 1986-10-28 | Honeywell Information Systems Inc. | Data available indicator for an exhausted operand string |
US4701946A (en) | 1984-10-23 | 1987-10-20 | Oliva Raymond A | Device for controlling the application of power to a computer |
US4868740A (en) | 1986-06-04 | 1989-09-19 | Hitachi, Ltd. | System for processing data with multiple virtual address and data word lengths |
JPS63174145A (ja) * | 1987-01-14 | 1988-07-18 | Hitachi Ltd | デ−タ処理装置 |
JP2507756B2 (ja) * | 1987-10-05 | 1996-06-19 | 株式会社日立製作所 | 情報処理装置 |
US5381537A (en) * | 1991-12-06 | 1995-01-10 | International Business Machines Corporation | Large logical addressing method and means |
US5617554A (en) * | 1992-02-10 | 1997-04-01 | Intel Corporation | Physical address size selection and page size selection in an address translator |
US5692167A (en) * | 1992-07-31 | 1997-11-25 | Intel Corporation | Method for verifying the correct processing of pipelined instructions including branch instructions and self-modifying code in a microprocessor |
US5479627A (en) * | 1993-09-08 | 1995-12-26 | Sun Microsystems, Inc. | Virtual address to physical address translation cache that supports multiple page sizes |
US5517651A (en) | 1993-12-29 | 1996-05-14 | Intel Corporation | Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5758116A (en) | 1994-09-30 | 1998-05-26 | Intel Corporation | Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions |
US5644755A (en) | 1995-02-24 | 1997-07-01 | Compaq Computer Corporation | Processor with virtual system mode |
US5774686A (en) * | 1995-06-07 | 1998-06-30 | Intel Corporation | Method and apparatus for providing two system architectures in a processor |
US5787495A (en) | 1995-12-18 | 1998-07-28 | Integrated Device Technology, Inc. | Method and apparatus for selector storing and restoration |
US5784638A (en) | 1996-02-22 | 1998-07-21 | International Business Machines Corporation | Computer system supporting control transfers between two architectures |
US5826074A (en) | 1996-11-22 | 1998-10-20 | S3 Incorporated | Extenstion of 32-bit architecture for 64-bit addressing with shared super-page register |
US6086623A (en) | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | Method and implementation for intercepting and processing system calls in programmed digital computer to emulate retrograde operating system |
-
2000
- 2000-01-14 US US09/483,101 patent/US6973562B1/en not_active Expired - Lifetime
- 2000-07-19 CN CNB008183414A patent/CN100419671C/zh not_active Expired - Lifetime
- 2000-07-19 DE DE60005219T patent/DE60005219T2/de not_active Expired - Lifetime
- 2000-07-19 EP EP00947565A patent/EP1247171B1/en not_active Expired - Lifetime
- 2000-07-19 WO PCT/US2000/019762 patent/WO2001052058A1/en active IP Right Grant
- 2000-07-19 JP JP2001552211A patent/JP4520683B2/ja not_active Expired - Lifetime
- 2000-07-19 KR KR1020027008331A patent/KR100636413B1/ko active IP Right Grant
- 2000-12-16 TW TW089127001A patent/TW567434B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101528130B1 (ko) * | 2010-12-22 | 2015-06-12 | 인텔 코포레이션 | 권한 레벨에 관계없는 세그먼트 레지스터 판독 및 기입용 시스템, 장치, 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2001052058A1 (en) | 2001-07-19 |
JP4520683B2 (ja) | 2010-08-11 |
US6973562B1 (en) | 2005-12-06 |
DE60005219D1 (de) | 2003-10-16 |
EP1247171B1 (en) | 2003-09-10 |
DE60005219T2 (de) | 2004-06-24 |
CN100419671C (zh) | 2008-09-17 |
JP2003519868A (ja) | 2003-06-24 |
CN1423773A (zh) | 2003-06-11 |
EP1247171A1 (en) | 2002-10-09 |
TW567434B (en) | 2003-12-21 |
KR20020091066A (ko) | 2002-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6560694B1 (en) | Double prefix overrides to provide 16-bit operand size in a 32/64 operating mode | |
US7124286B2 (en) | Establishing an operating mode in a processor | |
US6671791B1 (en) | Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms | |
US6457115B1 (en) | Apparatus and method for generating 64 bit addresses using a 32 bit adder | |
US6901505B2 (en) | Instruction causing swap of base address from segment register with address from another register | |
US6757771B2 (en) | Stack switching mechanism in a computer system | |
US7284115B2 (en) | Processor which overrides default operand size for implicit stack pointer references and near branches | |
US6898697B1 (en) | Efficient method for mode change detection and synchronization | |
US6807616B1 (en) | Memory address checking in a proccesor that support both a segmented and a unsegmented address space | |
US7100028B2 (en) | Multiple entry points for system call instructions | |
US6889312B1 (en) | Selective zero extension based on operand size | |
KR100636413B1 (ko) | 프로세서에서의 동작 모드의 확립 | |
KR100880681B1 (ko) | 확장 레지스터 모드로 확장 레지스터 세트를 액세스하는 중앙 처리 장치 | |
US6968446B1 (en) | Flags handling for system call instructions | |
US6687806B1 (en) | Apparatus and method for generating 64 bit displacement and immediate values | |
US7058791B1 (en) | Establishing a mode indication responsive to two or more indications | |
US6807617B2 (en) | Processor, method and apparatus with descriptor table storing segment descriptors of varying size | |
US8156308B1 (en) | Supporting multiple byte order formats in a computer system | |
US6981132B2 (en) | Uniform register addressing using prefix byte | |
US6571330B1 (en) | Address size and operand size prefix overrides for default sizes defined by an operating mode of a processor | |
KR100643874B1 (ko) | 64비트 주소지정을 위한 호출 게이트 확장 | |
US6810476B2 (en) | Variable state save formats based on operand size of state save instruction | |
US6880068B1 (en) | Mode dependent segment use with mode independent segment update | |
US6463517B1 (en) | Apparatus and method for generating virtual addresses for different memory models | |
US6324635B1 (en) | Method and apparatus for address paging emulation |
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: 20120927 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130926 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140923 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150918 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160921 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170919 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180918 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190917 Year of fee payment: 14 |