Sorry, but this wrong.
A knight of the realm is addressed as 'sir' on an honorific basis (quoting either their given name and surname or given name only), whereas the term 'sir' is used as a courtesy title to avoid addressing someone by their name or surname.
Military courtesy is another matter, although a military knight is addressed by his professional title before 'sir.'
Sorry FTG - I think you have been out of Great Britain for too long!
A knight is never addressed as plain "sir" - at the first introduction, he is addressed as "My Lord" or "Milord" and any subsequent address is "Sir, followed by his firs name (eg Sir Lancelot).
You are quite correct concerning a military knight though!