This is a pretty common problem with the 03-06 Silverados. It's caused by a failing gauge motor inside your instrument cluster. It can be rebuilt - check out http://drspeedometer.com/services-i-offer/silverado-speedometer-repair for more info on the problem
I have a 2003 Silverado and my rpm, speedometer and tempature gauges quit working about three years ago. I've mentioned this a few times to the Chevy dealer maintenance department where I have my truck serviced and they told me I might as well wait to get it fixed as the other gauges will probably quit working. I was not told there is a recall. I have 84,000 miles on it.