Browse Prior Art Database

Keystroke Emulator for Coprocessor

IP.com Disclosure Number: IPCOM000038657D
Original Publication Date: 1987-Feb-01
Included in the Prior Art Database: 2005-Jan-31
Document File: 3 page(s) / 53K

Publishing Venue

IBM

Related People

Irwin, JW: AUTHOR

Abstract

An arrangement is described which provides emulation of a real keyboard in a coprocessor environment where the recipient of the keystrokes is an integrated support chip that normally interfaces to a real keyboard. In a coprocessor environment, the keyboard imposes a substantial emulation load on the Master Processor (MP). If the application pro gram running in the coprocessor chooses to poll the keyboard, MP performance can be seriously impacted. Even in the best case, MP must process many keyboard-related interrupts at a measurable performance loss. For each keystroke, MP must field the keystroke interrupt, process the keystroke, interrupt the coprocessor, and be interrupted by the coprocessor. As shown in Figs.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 3

Keystroke Emulator for Coprocessor

An arrangement is described which provides emulation of a real keyboard in a coprocessor environment where the recipient of the keystrokes is an integrated support chip that normally interfaces to a real keyboard. In a coprocessor environment, the keyboard imposes a substantial emulation load on the Master Processor (MP). If the application pro gram running in the coprocessor chooses to poll the keyboard, MP performance can be seriously impacted. Even in the best case, MP must process many keyboard-related interrupts at a measurable performance loss. For each keystroke, MP must field the keystroke interrupt, process the keystroke, interrupt the coprocessor, and be interrupted by the coprocessor. As shown in Figs. 1 and 2, the integrated support chip includes a serial keyboard interface that is intended to connect through appropriate drivers and receivers to a real keyboard. In the coprocessor environment, the keyboard must be controlled by the MP so that there is no direct connection between the real keyboard and the integrated support chip. A method of emulating a serial keyboard interface on the coprocessor card is employed. As in prior coprocessors, MP must accept all keystrokes from the real keyboard and determine whether they belong to the coprocessor or to the MP. In prior coprocessors, MP had to emulate a keyboard interrupt and then wait for an interrupt to occur as the coprocessor tried to read the keyboard. In the new coprocessor, if the scan code belongs to the coprocessor, MP will perform a table lookup using the scan code as a table index and then write the converted scan code to a special I/O port on the coprocessor. The table lookup has the primary purpose of mapping the original PC keyboard onto the currently used keyboard. As a secondary part of the conversion, the scan code is shifted left one bit. The leading zero bit thus inserted serves as a start bit for the keyboard circuitry. At the same time, a parity bit is appended as required by the keyboard circuitry. This one table lookup thus serves a triple purpose. No MP interrupt occurs, and only a few cycles are required for the scan code conversion. The table lookup thus does three things: 1. Masks any differences between the real keyboard

and the emulated keyboard.

2. Determines the parity of the scan code so that a

hardware parity generator hardware is not

required.

3. Appends the start bit. The correc...