w83l950d Winbond Electronics Corp America, w83l950d Datasheet - Page 21
![no-image](/images/no-image-200.jpg)
w83l950d
Manufacturer Part Number
w83l950d
Description
Peripheral Personal Computer Keyboard Controller
Manufacturer
Winbond Electronics Corp America
Datasheet
1.W83L950D.pdf
(105 pages)
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
6.
The Turbo-51 core logic of Winbond Keyboard controller is based on the industry standard 8032 device.
It is built around an 8-bit ALU that uses internal registers for temporary storage and control of the
peripheral devices. It can execute the standard 8032 instruction set.
The Winbond Keyboard controller separates the memory into two sections, the Program Memory and
the Data Memory. The Program Memory, MTP-ROM, is used to store the instruction op-codes, and the
Data Memory, RAM, is used to store data and now is consists of a 256 bytes scratch pad RAM and a
2K bytes external SRAM. The external SRAM can be accessed by either MOVX instruction in generally
or to be a scratched ultra ROM for special purpose.
The brief descriptions of the internal blocks are shown as follows.
6.1
The ALU is the heart of the Winbond Keyboard controller. It is responsible for the arithmetic and logical
functions. It is also used in decision-making, in case of jump instructions, and is also used in calculating
jump addresses. The user cannot directly use the ALU, but the Instruction Decoder reads the op-codes,
decodes it, and sequences the data through the ALU and its associated registers to generate the
required result. The ALU mainly uses the ACC that is a Special Function Register (SFR) on the chip.
Another SFR, namely B register is also used in Multiply and Divide instructions. The ALU generates
several status signals that are stored in the Program Status Word register (PSW).
6.2
The Accumulator (ACC) is the primary register used in arithmetic, logical and data transfer operations
in the Winbond Keyboard controller. Since the Accumulator is directly accessible by the CPU, most of
the high-speed instructions make use of the ACC as one argument.
6.3
This is an 8-bit register that is used as the second argument in the MUL and DIV instructions. For all
other instructions it can be used simply as a general-purpose register.
6.4
This is an 8-bit SFR, which is used to store the status bits of the ALU. It holds the Carry flag, the
Auxiliary Carry flag, General-purpose flags, the Register Bank Select, the Overflow flag, and the Parity
flag.
6.5
The Data Pointers are used to do 16 bits addressing that can transfer data to and from either external
Data Memory or on-chip MTP-ROM. The Winbond Keyboard controller has provided two separate Data
Pointers, DPTR (DPH, DPL) and DPTR1 (DPH1, DPL1), and a Data Pointers Selection register, DPS,
to select which DPTR should be utilized. The user can switch either of them with minimum software
overhead, and thereby greatly increasing the system throughput by setting DPS in sequentially.
6.6
The Winbond Keyboard controller has an 8-bit Stack Pointer which points to the top of the Stack. This
stack resides in the Scratch Pad RAM in the Winbond Keyboard controller. Hence the size of the stack
is limited by the size of this RAM.
MICRO COMPUTER ARCHITECTURE
ALU
Accumulator
B Register
Program Status Word (PSW)
Data Pointers and Selection
Stack Pointer
- 12 -
W83L950D