Typing is not as simple a process as it seems. While the ease with which we type and the speed at which the text appears on-screen is indicative of a simplistic method of keyboard-to-computer interaction, nothing could be further from the truth. This ease and speed is only and indicator of exactly how fast the CPU handles such a complex process. With each individual keystroke, there is a five-step process that occurs; each step taking one or more processor cycles.
First, the computer needs input, or a key to be pressed. This action instigates the process, which occurs, all five steps from start to finish, almost instantaneously. For example, I type fifty-five words per minute. For purposes of counting words, only words of four letters or more are considered. Thus, fifty-five words multiplied by at least four letters gives us a minimum of two-hundred and twenty letters. Two-hundred and twenty letters multiplied by four additional processes (assuming each process only takes one cycle when, in fact, many dormant cycles also occur) is eight-hundred and eighty processes, or cycles, per minute.
This equates to roughly 15 cycles per second; a speed that the earliest computers could exceed with ease.
Secondly, a computer chip known as the keyboard controller determines that a key has been pressed, and puts the appropriate scan code for that key into a portion of its memory known as the keyboard buffer. This buffer stores all of the keyboard codes until they can be processed. Once a complete keystroke has been received, the keyboard controller sends a special signal to the system software known as an interrupt request. Next, the system software receives the interrupt request and determines an appropriate response. If the request was due to a keystroke, the system software then retrieves the scan code...