Currently (Autumn 2013) there are just two trains on the TransWilts from Swindon to Salisbury, leaving at 06:12 and 18:44 on Monday to Friday. At the weekend, trains only run as far as Westbury where you'll need to change - at 15:22 and 21:08 on Saturday, and just one train - at 18:19 - on Sundays.
All trains call at Chippenham (15 minutes from Swindon), Melksham (25 minutes), Trowbridge (35 minutes) and arrive in Westbury after about 42 to 48 minutes. Monday to Friday services then call at Dilton Marsh (2 minutes) and Warminster (10 minutes) on their way to Salisbury, about 35 minutes from Westbury.
Trains return (from Westbury) at 07:04 and 19:32 (Monday to Friday), 09:05 and 15:06 on Saturday, and 17:10 and 19:35 on Sunday.
All trains call at Trowbridge (5 minutes), Melksham (15 minutes), Chippenham (25 minutes) and arrive in Swindon 40 to 50 minutes after leaving Westbury.
First Great Westerrn Timetable no. 25 shows the times at all stations, and onward connections on the Portsmouh - Cardiff line. There's a link to all the current timetables [here].
Addition trains run on the section from Swindon to Chippenham and on the section from Trowbridge to Salisbury. And you can connect between those two sections at Bath Spa - a longer journey that increases the journey time from Chippenham to Trowbridge from 18 minutes to about 45 minutes.
The proposed service for future years is for around 8 trains each way each day - that's an hourly service in the peak, and at least one train every 2 hours throughout the day.