← Back to Patent Explorer
US5611045A Expired / Lapsed US ⏱️ 0.0 years remaining

Detecting the presence of a device on a computer system bus by measuring the response time of data signals on the bus, and maximizing system performance based on that response time

Assignee: Hewlett Packard Development Co LP
•
Filing: 1993-10-29
•
Granted: 1997-03-11
•
Expires: 2013-10-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system determines the presence of a device attached to a system bus that responds to I/O or memory reads by driving the data lines of that bus to values normally present on an undriven bus. The data bus is first driven to a value other than its undriven value, such as to 00h. Then, circuitry measures the time it takes on an I/O or memory read for the data bus to return to its normally undriven value. If the response time is less than the time it takes for an undriven data bus to return to its undriven state, then an expansion board is driving the data bus to its normally undriven value. This indicates that the expansion board is responding to an I/O or memory read on the data bus, even though it is responding by driving that bus to its normally undriven value. Further, by determining the maximum response time of a device, system performance is then improved by tuning cycle time to correspond to that maximum response time.

Inventors

  • 👤 Barry S. Basile

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 19:27
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/42; G06F13/4204; G06F13/4208; G06F13/4217; G06F13/40; G06F13/4063; G06F13/4068

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 150 words
A method of determining if a device is driving data lines on a bus in response to a read operation in a system with a processor for initiating read operations and with the bus having the data lines, address lines, and control lines, all of which carry signals, the method comprising the steps of: (1) driving a first predetermined value onto at least one of the data lines for a first period of a read operation; (2) monitoring the signal on said at least one of the data lines after completion of step (1); and (3) timing a period from said driving step (1) until the signal on said at least one of the data lines changes to a second predetermined value, and wherein said first predetermined value is zero and said second predetermined value is a value corresponding to all of the monitored signals of step (2) equalling one.
Claim 2
Independent Claim 150 words
A method of determining if a device is driving data lines on a bus in response to a read operation in a system with a processor for initiating read operations and with the bus having the data lines, address lines, and control lines, all of which carry signals, the method comprising the steps of: (1) driving a first predetermined value onto at least one of the data lines for a first period of a read operation; (2) monitoring the signal on said at least one of the data lines after completion of step (1); and (3) timing a period from said driving step (1) until the signal on said at least one of the data lines changes to a second predetermined value, and wherein said first predetermined value is zero and said second predetermined value is a value corresponding to all of the monitored signals of step (2) equalling one.
Claim 3
Independent Claim 213 words
A method of determining if a device is driving data lines on a bus in response to a read operation in a system with a processor for initiating read operations and with the bus having the data lines, address lines, and control lines, all of which carry signals, the method comprising the steps of: (1) driving a first predetermined value onto at least one of the data lines for a first period of a read operation; (2) monitoring the signal on said at least one of the data lines after completion of step (1); (3) timing a period from said driving step (1) until the signal on said at least one of the data lines changes to a second predetermined value; before step (1), storing a value indicative of the period until said at least one of the data lines changes to said second predetermined value when the data lines are undriven; and after step (3), comparing the period timed by step (3) with said stored value for when the data lines are undriven and if the time of step (3) is shorter than the stored value for when the data lines are undriven, indicating that a device has driven at least one of the data lines in response to the read operation.
Claim 4
Independent Claim 213 words
A method of determining if a device is driving data lines on a bus in response to a read operation in a system with a processor for initiating read operations and with the bus having the data lines, address lines, and control lines, all of which carry signals, the method comprising the steps of: (1) driving a first predetermined value onto at least one of the data lines for a first period of a read operation; (2) monitoring the signal on said at least one of the data lines after completion of step (1); (3) timing a period from said driving step (1) until the signal on said at least one of the data lines changes to a second predetermined value; before step (1), storing a value indicative of the period until said at least one of the data lines changes to said second predetermined value when the data lines are undriven; and after step (3), comparing the period timed by step (3) with said stored value for when the data lines are undriven and if the time of step (3) is shorter than the stored value for when the data lines are undriven, indicating that a device has driven at least one of the data lines in response to the read operation.
Claim 5
Dependent Claim 26 words
The method of claim 2, wherein said first predetermined value is zero and said second predetermined value is any value other than said first predetermined value.
Claim 6
Dependent Claim 27 words
The method of claim 2, wherein said first predetermined value is all ones and said second predetermined value is any value other than said first predetermined value.
Claim 7
Independent Claim 171 words
A method of determining if an expansion board is driving data lines on a bus in response to a read operation in a system with a processor for initiating read operations and with the bus having the data lines, address lines, and control lines, the method comprising the steps of: (1) driving a first value onto the data lines for a predetermined period; (2) starting a timer that provides a timer value after completion of step (1); (3) monitoring the data lines after completion of step (1) until a monitored value is different from said first value driven onto the data lines or until a predetermined time is reached, whichever occurs first, and capturing the timer value at such moment; and (4) comparing the timer value with an undriven bus timer value, and if shorter by a predetermined amount, flagging an address present on the address lines as being driven by the expansion board, else flagging the address present on the address lines as not being driven by the expansion board.
Claim 8
Independent Claim 171 words
A method of determining if an expansion board is driving data lines on a bus in response to a read operation in a system with a processor for initiating read operations and with the bus having the data lines, address lines, and control lines, the method comprising the steps of: (1) driving a first value onto the data lines for a predetermined period; (2) starting a timer that provides a timer value after completion of step (1); (3) monitoring the data lines after completion of step (1) until a monitored value is different from said first value driven onto the data lines or until a predetermined time is reached, whichever occurs first, and capturing the timer value at such moment; and (4) comparing the timer value with an undriven bus timer value, and if shorter by a predetermined amount, flagging an address present on the address lines as being driven by the expansion board, else flagging the address present on the address lines as not being driven by the expansion board.
Claim 9
Dependent Claim 166 words
A computer system for detecting presence of devices at certain addresses, comprising: a system bus including address, data, and control lines; a microprocessor for executing a read operation, said microprocessor coupled to said system bus; a means for measuring a response time of the data lines on said system bus to the read operation, including means for driving a portion of the data lines to a first predetermined value during a first portion of the read operation; means for monitoring the portion of the data lines during a second portion of the read operation, said means for monitoring detecting when the value on the data lines has changed from the first predetermined value; and a timer coupled to said system bus and said means for monitoring, said timer starting at or after a start of the read operation and said timer stopping responsive to said means for monitoring detecting when the value on the portion of the data lines has changed from the first predetermined value.
Claim 10
Dependent Claim 166 words
A computer system for detecting presence of devices at certain addresses, comprising: a system bus including address, data, and control lines; a microprocessor for executing a read operation, said microprocessor coupled to said system bus; a means for measuring a response time of the data lines on said system bus to the read operation, including means for driving a portion of the data lines to a first predetermined value during a first portion of the read operation; means for monitoring the portion of the data lines during a second portion of the read operation, said means for monitoring detecting when the value on the data lines has changed from the first predetermined value; and a timer coupled to said system bus and said means for monitoring, said timer starting at or after a start of the read operation and said timer stopping responsive to said means for monitoring detecting when the value on the portion of the data lines has changed from the first predetermined value.
Claim 11
Dependent Claim 15 words
The system of claim 6, wherein said system bus is an industry standard architecture bus.
Claim 12
Dependent Claim 13 words
The system of claim 6, wherein said system bus is an EISA bus.
Claim 13
Independent Claim 142 words
A method of improving computer system performance by determining a maximum response time of a device in response to a read operation in a system with a processor for initiating the read operation with a cycle time and with a bus with data lines, address lines, and control lines, all of which carry signals, the method comprising the steps of: (1) driving a first predetermined value onto a plurality of the data lines for a first period of a read operation; (2) monitoring a plurality of signals on the data lines after completion of step (1); (3) timing a period from said driving step (1) until the plurality of the signals on the data lines changes to a second predetermined value; and (4) reducing the cycle time of the read operation to a value corresponding to the period determined at step (3).
Claim 14
Independent Claim 142 words
A method of improving computer system performance by determining a maximum response time of a device in response to a read operation in a system with a processor for initiating the read operation with a cycle time and with a bus with data lines, address lines, and control lines, all of which carry signals, the method comprising the steps of: (1) driving a first predetermined value onto a plurality of the data lines for a first period of a read operation; (2) monitoring a plurality of signals on the data lines after completion of step (1); (3) timing a period from said driving step (1) until the plurality of the signals on the data lines changes to a second predetermined value; and (4) reducing the cycle time of the read operation to a value corresponding to the period determined at step (3).
Claim 15
Dependent Claim 20 words
The method of claim 9, wherein said first predetermined value is zero and said second predetermined value is all ones.
Claim 16
Independent Claim 190 words
An apparatus for improving computer system performance by determining a maximum response time of a device responding to a read operation in a computer system with a system bus with address, data, and control lines and with a microprocessor for initiating the read operation with a cycle time, the apparatus comprising: means for driving a plurality of the data lines to a first predetermined value during a first portion of the read operation; means for monitoring the plurality of the data lines during a second portion of the read operation, said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; a timer coupled to the system bus and said means for monitoring, said timer starting at or after a start of the read operation and said timer stopping responsive to said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; and means for reducing the cycle time of the read operation to a value corresponding to a period recorded by said timer.
Claim 17
Independent Claim 190 words
An apparatus for improving computer system performance by determining a maximum response time of a device responding to a read operation in a computer system with a system bus with address, data, and control lines and with a microprocessor for initiating the read operation with a cycle time, the apparatus comprising: means for driving a plurality of the data lines to a first predetermined value during a first portion of the read operation; means for monitoring the plurality of the data lines during a second portion of the read operation, said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; a timer coupled to the system bus and said means for monitoring, said timer starting at or after a start of the read operation and said timer stopping responsive to said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; and means for reducing the cycle time of the read operation to a value corresponding to a period recorded by said timer.
Claim 18
Dependent Claim 12 words
The apparatus of claim 11, wherein said first predetermined value is zero.
Claim 19
Dependent Claim 188 words
A computer system for improving system performance, comprising: a system bus including address, data, and control lines; a microprocessor for executing a read operation, said microprocessor coupled to said system bus; a means for measuring a response time of the data lines on said system bus to the read operation, including means for driving a plurality of the data lines to a first predetermined value during a first portion of the read operation; means for monitoring the plurality of the data lines during a second portion of the read operation, said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; a timer coupled to said system bus and said means for monitoring, said timer starting at or after a start of the read operation and said timer stopping responsive to said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; and means for reducing a read operation cycle time to a value corresponding to a period recorded by said timer.
Claim 20
Dependent Claim 188 words
A computer system for improving system performance, comprising: a system bus including address, data, and control lines; a microprocessor for executing a read operation, said microprocessor coupled to said system bus; a means for measuring a response time of the data lines on said system bus to the read operation, including means for driving a plurality of the data lines to a first predetermined value during a first portion of the read operation; means for monitoring the plurality of the data lines during a second portion of the read operation, said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; a timer coupled to said system bus and said means for monitoring, said timer starting at or after a start of the read operation and said timer stopping responsive to said means for monitoring detecting when the value on all of the plurality of the data lines has changed from the first predetermined value; and means for reducing a read operation cycle time to a value corresponding to a period recorded by said timer.
Claim 21
Dependent Claim 15 words
The system of claim 13, wherein said system bus is an industry standard architecture bus.
Claim 22
Dependent Claim 16 words
The system of claim 13, wherein said system bus is an extended industry standard architecture bus.

References Cited (Backward Citations)

US4926310A Cited
US4843572A Cited
US5327564A Cited
US4999805A Cited
US5257387A Cited
US5263148A Cited
US5353432A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-03-10 2000-09-09 2001-03-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-03-10 2004-09-09 2005-03-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-03-10 2008-09-09 2009-03-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag