1. In a computer system having a plurality of threads, including a first and second thread, a method of executing more than one thread at a time, the method comprising: providing a first and a second reorder buffer; reading first instructions and first operands associated with the first thread from the first reorder buffer; executing one of the first instructions 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.