IBM PALM processor
The IBM PALM processor (Program All Logic in Microcode) was a board-level 16-bit central processing unit used in the IBM 5100 Portable Computer, a predecessor of the IBM PC. PALM was also used in the IBM 5110 and IBM 5120 follow-on machines. PALM was likely 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 complete processor on a single silicon integrated circuit. The PALM processor was an entire circuit board containing 13 square metal-can bipolar gate arrays, 3 conventional DIP transistor-transistor logic (TTL) parts and 1 round metal can part.
PALM has a 16-bit data bus, with two additional bits used for parity. PALM can directly address 64 kB (64 KiB) 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 64 kB of RAM. A simple bank switching scheme was used to extend the address space.