IBM PALM processor
The PALM (Put All Logic in Microcode) is a 16-bit central processing unit (CPU) developed by IBM. It was used in the IBM 5100 Portable Computer, a predecessor of the IBM PC, and the IBM 5110 and IBM 5120 follow-on machines. It is likely PALM was also used in other IBM products as an embedded controller.

IBM referred to PALM as a microprocessor, though they used that term to mean a processor that executes microcode to implement a higher-level instruction set, rather than its conventional definition of a CPU on an integrated circuit. The PALM processor was a circuit board containing 13 bipolar gate arrays packaged in square metal cans, 3 conventional transistor–transistor logic (TTL) ICs in dual in-line packages, and 1 round metal can part.

The PALM was used to implement an emulator, which in turn could run machine instructions originally written for other machines; this is how IBM System/360 APL ran on the 5100.

PALM has a 16-bit data bus, with two additional bits used for parity.  PALM can directly address 64KB (64KiB) of memory.  The IBM 5100 could be configured with up to 64+KB (APL + BASIC ROMs make 64+KB) of Executable ROS (ROM) and up to 64KB of RAM.  A simple bank switching scheme was used to extend the address space.

In 1973, the IBM Los Gatos Scientific Center developed a portable computer prototype called SCAMP (Special Computer APL Machine Portable) based on the PALM processor with a Philips compact cassette drive, small CRT display, and full-function keyboard.

References

External links
 about various Microcode implementations

Pictures
Daves Old Computers, This page has a link with a picture of the IBM PALM circuit board as well as many photos of the IBM 5100.  The Maintenance Information Manual linked at the bottom of the page includes an appendix describing the microcode.

PALM
IBM microprocessors