KR970705076A - 메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 장치 및 방법(Apparatus and Method for Efficiently Determining Addresses for Misaligned Data Stored in Memory) - Google Patents
메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 장치 및 방법(Apparatus and Method for Efficiently Determining Addresses for Misaligned Data Stored in Memory) Download PDFInfo
- Publication number
- KR970705076A KR970705076A KR1019970700553A KR19970700553A KR970705076A KR 970705076 A KR970705076 A KR 970705076A KR 1019970700553 A KR1019970700553 A KR 1019970700553A KR 19970700553 A KR19970700553 A KR 19970700553A KR 970705076 A KR970705076 A KR 970705076A
- Authority
- KR
- South Korea
- Prior art keywords
- address
- memory
- data
- misaligned
- offset value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 8
- 238000010586 diagram Methods 0.000 description 1
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
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/355—Indexed addressing
-
- 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
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
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)
- Details Of Connecting Devices For Male And Female Coupling (AREA)
- Connector Housings Or Holding Contact Members (AREA)
Abstract
범용 마이크로프로세서의 메모리에 저장된 오정렬 또는 2중 워드 길이의 데이타를 액세스하는데 필요한 연속적인 어드레스를 효율적으로 발생시키는 장치 및 방법이 개시되어 있다. 상기 장치는 버스 유니트에 포함되어 있는 것이 전형적인 소형 3비트 가산기. 및 실행 유니트 사이에 어드레스 발생동작을 공유한다. 제어 논리는 데이타 오정렬 상황이 데이타의 개시 어드레스 및 검색될 데이타의 길이를 기초로 존재하는 지를 결정하는데 사용된다. 오정렬이 나타나는 경우. 제어 유니트는 현재 어드레스가 새로운 어드레스를 얻도록 얼마만큼 증분되어야 하는지에 따라 3비트 가신기 또는 실행 유니트에 어드레스 계산을 할당하는 작용을 한다.
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 방법에 따라 오정렬 데이타를 액세스하는 어드레스를 효율적으로 발생시키는 장치를 포함하는 마이크로프로세서의 아키텍쳐에 대한 블록 다이어그램이다.
Claims (9)
- 메모리에 저장된 오정렬 데이타를 액세스하기 위한 메모리 어드레스를 발생시키는 장치에 있어서, 어드레스에 대한 오프셋값을 발생시키는 수단으로서, 상기 오프셋 값이 메모리 장소가 베이스 어드레스로 부터 오프셋되는 양에 해당하는 수단; 상기 베이스 어드레스를 발생시키는 수단; 완전 메모리 어드레스를 발생시키도록 상기 오프셋 값 및 상기 베이스 어드레스를 가산하는 수단: 상기 완전 메모리 어드레스로 저장된 데이타 일부가 오정렬되어 있는지를 결정하는 제어수단; 상기 완전 메모리 어드레스를 한 세트의 최상위 비트 및 한 세트의 최하위 비트로 분할하는 수단; 상기 제어 수단이 데이타가 오정렬되어 있다고 결정할 경우 한 세트의 최하위 비트의 값을 증분시키는 수단; 및 데이타가 오정렬되어 있다고 상기 제어 수단이 결정할 겨우 메모리에 대한 새로운 어드레스를 형성하도록 상기 한 세트의 최상위 비트 및 증분된 한세트의 최하위 비트를 결합하는 수단을 포함하는, 메모리 어드레스를 발생시키는 장치.
- 제1항에 있어서, 상기 완전 메모리 어드레스를 발생시키도록 오프셋값과 베이스 어드레스를 가산하는 수단은 산술 논리 유니트인, 메모리 어드레스를 발생시키는 장치.
- 제1항에 있어서, 상기 제어 수단은 데이타의 일부가 상기 완전 메모리 어드레스 및 데이타의 길이를 기초로 오정렬되어 있는지를 결정하는, 메모리 어드레스를 발생시키는 장치.
- 제1항에 있어서, 상기 한세트의 최하위 비트의 값을 증분시키는 수단은 3비트 가산기인, 메모리 어드레스를 발생시키는 장치.
- 제4항에 있어서, 상기 3비트인 가산기는 버스 유니트에 포함되어 있는 메모리 어드레스를 발생시키는 장치.
- 제1항에 있어서, 상기 어드레스에 대한 오프셋 값을 발생시키는 수단은 이전 어드레스로 부터 오프셋 값을 증분시킴으로써 오프셋을 발생시키는, 메모리 어드레스를 발생시키는 장치.
- 메모리에 저장된 오정렬 제이타를 액세스하기 위한 메모리 어드레스를 발생시키는 방법에 있어서, 어드레스에 대한 오프셋 값을 발생시키는 단계로서, 상기 오프셋값이 메모리 장소가 베이스 어드레스로 부터 오프셋되는 양에 해당하는 단계: 상기 베이스어드레스를 발생시키는 단계: 완전 메모리 어드레스를 발생시키도록 상기 오프셋값 및 상기 베이스 어드레스를 가산하는 단계: 상기 완전 메모리 어드레스로 저장된 데이타의 일부가 오정렬 되어 있는지를 결정하는 단계: 상기 완전 메모리 어드레스를 한세트의 최상위 비트 및 한세트의 최하위 비트로 분할하는 단계:데이타가 오정렬되어 있다고 결정되는 경우 상기 한세트의 최하위 비트의 값을 증분시키는 단계; 및 데이타가 오정렬되어 있따고 결정되는 메모리에 대한 새로운 어드레스를 형성하도록 상기 한세트의 최상위 비트 및 증분된 한 세트의 최하위 비트를 결합하는 단계를 포함하는, 메모리 어드레스를 발생시키는 방법.
- 제7항에 있어서, 상기 오프셋 값은 이전 어드레스의 오프셋값을 증분시킴으로써 발생되는, 메모리 어드레스를 발생시키는 방법.
- 제7항에 있어서, 상기 완전 메모리 어드레스로 저장된 데이타의 일부가 오정렬되어 있는지의 결정은 상기 완전 메모리 어드레스 및 데이타의 길이를 기초로 하는, 메모리 어드레이스를 발생시키는 방법.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45015495A | 1995-05-26 | 1995-05-26 | |
US08/450,154 | 1995-05-26 | ||
PCT/US1996/008101 WO1996038782A2 (en) | 1995-05-26 | 1996-05-24 | Apparatus and method for efficiently determining addresses for misaligned data stored in memory |
Publications (1)
Publication Number | Publication Date |
---|---|
KR970705076A true KR970705076A (ko) | 1997-09-06 |
Family
ID=23786990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970700553A KR970705076A (ko) | 1995-05-26 | 1996-05-24 | 메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 장치 및 방법(Apparatus and Method for Efficiently Determining Addresses for Misaligned Data Stored in Memory) |
Country Status (5)
Country | Link |
---|---|
US (1) | US5752273A (ko) |
EP (1) | EP0772819B1 (ko) |
KR (1) | KR970705076A (ko) |
DE (2) | DE69616718D1 (ko) |
WO (1) | WO1996038782A2 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003936A (en) * | 1997-07-31 | 1999-12-21 | Fleet Air Industries, Inc. | Sport-utility vehicle top |
US6289428B1 (en) * | 1999-08-03 | 2001-09-11 | International Business Machines Corporation | Superscaler processor and method for efficiently recovering from misaligned data addresses |
US6539467B1 (en) * | 1999-11-15 | 2003-03-25 | Texas Instruments Incorporated | Microprocessor with non-aligned memory access |
US6453405B1 (en) * | 2000-02-18 | 2002-09-17 | Texas Instruments Incorporated | Microprocessor with non-aligned circular addressing |
US6775758B2 (en) * | 2000-12-21 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Buffer page roll implementation for PCI-X block read transactions |
WO2002059779A1 (en) * | 2001-01-25 | 2002-08-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for optimised indexing records of static data with different lenghts |
KR100497671B1 (ko) * | 2002-07-08 | 2005-07-25 | 주식회사 인터와이즈 | 메모리 접근 위반 처리 방법 및 이를 위한 컴퓨터 시스템 |
US6973551B1 (en) * | 2002-12-30 | 2005-12-06 | Emc Corporation | Data storage system having atomic memory operation |
US20070106883A1 (en) * | 2005-11-07 | 2007-05-10 | Choquette Jack H | Efficient Streaming of Un-Aligned Load/Store Instructions that Save Unused Non-Aligned Data in a Scratch Register for the Next Instruction |
US9104399B2 (en) * | 2009-12-23 | 2015-08-11 | International Business Machines Corporation | Dual issuing of complex instruction set instructions |
US8082467B2 (en) * | 2009-12-23 | 2011-12-20 | International Business Machines Corporation | Triggering workaround capabilities based on events active in a processor pipeline |
US9135005B2 (en) * | 2010-01-28 | 2015-09-15 | International Business Machines Corporation | History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties |
US8495341B2 (en) * | 2010-02-17 | 2013-07-23 | International Business Machines Corporation | Instruction length based cracking for instruction of variable length storage operands |
US8938605B2 (en) * | 2010-03-05 | 2015-01-20 | International Business Machines Corporation | Instruction cracking based on machine state |
US8464030B2 (en) | 2010-04-09 | 2013-06-11 | International Business Machines Corporation | Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits |
US8645669B2 (en) | 2010-05-05 | 2014-02-04 | International Business Machines Corporation | Cracking destructively overlapping operands in variable length instructions |
US11048626B1 (en) * | 2020-02-21 | 2021-06-29 | Intel Corporation | Technology to ensure sufficient memory type range registers to fully cache complex memory configurations |
US11755324B2 (en) * | 2021-08-31 | 2023-09-12 | International Business Machines Corporation | Gather buffer management for unaligned and gather load operations |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR880013064A (ko) * | 1987-04-28 | 1988-11-29 | 이우에 사또시 | 어드레스 발생회로 |
US4814976A (en) * | 1986-12-23 | 1989-03-21 | Mips Computer Systems, Inc. | RISC computer with unaligned reference handling and method for the same |
JPH02127751A (ja) * | 1988-11-07 | 1990-05-16 | Yokogawa Electric Corp | ミスアラインメント処理回路 |
JPH02234227A (ja) * | 1989-03-08 | 1990-09-17 | Nec Corp | ミスアライメント処理方式 |
US5201043A (en) * | 1989-04-05 | 1993-04-06 | Intel Corporation | System using both a supervisor level control bit and a user level control bit to enable/disable memory reference alignment checking |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3916388A (en) * | 1974-05-30 | 1975-10-28 | Ibm | Shifting apparatus for automatic data alignment |
US4654781A (en) * | 1981-10-02 | 1987-03-31 | Raytheon Company | Byte addressable memory for variable length instructions and data |
US4507731A (en) * | 1982-11-01 | 1985-03-26 | Raytheon Company | Bidirectional data byte aligner |
US5321823A (en) * | 1988-07-20 | 1994-06-14 | Digital Equipment Corporation | Digital processor with bit mask for counting registers for fast register saves |
US5051894A (en) * | 1989-01-05 | 1991-09-24 | Bull Hn Information Systems Inc. | Apparatus and method for address translation of non-aligned double word virtual addresses |
CA1325288C (en) * | 1989-02-03 | 1993-12-14 | Ricky C. Hetherington | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system |
US5204953A (en) * | 1989-08-04 | 1993-04-20 | Intel Corporation | One clock address pipelining in segmentation unit |
US5259006A (en) * | 1990-04-18 | 1993-11-02 | Quickturn Systems, Incorporated | Method for substantially eliminating hold time violations in implementing high speed logic circuits or the like |
US5189319A (en) * | 1991-10-10 | 1993-02-23 | Intel Corporation | Power reducing buffer/latch circuit |
US5254888A (en) * | 1992-03-27 | 1993-10-19 | Picopower Technology Inc. | Switchable clock circuit for microprocessors to thereby save power |
US5471598A (en) * | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
US5404473A (en) * | 1994-03-01 | 1995-04-04 | Intel Corporation | Apparatus and method for handling string operations in a pipelined processor |
-
1996
- 1996-05-24 DE DE69616718A patent/DE69616718D1/de not_active Expired - Lifetime
- 1996-05-24 DE DE69616718T patent/DE69616718T4/de not_active Expired - Lifetime
- 1996-05-24 EP EP96917877A patent/EP0772819B1/en not_active Expired - Lifetime
- 1996-05-24 KR KR1019970700553A patent/KR970705076A/ko not_active Application Discontinuation
- 1996-05-24 WO PCT/US1996/008101 patent/WO1996038782A2/en not_active Application Discontinuation
-
1997
- 1997-05-23 US US08/863,092 patent/US5752273A/en not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814976A (en) * | 1986-12-23 | 1989-03-21 | Mips Computer Systems, Inc. | RISC computer with unaligned reference handling and method for the same |
US4814976C1 (en) * | 1986-12-23 | 2002-06-04 | Mips Tech Inc | Risc computer with unaligned reference handling and method for the same |
KR880013064A (ko) * | 1987-04-28 | 1988-11-29 | 이우에 사또시 | 어드레스 발생회로 |
JPH02127751A (ja) * | 1988-11-07 | 1990-05-16 | Yokogawa Electric Corp | ミスアラインメント処理回路 |
JPH02234227A (ja) * | 1989-03-08 | 1990-09-17 | Nec Corp | ミスアライメント処理方式 |
US5201043A (en) * | 1989-04-05 | 1993-04-06 | Intel Corporation | System using both a supervisor level control bit and a user level control bit to enable/disable memory reference alignment checking |
Also Published As
Publication number | Publication date |
---|---|
WO1996038782A2 (en) | 1996-12-05 |
EP0772819B1 (en) | 2001-11-07 |
US5752273A (en) | 1998-05-12 |
EP0772819A2 (en) | 1997-05-14 |
DE69616718T2 (de) | 2002-08-22 |
DE69616718D1 (de) | 2001-12-13 |
DE69616718T4 (de) | 2003-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970705076A (ko) | 메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 장치 및 방법(Apparatus and Method for Efficiently Determining Addresses for Misaligned Data Stored in Memory) | |
KR970012167A (ko) | 데이터 프리페치 방법, 캐시 라인 프리페치 방법 및 시스템 | |
KR890007162A (ko) | 데이타 처리장치 | |
KR890005740A (ko) | 선택적 개시 버스트를 구비한 버스 마스터 | |
KR870011524A (ko) | 마이크로프로세서칩의 스택프레임캐시 | |
KR910006856A (ko) | 어드레스 레지스터를 이용하여 동적으로 버스제어를 실행하는 마이크로컴퓨터 | |
KR840006526A (ko) | 데이타 처리장치에 있어서 오퍼레이팅 시스템 슈퍼바이저 방법 및 장치 | |
KR920003163A (ko) | 캐시 액세스와 병렬로 메모리 액세스를 수행하는 프로세서 및 그것에 의해 이용되는 방법 | |
KR980700612A (ko) | 프로세서가 전용 버스 또는 공유 버스를 통해 외부 구성요소를 액세스할 수 있도록 해 주는 방법 및 장치(a method and anapparatus for enabling a processor to access an external component through a private bus or a shared bus) | |
KR890017604A (ko) | 마이크로 컴퓨터 시스템 | |
KR920022117A (ko) | 메모리 억세스 장치 | |
KR920003181A (ko) | Dma 기능을 갖춘 정보처리 장치 | |
KR900006853A (ko) | 마이크로 프로세서 | |
KR960015238A (ko) | 명령프리페취회로 및 캐쉬장치 | |
KR900015003A (ko) | 데이타 프로세서 | |
KR930010742A (ko) | 메모리 억세스 장치 | |
KR920020322A (ko) | 명령처리장치 | |
KR940024599A (ko) | 데이타 요구방법 및 데이타 처리 시스템 | |
KR960011713A (ko) | 컴퓨터 시스템 및 캐시 히트/미스 판단 방법 | |
KR970066889A (ko) | 다중레벨 분기 예측 방법 및 장치 | |
KR950012226A (ko) | 정보 처리 시스템 및 그 동작 방법 | |
EP0387888A3 (en) | Microprocessor system having an extended address space | |
KR970705086A (ko) | 같은 클락 사이클 동안에 캐쉬 메모리와 외부 메모리 제어기로 메모리 요청을 하는 파이프라인 마이크로프로세서(A Pipelined Microprocessor that Makes Memory Requests to a Cache Memory and an external Memory Controller During the Same Clock Cycle) | |
KR860003550A (ko) | 비트연산처리방법 및 장치 | |
KR960018881A (ko) | 비트 필드 주변 장치 및 그것을 갖는 비트 필드 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |