KR100586057B1 - 프리디코드 정보를 저장하기 위해 ecc/패리티 비트들의 이용 - Google Patents
프리디코드 정보를 저장하기 위해 ecc/패리티 비트들의 이용 Download PDFInfo
- Publication number
- KR100586057B1 KR100586057B1 KR1020007014659A KR20007014659A KR100586057B1 KR 100586057 B1 KR100586057 B1 KR 100586057B1 KR 1020007014659 A KR1020007014659 A KR 1020007014659A KR 20007014659 A KR20007014659 A KR 20007014659A KR 100586057 B1 KR100586057 B1 KR 100586057B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- predecode
- instruction
- information
- level
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012937 correction Methods 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims 2
- 239000000872 buffer Substances 0.000 description 34
- 230000008707 rearrangement Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
- G06F9/30152—Determining start or end of instruction; determining instruction length
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Detection And Correction Of Errors (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
EP-A-0 651 324는 가변 바이트 길이 명령에 대한 추론적 명령 큐를 개시한다. 상기 큐 내의 각 바이트 위치는 상기 명령 정보에 대한 유효 비트를 포함한다. 시작 바이트, 종료 바이트 및 연산코드(opcode) 바이트를 나타내는 프리디코드 비트들 또한 개시된다.
1994년 12월, 아이비엠(IBM) 기술 설명 보고서, 37권, 제 12호에 발표된 제목이 "고속 프로세서들의 이중 온-칩 명령 캐시 구성(Dual On-Chip Instruction Cache Organization in High Speed Processors)"은 서로 다른 구성을 갖는 2개의 온칩 캐시들을 개시한다. 제 2 캐시는 캐시 미스 레이트(cache miss rate)를 최소화하기 위해 디자인이 허용하는한 크게 설계된다. 2개의 캐시들은 모두 각 주기 마다 액세스된다.
x86 명령 세트에 대해 기록된 소프트웨어 애플리케이션들의 수는 상당히 많다. 결과적으로, 보다 새롭고 보다 진보한 명령 세트들의 도입에도 불구하고, 마이크로프로세서 설계자들은 계속해서 마이크로프로세서들이 상기 x86 명령 세트를 실행할 수 있도록 설계해왔다.
각 기능 유닛들(24) 역시 조건부 분기 명령들의 실행에 관한 정보들을 상기 분기 예측 유닛(14)에 제공한다. 만일 분기 예측이 틀리다면, 그로 인해, 분기 예측 유닛(14)은 명령 처리 파이프라인에 들어간 오예측된 분기에 후속하는 명령들을 버리게 되고, 명령 캐시(16) 또는 주 메모리로부터 상기 요구된 명령들을 페치하게 된다. 주목할 사항으로서, 이러한 경우, 본래 프로그램 순서에서 상기 오예측된 분기 명령 다음에 발생하는 명령들의 결과들이, 추론적으로 실행되었던 것들과 적재/저장 유닛(26) 및 재배열 버퍼(32)에 임시로 저장되었던 것들을 포함하여 모두 버려진다.
서버들과 같은 고급 말단 시스템들은 전형적으로 패리티와 ECC를 지원하겠지만, 중저급 시스템 설계자들은 이러한 특징들을 활성화 시키지 않는데, 이는 데이터 에러가 발생할 가능성이 비교적 낮기 때문이다. 이러한 시스템들에서, 레벨 2 캐시들의 상기 패리티 및 ECC 비트들은 프리디코드 정보를 저장하는데 이용될 수 있다. 이는 시스템 레벨에서 광범위한 하드웨어 변경 없이 성능을 개선할 수 있어 유리하다.
버스 브리지(202)는 마이크로프로세서(10), 주 메모리(204), 그래픽 콘트롤러(208), 그리고 PCI 버스(214)에 부착된 디바이스들 간에 인터페이스를 제공한다. 버스 브리지(202)와 연결된 어떤 디바이스들 중 하나에서 연산이 수신되면, 버스 브리지(202)는 상기 연산의 타겟(예를 들어, 특정 디바이스 또는 PCI 버스(214)의 경우, 그 타겟이 PCI 버스(214)에 있는 특정 디바이스)를 식별한다. 버스 브리지(202)는 상기 연산을 상기 타겟 디바이스로 라우팅한다. 버스 브리지(202)는 일반적으로 소스 디바이스 또는 버스에 의해 이용되는 프로토콜로부터 상기 타겟 디바이스 또는 버스에 의해 이용되는 프로토콜로 연산을 변환한다.
Claims (25)
- 마이크로프로세서에 있어서,레벨 2 캐시(50)로부터 명령 바이트들을 수신하고 대응하는 프리디코드 정보를 발생시키도록 구성된 프리디코드 유닛과; 그리고상기 프리디코드 유닛에 결합된 명령 캐시를 포함하며,상기 명령 캐시는 상기 프리디코드 유닛으로부터 상기 프리디코드 정보와 상기 명령 바이트들을 수신 및 저장하고, 상기 명령 바이트들 및 상기 프리디코드 정보가 오버라이트는 것에 응답하여 레벨 2 캐시 내에 저장하기 위해 상기 프리디코드 정보의 적어도 일부를 출력하며, 그리고 상기 레벨 2 캐시는 패리티 정보를 저장하도록 지정된 저장 위치들 내에 상기 프리디코드 정보를 저장하는 것을 특징으로 하는 마이크로프로세서.
- 제 1 항에 있어서, 상기 프리디코드 유닛은 또한, 상기 레벨 2 캐시로부터 상기 명령 바이트에 대응하는 프리디코드 정보를 수신하도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제 1 항에 있어서, 상기 프리디코드 정보는 시작 비트들, 종료 비트들 및 연산코드 비트들 중에서 하나 이상을 포함하는 것을 특징으로 하는 마이크로프로세서.
- 제 1 항에 있어서, 상기 프리디코드 정보는 명령 길이 정보를 포함하는 것을 특징으로 하는 마이크로프로세서.
- 제 1 항에 있어서, 상기 프리디코드 유닛은, 소정의 무효화 상수와 동일한 프리디코드 정보를 상기 레벨 2 캐시로부터 수신할 때, 상기 명령 바이트들에 대한 프리디코드 정보를 발생시키도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제 5 항에 있어서, 상기 레벨 2 캐시에 결합되며, 주 메모리로부터 수신되는 명령 바이트들의 검출시에 상기 레벨 2 캐시 내에 상기 무효화 상수를 저장하도록 구성되는 제어 유닛을 더 포함하는 것을 특징으로 하는 마이크로프로세서.
- 마이크로프로세서에 있어서,레벨 2 캐시로부터 명령 바이트들을 수신하고 대응하는 프리디코드 정보를 발생시키도록 구성된 프리디코드 유닛과; 그리고상기 프리디코드 유닛과 연결되는 명령 캐시를 포함하며;상기 명령 캐시는 상기 프리디코드 유닛으로부터 상기 프리디코드 정보와 상기 명령 바이트들을 수신 및 저장하고, 상기 명령 바이트들과 상기 프리디코드 정보가 오버라이트되는 것에 응답하여 상기 레벨 2 캐시 내에 저장하기 위해 상기 프리디코드 정보의 적어도 일부를 출력하며, 그리고 상기 레벨 2 캐시는 에러 검사 및 정정(ECC) 정보를 저장하도록 지정된 저장 위치들에 상기 프리디코드 정보를 저장하는 것을 특징으로 하는 마이크로프로세서.
- 제 7 항에 있어서, 상기 프리디코드 유닛은 또한, 상기 레벨 2 캐시로부터 상기 명령 바이트에 대응하는 프리디코드 정보를 수신하도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제 7 항에 있어서, 상기 프리디코드 정보는 시작 비트들, 종료 비트들 및 연산코드 비트들 중 하나 이상을 포함하는 것을 특징으로 하는 마이크로프로세서.
- 제 7 항에 있어서, 상기 프리디코드 정보는 명령 길이 정보를 포함하는 것을 특징으로 하는 마이크로프로세서.
- 제 7 항에 있어서, 상기 프리디코드 유닛은, 소정의 무효화 상수와 동일한 프리디코드 정보를 상기 레벨 2 캐시로부터 수신할 때, 상기 명령 바이트들에 대한 프리디코드 정보를 발생시키도록 구성되는 것을 특징으로 하는 마이크로프로세서.
- 제 11 항에 있어서, 상기 레벨 2 캐시에 결합되고, 주 메모리로부터 수신되는 명령 바이트들의 검출시에 상기 레벨 2 캐시 내에 상기 무효화 상수를 저장하도록 구성되는 제어 유닛을 더 포함하는 것을 특징으로 하는 마이크로프로세서.
- 주 시스템 메모리로부터 명령 바이트들을 판독하는 단계와;상기 명령 바이트들에 대응하는 프리디코드 정보를 발생시키는 단계와;상기 명령 바이트들과 프리디코드 정보를 명령 캐시에 저장하는 단계와; 그리고상기 프리디코드 정보에 대응하는 명령 바이트들이 상기 명령 캐시 내에서 오버라이트될 때 상기 프리디코드 정보의 적어도 일부를 저장을 위해 레벨 2 캐시로 출력하는 단계를 포함하며,상기 출력 단계는 패리티 정보를 저장하도록 구성된 저장 위치들 내에 저장하기 위해 상기 레벨 2 캐시로 상기 프리디코드 정보를 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 13 항에 있어서, 상기 발생시키는 단계는 상기 명령 바이트들에 대한 프리디코드 비트들, 즉 시작 비트들, 종료 비트들 및 연산코드 비트들 중 하나 이상을 발생시키는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 13 항에 있어서, 상기 레벨 2 캐시 내에 무효화 상수를 저장함으로써 상기 레벨 2 캐시 내에 저장된 프리디코드 정보를 초기화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 13 항에 있어서, 대응하는 상기 명령 바이트들이 변경되는 경우 상기 프리디코드 정보를 재계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 주 시스템 메모리로부터 명령 바이트들을 판독하는 단계와;상기 명령 바이트들에 대응하는 프리디코드 정보를 발생시키는 단계와;상기 명령 바이트들과 프리디코드 정보를 명령 캐시에 저장하는 단계와; 그리고상기 프리디코드 정보에 대응하는 상기 명령 바이트들이 상기 명령 캐시에서 오버라이트될 때, 저장을 위해 상기 프리디코드 정보의 적어도 일부를 상기 레벨 2 캐시로 출력하는 단계를 포함하며,상기 출력 단계는 에러 검사 및 정정(ECC) 정보를 저장하도록 구성된 저장 위치들(60) 내에 저장하기 위해 상기 레벨 2 캐시로 상기 프리디코드 정보를 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 17 항에 있어서, 상기 발생하는 단계는 명령 바이트들에 대한 프리디코드 비트들, 즉 시작 비트들, 종료 비트들 및 연산코드 비트들 중 하나 이상을 발생시키는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 17 항에 있어서, 상기 레벨 2 캐시 내에 상기 무효화 상수를 저장함으로써 상기 레벨 2 캐시 내에 저장된 프리디코드 정보를 초기화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 17 항에 있어서, 대응하는 상기 명령 바이트들이 변경되는 경우 상기 프리디코드 정보를 재계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 다수의 캐시 메모리들을 구비하는 컴퓨터 시스템의 운영 방법으로서,명령 프리디코드 정보를 제 1 캐시 메모리 내에 저장하는 단계와;상기 제 1 캐시 메모리 내의 구(old) 캐시 엔트리에 새로운 캐시 엔트리를 기록하는 단계와; 그리고상기 구 캐시 엔트리에 대응하는 상기 명령 프리디코드 정보를 상기 제 1 캐시로부터 제 2 캐시 메모리의 에러 검사 및 정정부에 세이브(save)하는 단계를 포함하는 것을 특징으로 하는 다수의 캐시 메모리들을 구비하는 컴퓨터 시스템의 운영 방법.
- 제 21 항에 있어서, 상기 제 2 캐시 메모리의 상기 에러 검사 및 정정부는 상기 제 2 캐시 메모리의 패리티부인 것을 특징으로 하는 다수의 캐시 메모리들을 구비하는 컴퓨터 시스템의 운영 방법.
- 제 21 항에 있어서, 상기 명령 프리디코드 정보는 시작 비트들, 종료 비트들 및 연산코드 비트들 중 하나 이상을 포함하는 것을 특징으로 하는 다수의 캐시 메모리들을 구비하는 컴퓨터 시스템의 운영 방법.
- 레벨 2 캐시와; 상기 레벨 2 캐시에 결합된 마이크로프로세서를 포함하는 컴퓨터 시스템으로서,상기 마이크로프로세서는:상기 레벨 2 캐시로부터 명령 바이트들을 수신하고 대응하는 프리디코드 정보를 발생시키는 프리디코드 유닛과; 그리고상기 프리디코드 유닛으로부터 상기 명령 바이트들 및 상기 프리디코드 정보를 수신 및 저장하는 명령 캐시를 포함하며,상기 명령 캐시는 상기 명령 바이트들이 오버라이트될 때 상기 레벨 2 캐시 내에 저장하기 위해 상기 대응하는 프리디코드 정보의 적어도 일부를 출력하며, 상기 레벨 2 캐시는 복수의 명령 저장 위치들 및 대응하는 복수의 에러 검사 및 정정(ECC) 저장 위치들을 포함하며, 상기 레벨 2 캐시는 상기 ECC 저장 위치들 내에 상기 프리디코드 정보를 저장하는 것을 특징으로 하는 컴퓨터 시스템.
- 제 24 항에 있어서, 상기 ECC 저장 위치들은 패리티 저장 위치들인 것을 특징으로 하는 컴퓨터 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/103,956 | 1998-06-24 | ||
US09/103,956 US6092182A (en) | 1998-06-24 | 1998-06-24 | Using ECC/parity bits to store predecode information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010025123A KR20010025123A (ko) | 2001-03-26 |
KR100586057B1 true KR100586057B1 (ko) | 2006-06-07 |
Family
ID=22297907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007014659A KR100586057B1 (ko) | 1998-06-24 | 1999-01-25 | 프리디코드 정보를 저장하기 위해 ecc/패리티 비트들의 이용 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6092182A (ko) |
EP (1) | EP1090345B1 (ko) |
JP (1) | JP3836322B2 (ko) |
KR (1) | KR100586057B1 (ko) |
DE (1) | DE69902392T2 (ko) |
WO (1) | WO1999067705A1 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401118B1 (en) * | 1998-06-30 | 2002-06-04 | Online Monitoring Services | Method and computer program product for an online monitoring search engine |
US6460132B1 (en) * | 1999-08-31 | 2002-10-01 | Advanced Micro Devices, Inc. | Massively parallel instruction predecoding |
US6463506B1 (en) | 2000-04-29 | 2002-10-08 | Hewlett-Packard Company | Arrangement of data within cache lines so that tags are first data received |
RU2004115730A (ru) * | 2000-11-27 | 2005-02-27 | Макровижн Юроп Лимитед (Gb) | Диск dvd с защитой от копирования и способ его производства и проверки достоверности |
US6804799B2 (en) * | 2001-06-26 | 2004-10-12 | Advanced Micro Devices, Inc. | Using type bits to track storage of ECC and predecode bits in a level two cache |
US7043679B1 (en) | 2002-06-27 | 2006-05-09 | Advanced Micro Devices, Inc. | Piggybacking of ECC corrections behind loads |
US7415638B2 (en) * | 2004-11-22 | 2008-08-19 | Qualcomm Incorporated | Pre-decode error handling via branch correction |
US7421568B2 (en) * | 2005-03-04 | 2008-09-02 | Qualcomm Incorporated | Power saving methods and apparatus to selectively enable cache bits based on known processor state |
US20080148020A1 (en) * | 2006-12-13 | 2008-06-19 | Luick David A | Low Cost Persistent Instruction Predecoded Issue and Dispatcher |
US7945763B2 (en) * | 2006-12-13 | 2011-05-17 | International Business Machines Corporation | Single shared instruction predecoder for supporting multiple processors |
US8001361B2 (en) * | 2006-12-13 | 2011-08-16 | International Business Machines Corporation | Structure for a single shared instruction predecoder for supporting multiple processors |
US7840786B2 (en) * | 2007-04-16 | 2010-11-23 | Advanced Micro Devices, Inc. | Techniques for storing instructions and related information in a memory hierarchy |
US8898437B2 (en) * | 2007-11-02 | 2014-11-25 | Qualcomm Incorporated | Predecode repair cache for instructions that cross an instruction cache line |
US7814300B2 (en) | 2008-04-30 | 2010-10-12 | Freescale Semiconductor, Inc. | Configurable pipeline to process an operation at alternate pipeline stages depending on ECC/parity protection mode of memory access |
US8291305B2 (en) * | 2008-09-05 | 2012-10-16 | Freescale Semiconductor, Inc. | Error detection schemes for a cache in a data processing system |
US8145985B2 (en) | 2008-09-05 | 2012-03-27 | Freescale Semiconductor, Inc. | Error detection schemes for a unified cache in a data processing system |
US8356239B2 (en) * | 2008-09-05 | 2013-01-15 | Freescale Semiconductor, Inc. | Selective cache way mirroring |
US8364896B2 (en) * | 2008-09-20 | 2013-01-29 | Freescale Semiconductor, Inc. | Method and apparatus for configuring a unified cache based on an associated error rate |
US8316186B2 (en) * | 2008-09-20 | 2012-11-20 | Freescale Semiconductor, Inc. | Method and apparatus for managing cache reliability based on an associated error rate |
US8266498B2 (en) * | 2009-03-31 | 2012-09-11 | Freescale Semiconductor, Inc. | Implementation of multiple error detection schemes for a cache |
US9608826B2 (en) | 2009-06-29 | 2017-03-28 | Jpmorgan Chase Bank, N.A. | System and method for partner key management |
US9218286B2 (en) * | 2012-09-27 | 2015-12-22 | Apple Inc. | System cache with partial write valid states |
US20140244932A1 (en) * | 2013-02-27 | 2014-08-28 | Advanced Micro Devices, Inc. | Method and apparatus for caching and indexing victim pre-decode information |
US9348598B2 (en) | 2013-04-23 | 2016-05-24 | Arm Limited | Data processing apparatus and method for pre-decoding instructions to be executed by processing circuitry |
US9710324B2 (en) | 2015-02-03 | 2017-07-18 | Qualcomm Incorporated | Dual in-line memory modules (DIMMs) supporting storage of a data indicator(s) in an error correcting code (ECC) storage unit dedicated to storing an ECC |
US10296416B2 (en) | 2016-07-02 | 2019-05-21 | Intel Corporation | Read from memory instructions, processors, methods, and systems, that do not take exception on defective data |
US10291258B2 (en) | 2017-05-25 | 2019-05-14 | Advanced Micro Devices, Inc. | Error correcting code for correcting single symbol errors and detecting double bit errors |
US20220100516A1 (en) * | 2020-09-26 | 2022-03-31 | Intel Corporation | Circuitry and methods for power efficient generation of length markers for a variable length instruction set |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0651324A1 (en) * | 1993-10-29 | 1995-05-03 | Advanced Micro Devices, Inc. | Speculative instruction queue for variable byte length instructions |
EP0798632A2 (en) * | 1996-03-25 | 1997-10-01 | Sun Microsystems, Inc. | Branch prediction method and apparatus in a multi-level cache system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4747043A (en) * | 1984-02-10 | 1988-05-24 | Prime Computer, Inc. | Multiprocessor cache coherence system |
JPS62151971A (ja) * | 1985-12-25 | 1987-07-06 | Nec Corp | マイクロ・プロセツサ装置 |
US5214769A (en) * | 1987-12-24 | 1993-05-25 | Fujitsu Limited | Multiprocessor control system |
US5265004A (en) * | 1991-10-15 | 1993-11-23 | Allen-Bradley Company, Inc. | Sequence controller with combinatorial Boolean logic |
DE69429061T2 (de) * | 1993-10-29 | 2002-07-18 | Advanced Micro Devices Inc | Superskalarmikroprozessoren |
US5689672A (en) * | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
US5721854A (en) * | 1993-11-02 | 1998-02-24 | International Business Machines Corporation | Method and apparatus for dynamic conversion of computer instructions |
US5752264A (en) * | 1995-03-31 | 1998-05-12 | International Business Machines Corporation | Computer architecture incorporating processor clusters and hierarchical cache memories |
US5828895A (en) * | 1995-09-20 | 1998-10-27 | International Business Machines Corporation | Methods and system for predecoding instructions in a superscalar data processing system |
US5819067A (en) * | 1996-02-23 | 1998-10-06 | Advanced Micro Devices, Inc. | Computer system configured to translate a computer program into a second computer program prior to executing the computer program |
US5748978A (en) * | 1996-05-17 | 1998-05-05 | Advanced Micro Devices, Inc. | Byte queue divided into multiple subqueues for optimizing instruction selection logic |
-
1998
- 1998-06-24 US US09/103,956 patent/US6092182A/en not_active Expired - Lifetime
-
1999
- 1999-01-25 JP JP2000556301A patent/JP3836322B2/ja not_active Expired - Lifetime
- 1999-01-25 EP EP99903349A patent/EP1090345B1/en not_active Expired - Lifetime
- 1999-01-25 KR KR1020007014659A patent/KR100586057B1/ko not_active IP Right Cessation
- 1999-01-25 WO PCT/US1999/001466 patent/WO1999067705A1/en active IP Right Grant
- 1999-01-25 DE DE69902392T patent/DE69902392T2/de not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0651324A1 (en) * | 1993-10-29 | 1995-05-03 | Advanced Micro Devices, Inc. | Speculative instruction queue for variable byte length instructions |
EP0798632A2 (en) * | 1996-03-25 | 1997-10-01 | Sun Microsystems, Inc. | Branch prediction method and apparatus in a multi-level cache system |
Also Published As
Publication number | Publication date |
---|---|
JP2002519755A (ja) | 2002-07-02 |
EP1090345B1 (en) | 2002-07-31 |
EP1090345A1 (en) | 2001-04-11 |
DE69902392T2 (de) | 2003-03-20 |
WO1999067705A1 (en) | 1999-12-29 |
US6092182A (en) | 2000-07-18 |
JP3836322B2 (ja) | 2006-10-25 |
DE69902392D1 (de) | 2002-09-05 |
KR20010025123A (ko) | 2001-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100586057B1 (ko) | 프리디코드 정보를 저장하기 위해 ecc/패리티 비트들의 이용 | |
KR100884351B1 (ko) | 타입 비트들을 이용한, 레벨 2 캐시에서의 ecc 및프리디코드 비트들의 저장 추적 | |
US6041405A (en) | Instruction length prediction using an instruction length pattern detector | |
US6279106B1 (en) | Method for reducing branch target storage by calculating direct branch targets on the fly | |
US6427192B1 (en) | Method and apparatus for caching victimized branch predictions | |
US6519682B2 (en) | Pipelined non-blocking level two cache system with inherent transaction collision-avoidance | |
US6125441A (en) | Predicting a sequence of variable instruction lengths from previously identified length pattern indexed by an instruction fetch address | |
US6349365B1 (en) | User-prioritized cache replacement | |
US6151662A (en) | Data transaction typing for improved caching and prefetching characteristics | |
US6571318B1 (en) | Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism | |
US6510508B1 (en) | Translation lookaside buffer flush filter | |
US7213126B1 (en) | Method and processor including logic for storing traces within a trace cache | |
US6088789A (en) | Prefetch instruction specifying destination functional unit and read/write access mode | |
EP0795828A2 (en) | Dynamic set prediction method and apparatus for a multi-level cache system | |
US6157986A (en) | Fast linear tag validation unit for use in microprocessor | |
KR100698493B1 (ko) | 좁은 피연산자들에서 계산을 수행하는 방법 및 장치 | |
US6542986B1 (en) | Resolving dependencies among concurrently dispatched instructions in a superscalar microprocessor | |
US6240506B1 (en) | Expanding instructions with variable-length operands to a fixed length | |
US20030074530A1 (en) | Load/store unit with fast memory data access mechanism | |
US7133975B1 (en) | Cache memory system including a cache memory employing a tag including associated touch bits | |
US6460132B1 (en) | Massively parallel instruction predecoding | |
US6212621B1 (en) | Method and system using tagged instructions to allow out-of-program-order instruction decoding | |
US6446189B1 (en) | Computer system including a novel address translation mechanism | |
US5951671A (en) | Sharing instruction predecode information in a multiprocessor system | |
US6704854B1 (en) | Determination of execution resource allocation based on concurrently executable misaligned memory operations |
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: 20130429 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140508 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150430 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160427 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170504 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180427 Year of fee payment: 13 |
|
EXPY | Expiration of term |