My old 72 K5 did that and I tried a new cable,but it kept pegging the needle when it felt like it erratically,and the speedo head made some weird noises too--tried taking the cluster apart and see if there was anything in the speedo head that was mucking it up like rust or fuzz,etc,but the cup thing that worked the speedo head needle was looking perfect..I think its driven by a spinning magnet thing?..
I ended up just getting another dash cluster at a swap meet and put the whole thing in it...cured..
The speedo in my 82 GMC is singing the frigid weather blues now too,but still reads correctly..hoping it'll go away when it warms back up again...its hard to find a cluster for that thing here any more..I might have one from a '73 in my shed,but its probably a lot different,mine being a diesel..