Buses in a processor
There are two main methods of doing IO (both obviously have variants, and both are often combined, some control information using the first method and the majority of the data using the second).


One is communicating directly from the processor with the IO-device.  In that case there is a data bus between the processor and the device.
The other is going through memory. The processor write (or read) in memory at well known addresses and the device either monitor the memory accesses or use the first method to know that it has to process the data.


In my experience, keyboard controllers are often using the first method and display controllers are often using the first method for control information (which display mode for instance, or the well known address where to find the information to display) and the second method for the information to display (represented either as character code or as a bitmap)