Microprocessor architecture having extendible logic
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/46
G06F-009/38
G06F-005/01
G06F-009/30
G06F-009/32
G06F-011/36
G06F-015/78
G06F-012/08
출원번호
US-0222194
(2014-03-21)
등록번호
US-9003422
(2015-04-07)
발명자
/ 주소
Hakewill, James Robert Howard
Fuhler, Richard A.
출원인 / 주소
Synopsys, Inc.
대리인 / 주소
Fenwick & West LLP
인용정보
피인용 횟수 :
1인용 특허 :
139
초록▼
A microprocessor architecture having extendible logic. One or more customized applications are available to the instruction pipeline. The customizable applications may include software, extension logic instruction or register, dynamically configurable hardware logic, or combinations of these. In ord
A microprocessor architecture having extendible logic. One or more customized applications are available to the instruction pipeline. The customizable applications may include software, extension logic instruction or register, dynamically configurable hardware logic, or combinations of these. In order to enable the operating system to interface with the customized extension applications, at least one software extension is provided to the operating system. When a specific extension is requested a software exception is generated by the OS. In response to the exception, the least one software extension is called to handle context switch and dynamic configuration of the extendible logic of the microprocessor.
대표청구항▼
1. An extendible microprocessor system comprising: a microprocessor including a microprocessor instruction set; andan extension interface coupled to the microprocessor, the extension interface including customized processor instructions adding functionality to the microprocessor instruction set incl
1. An extendible microprocessor system comprising: a microprocessor including a microprocessor instruction set; andan extension interface coupled to the microprocessor, the extension interface including customized processor instructions adding functionality to the microprocessor instruction set included in the microprocessor, the customized processor instructions associated with an illegal instruction exception and an extension disabled exception, the illegal instruction exception indicating that access to one or more of the customized processor instructions is prohibited and the extension disabled exception indicating that one or more of the customized processor instructions is available;a system coupled to the microprocessor via the extension interface, the system configured to: generate, based on whether one of the customized processor instructions is required by a program, either the illegal instruction exception or the extension disabled extension when the one of the customized processor instructions is requested by the program; andperform, responsive to the extension disabled exception due to the program requiring the requested one of the customized processor instructions, context switching of data contained within the requested one of the customized processor instructions. 2. The extendible microprocessor system of claim 1, wherein the extension interface includes an interface configured to receive user definitions of extension instructions from a user. 3. The extendible microprocessor system of claim 1, wherein the extension interface includes an instruction flag interface configured to receive custom instruction flags used by the microprocessor to determine whether to execute a customized processor instruction using standard evaluators or custom extension evaluators. 4. The extendible microprocessor system of claim 1, wherein the extension interface further includes extension registers. 5. The extendible microprocessor system of claim 4, wherein the system is further configured to perform steps comprising: selectively disabling or enabling the customized processor instructions and the extension registers. 6. The extendible microprocessor system of claim 1, wherein the system is further configured to perform steps comprising: switching between the customized instructions. 7. The extendible microprocessor system of claim 6, wherein switching comprises the system performing steps including storing a current state of customized processor instructions for future calls to the customized processor instructions. 8. The extendible microprocessor system of claim 7, wherein storing comprises the system performing steps including performing lazy context switching. 9. The extendible microprocessor system of claim 6, wherein switching comprises the system performing steps including reconfiguring a block of reconfigurable logic connected to the extension interface. 10. The extendible microprocessor system according to claim 9, wherein switching comprises the system performing steps including storing a state of the reconfigurable logic for future calls. 11. The extendible microprocessor system according to claim 10, wherein storing comprises the system performing steps including performing lazy context switching. 12. The extendible microprocessor system according to claim 1, wherein the system is further configured to perform steps comprising: determining if a last use of the one of the customized processor instructions was by the program requesting the one of the customized processor instructions; andperforming a context switch if the one of the customized processor instructions was last used by a different program. 13. A method of selectively providing context switch support for extendible microprocessor logic of a microprocessor to a system executing on the microprocessor, the method comprising: providing, by the system, at least one software extension defining customized processor instructions that add functionality to a microprocessor instruction set included in the microprocessor, the customized processor instructions associated with an illegal instruction exception and an extension disabled exception, the illegal instruction exception indicating that access to at least one customized processor instruction is prohibited and the extension disabled exception indicating that the at least one customized processor instruction is available but access is currently disabled;causing the at least software extension to determine whether an exception generated responsive to a program requesting at least one of the customized processor instructions is either the illegal instruction exception or the extension disabled extension based on whether the at least one of the customized processor instructions being required by the program; andin response to the extension disabled exception due to the program requiring the at least one of the customized processor instructions, calling the at least one software extension to perform context switching of data contained within the at least one of the customized processor instructions. 14. The method according to claim 13, further comprising: selectively disabling or enabling access to the at least one of the customized processor instructions of the microprocessor. 15. The method according to claim 13, further comprising: switching between programs using the at least one of the customized processor instructions. 16. The method according to claim 15, wherein switching between the programs uses lazy context switching. 17. The method according to claim 16, wherein performing lazy context switching includes storing a state of the data contained within the at least one of the customized processor instructions. 18. The method according to claim 16, further comprising: determining if a last use of at least one of the customized processor instructions was by the program requesting the at least one of the customized processor instructions; andperforming a context switch if the at least one of the customized processor instructions was last used by a different program. 19. A system for selectively providing context switch support for extendible microprocessor logic of a microprocessor, the system including: a non-transitory computer-readable storage medium storing instructions, the instructions configured to: provide at least one software extension defining customized processor instructions that add functionality to a microprocessor instruction set included in the microprocessor, the customized processor instructions associated with an illegal instruction exception and an extension disabled exception, the illegal instruction exception indicating that access to at least one customized processor instruction is prohibited and the extension disabled exception indicating that the at least one customized processor instruction is available but access is currently disabled;cause the at least software extension to determine whether an exception generated responsive to a program requesting at least one of the customized processor instructions is either the illegal instruction exception or the extension disabled extension based on whether the at least one of the customized processor instructions being required by the program; andin response to the extension disabled exception due to the program requiring the at least one of the customized processor instructions, call the at least one software extension to perform context switching of data contained within the at least one of the customized processor instructions. 20. The system according to claim 19, wherein the instructions further configured to: selectively disable or enable access to the at least one of the customized processor instructions of the microprocessor.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (139)
Cooper Russ (Chandler AZ) Mitra Sumit (Tempe AZ), A/D converter with zero power mode.
Henry,G. Glenn; McDonald,Thomas C., Apparatus and method for densely packing a branch instruction predicted by a branch target address cache and associated target instructions into a byte-wide instruction buffer.
Henry, G. Glenn; McDonald, Thomas C., Apparatus and method for selectively accessing disparate instruction buffer stages based on branch target address cache hit and instruction stage wrap.
Gardner William R. ; Young Linley M. ; White Peter P., Apparatus and method for shutdown of wireless communications mobile station with multiple clocks.
Col, Gerard M.; Henry, G. Glenn; Jain, Dinesh K., Apparatus and method for speculatively updating global branch history with branch prediction prior to resolution of branch outcome.
Col Gerard M. ; Henry G. Glenn ; Jain Dinesh K., Apparatus and method for speculatively updating global history and restoring same on branch misprediction detection.
Earl A. Killian ; Ricardo E. Gonzalez ; Ashish B. Dixit ; Monica Lam ; Walter D. Lichtenstein ; Christopher Rowen ; John C. Ruttenberg ; Robert P. Wilson ; Albert Ren-Rui Wang ; Dror Eliezer, Automated processor generation system for designing a configurable processor and method for the same.
Mallick Soummya ; Loper Albert John, Automatic selection of branch prediction methodology for subsequent branch instruction based on outcome of previous bran.
Thayer John S. ; Thome Gary W. ; Favor John G. ; Weber Frederick D., Computer having multimedia operations executable as two distinct sets of operations within a single instruction cycle.
Puziol David L. (Sunnyvale CA) Van Dyke Korbin S. (Fremont CA) Widigen Larry (Salinas CA) Shar Len (Menlo Park CA) Smith ; III Walstein B. (San Jose CA), Configurable branch prediction for a processor performing speculative execution.
White Christopher E. ; Fourcroy Antone L., Detecting self-modifying code in a pipelined processor with branch processing by comparing latched store address to sub.
Andreas David C. (723 Southern Dr. West Chester PA 19380) Dattorro Jon (488 Lynetree Dr. West Chester PA 19380) Mauchly J. William (199 Cassatt Rd. Berwyn PA 19312), Digital signal processor for audio applications.
Raatz Donovan L. (New Germany MN) Sobelman Gerald E. (Minnetonka MN), Digital signal processor with delayed-evaluation array multipliers and low-power memory addressing.
Stamm Rebecca L. (Boston MA) Bahar R. Iris (Belmont MA) Callander Michael (Hudson MA) Chao Linda (Chelmsford MA) Meyer Derrick R. (Watertown MA) Sanders Douglas (Framingham MA) Sites Richard L. (Boyl, Error transition mode for multi-processor system.
Khim Yeoh Charles W. (Singapore SGX) Yue Ong David E. (Singapore SGX), Flexible register-based I/O microcontroller with single cycle instruction execution.
Bourekas Philip A. (San Jose CA) Mor Yeshayahu (Cupertino CA) Revak Scott (Castro Valley CA), Hardware control structure and method for off-chip monitoring entries of an on-chip cache.
Hsu, Wei C.; Benitez, Manuel, Hardware/software system for profiling instructions and selecting a trace using branch history information for branch predictions.
Guttag Karl M. (4015 S. Sandy Ct. Missouri City ; Fort Bend County TX 77459) Read Christopher J. (11807 Burlingame Houston ; Harris County TX 77099) Balmer Keith (6 Salcombe Close Bedfordshire County, Long instruction word controlling plural independent processor operations.
Hakewill, James Robert Howard; Khan, Mohammed Noshad; Plowman, Edward, Method and apparatus for managing the configuration and functionality of a semiconductor design.
Guenthner Russell W. (Glendale AZ) Shelly William A. (Phoenix AZ) Presley-Nelson Gary R. (San Francisco CA) Marietta Kala J. (Phoenix AZ) Wade R. Morse (Sunnyvale CA), Method and apparatus for prefetching instructions for a central execution pipeline unit.
Mowry Todd C. (Palo Alto CA) Killian Earl A. (Los Altos CA), Method and apparatus for reducing delays following the execution of a branch instruction in an instruction pipeline.
Fong Anthony S.,HKX, Method and apparatus to specify access control list and cache enabling and cache coherency requirement enabling on individual operands of an instruction of a computer.
Kamiya Ryo,JPX, Method and processor for selectively marking instructions as interruptible or uninterruptible and judging interrupt requests based on the marked instruction.
Bose Pradip ; Chan Kin Shing ; Le Hung Qui ; Wasmuth Robert Eric, Method and system for reducing average branch resolution time and effective misprediction penalty in a processor.
Boland Vernon K. ; Brasche Kevin R. ; Smith Kenneth A., Method for improving the execution efficiency of frequently communicating processes utilizing affinity process schedulin.
Reininger Russell (Austin TX) Ledbetter ; Jr. William B. (Austin TX), Method for refilling instruction queue by reading predetermined number of instruction words comprising one or more instr.
Panwar Ramesh ; Chamdani Joseph I., Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency.
Cai George Z. N. ; Shiell Jonathan H., Microprocessor circuits, systems, and methods for speculatively executing an instruction using its most recently used da.
Komoto Yasuhiko (Tokyo JPX) Kaneko Hiroaki (Tokyo JPX), Microprocessor having barrel shifter and direct path for directly rewriting output data of barrel shifter to its input.
Thayer John S. ; Favor John Gregory ; Weber Frederick D., Microprocessor modified to perform inverse discrete cosine transform operations on a one-dimensional matrix of numbers within a minimal number of instructions.
Kim Won S. (Fremont CA) Nickolls John R. (Los Altos CA), Parallel processor system with highly flexible local control capability, including selective inversion of instruction si.
Brown Paul J. (Poughkeepsie NY) Dugan Robert J. (Hyde Park NY) Guyette Richard R. (Hopewell Junction NY) Strong David L. (San Jose CA), Program instruction mechanism for shortened recursive handling of interruptions.
Douglas B. Hunt, Reducing branch prediction interference of opposite well behaved branches sharing history entry by static prediction correctness based updating.
Baror Gigy (Austin TX) Case Brian W. (Sunnyvale CA) Fleck Rod G. (Munich CA DEX) Freidin Philip M. (Sunnyvale CA) Gupta Smeeta (Saratoga CA) Johnson William M. (San Jose CA) Kong Cheng-Gang (Saratoga, Streamlined instruction processor.
Sowadsky Elliot A. (Santa Clara CA) Widigen Larry (Salinas CA) Puziol David L. (Sunnyvale CA) Van Dyke Korbin S. (Fremont CA), Superscalar execution unit for sequential instruction pointer updates and segment limit checks.
Bridges Jeffrey Todd ; Collopy Thomas K. ; Dieffenderfer James N. ; Irene Thomas Joseph ; Linzer Harry I. ; Sartorius Thomas Andrew, System and method for program execution tracing within an integrated processor.
Kuzara Eric J. (Colorado Springs CO) Blasciak Andrew J. (Colorado Springs CO) Parets Greg S. (Loveland CO), System for analyzing and debugging embedded software through dynamic and interactive use of code markers.
Seawright J. Andrew ; Verbrugghe Robert J. ; Meyer Wolfgang B. ; Pangrle Barry M. ; Holtmann Ulrich E. ; Shah Pradip C., System for frame-based protocol, graphical capture, synthesis, analysis, and simulation.
Rinkenberger Glenn Eric ; Oh William K. ; Harrison David Michael ; Perry Chuckwudi, System for monitoring program flow utilizing fixwords stored sequentially to opcodes.
Guttag Karl M. (Missouri City TX) Balmer Keith (Bedford GB2) Gove Robert J. (Plano TX) Read Christopher J. (Houston TX) Golston Jeremiah E. (Sugar Land TX) Poland Sydney W. (Katy TX) Ing-Simmons Nich, Three input arithmetic logic unit with mask generator.
Guttag Karl M. (Sugar Land TX) Balmer Keith (Bedford GB2) Gove Robert J. (Plano TX) Read Christopher J. (Houston TX) Golston Jeremiah E. (Sugar Land TX) Poland Sydney W. (Katy TX) Ing-Simmons Nichola, Three input arithmetic logic unit with mask generator.
Guttag Karl M. (Sugar Land TX) Balmer Keith (Bedford GB2) Gove Robert J. (Plano TX) Read Christopher J. (Houston TX) Golston Jeremiah E. (Sugar Land TX) Poland Sydney W. (Katy TX) Ing-Simmons Nichola, Three input arithmetic logic unit with shifting means at one input forming a sum/difference of two inputs logically ande.
Dubey Pradeep Kumar ; Olsson Brett ; Roth Charles Philip ; Diefendorf Keith Everett ; Hochsprung Ronald Ray ; Scales ; III Hunter Ledbetter, Wide shifting in the vector permute unit.
Pradeep Kumar Dubey ; Brett Olsson ; Charles Philip Roth ; Keith Everett Diefendorf ; Ronald Ray Hochsprung ; Hunter Ledbetter Scales, III, Wide shifting in the vector permute unit.
Bonanno, James J.; Prasky, Brian R.; Saporito, Anthony; Shum, Chung-Lung K., Mitigating instruction prediction latency with independently filtered presence predictors.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.