IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0549733
(2000-04-14)
|
발명자
/ 주소 |
|
출원인 / 주소 |
- Stratus Technologies Bermuda Ltd.
|
대리인 / 주소 |
Testa, Hurwitz & Thibeault, LLP
|
인용정보 |
피인용 횟수 :
21 인용 특허 :
80 |
초록
▼
A method for deterministically booting a computer system having redundant components includes the step of selecting hardware and software components. The selected components are booted in a manner consistent with traditional computer systems. If the boot fails, a different set of components is selec
A method for deterministically booting a computer system having redundant components includes the step of selecting hardware and software components. The selected components are booted in a manner consistent with traditional computer systems. If the boot fails, a different set of components is selected and an attempt is made to boot those components traditionally. In one embodiment, the hardware and software components are a processor and an input/output controller. A corresponding apparatus is also discussed.
대표청구항
▼
A method for deterministically booting a computer system having redundant components includes the step of selecting hardware and software components. The selected components are booted in a manner consistent with traditional computer systems. If the boot fails, a different set of components is selec
A method for deterministically booting a computer system having redundant components includes the step of selecting hardware and software components. The selected components are booted in a manner consistent with traditional computer systems. If the boot fails, a different set of components is selected and an attempt is made to boot those components traditionally. In one embodiment, the hardware and software components are a processor and an input/output controller. A corresponding apparatus is also discussed. tions and storing a result in the first reorder buffer, wherein storing the result includes marking the result with a tag associating the result with the first thread; reading second instructions and second operands associated with the second thread from the second reorder buffer; and executing one of the second instructions and storing a result in the second reorder buffer, wherein storing the result includes marking the result with a tag associating the result with the second thread. 14. The method of claim 13, wherein the method further includes providing a first execution unit, and wherein executing one of the first or one of the second instructions includes executing in the first execution unit. 15. The method of claim 14, wherein the first execution unit includes a floating point unit. 16. The method of claim 15, the method further including providing a second execution unit, and wherein executing one of the first or one of the second instructions includes executing in the second execution unit. 17. The method of claim 16, wherein the second execution unit includes a memory order buffer. 18. The method of claim 17, the method further including providing an instruction pipeline. 19. The method of claim 18, wherein executing one of the second instructions includes allocating the first and second execution units to the second instruction if the first thread stalls in the instruction pipeline. 20. The method of claim 18, wherein executing one of the second instructions includes allocating the first and second execution units to the second instruction if the first thread is flushed from the instruction pipeline. 21. The method of claim 18, wherein the method further includes: providing a first and second instruction fetch/decode units, wherein the first instruction fetch/decode unit is associated with the first thread and the second instruction fetch/decode unit is associated with the second thread; and spacing the instruction fetch/decode units evenly around the instruction pipeline. 22. The method of claim 18, wherein executing one of the first or one of the second instructions includes the first and second threads prioritizing instructions within its thread. 23. The method of claim 22, wherein prioritizing instructions includes increasing a priority of an instruction when the instruction completes a loop around the instruction pipeline. 24. The method of claim 22, wherein an instruction is assigned a priority during compilation based on a dependency of other instructions. 25. A method comprising, providing a plurality of reorder buffers and execution units to manage a flow of instructions in a processor, each reorder buffer associated with an execution unit; allocating an entry for an instruction in a reorder buffer; tagging the instruction with a reorder buffer identifier to indicate the reorder buffer to which it is dispatched; executing the instruction when operands for the instruction are available; and updating other instructions in the reorder buffer based on the tags of the executing instructions. 26. The method of claim 25, wherein updating other instructions includes updating a valid bit for results. 27. The method of claim 25, wherein the instruction is allocated based on the availability of the reorder buffers. 28. The method of claim 25, wherein the instruction is allocated based on the availability of the execution units. 29. The method of claim 25, wherein the instruction is allocated based on the ability of the execution units to execute a type of instruction. 30. The method of claim 25, wherein executing the instruction includes multiplexing values of operands into the execution unit. 31. The method of claim 25, wherein executing the instructions when the operands are available includes: sending a read request to the reorder buffers that hold the operands; and multiplexing the values into the execution unit. 32. The method of claim 25, wherein executing the instructions when the ope rands are available includes: writing all operands to a register alias table when computed; and reading the register alias table to determine if the operands have been computed. 33. A processor comprising: an instruction pipeline; and a results pipeline, wherein the instruction pipeline and the results pipeline are counter rotating queues; a first execution unit in communication with the results and instruction pipelines; a plurality of threads including a first and second thread; a first and a second reorder buffer, the first reorder buffer associated with the first thread and the second reorder buffer associated with the second thread; and a first instruction fetch/decode unit. 34. The processor of claim 33, further including a second instruction fetch/decode unit, wherein the first instruction fetch/decode unit is associated with the first thread and the second instruction fetch/decode unit is associated with the second thread. 35. The processor of claim 34, wherein the first and second fetch/decode units are spaced evenly at first and second locations around the instruction and results pipelines. 36. The processor of claim 33, wherein instructions are multiplexed from the first instruction fetch/decode unit into the first and second threads. 37. The processor of claim 36, wherein instructions from the first fetch/decode unit are multiplexed into points spaced evenly at first and second locations around the instruction and results pipelines. 38. The processor of claim 37 further including a second execution unit, wherein the first and second execution unit are spaced evenly around the instruction and results pipeline. 39. The processor of claim 38, wherein instructions include a tag associating the instruction with a thread.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.