A Made IT project
Every data device uses a clock. A computer, a modem, a PLC whatever they all have their own clock installed. The clock is usually a cristal that generates pulses, measured in MHz. When you connect two devices these clocks will not be the same.
On every pulse of the clock incoming data is read. When the shift of clocking is extreme no data will be read at all, so you need a way to tell both devices to read the data at the right time, so no data will be lost.
Async does that by sending start and stop bits where the receiving end synchronizes on and sync transmits clocking signals.
Theoretically you need only transmit and receive (and ground) for async.
For sync you need transmit, receive (ground) and a clock-line.
When you decide to use clocking for synchronisation you don't need start and stop bits anymore so you save on overhead on the line, thus resulting in a higher throughput.
Then the different ways clocking is used. There are three diffent kinds:
Internal, External and Received/Recovered.
The internal provides the clock
The External receives the clock
And Received extracts the clock from the data. This one is only used in long chains of sync devices, where all devices need to maintain an identical clocking.