jrj@eagle.ukc.ac.uk (J.R.Jeff) (07/29/88)
Hi, can anyone advise, give opinions or suggestions to the
following problem(s):
I intend to emulate an Intel 8088 on a bit-slice processor.
On my left-hand side I have the 8088 spec, on my right the
AmD 2900 bit-slice spec (say). In the middle is me trying to
figure out if I can meet all the 8088 spec through microcoding
the bit-slice. The AmD spec that I am reading does not say
that there is an AmD supplied motherboard into which I plug my
slices to form a 16-bit processor, but I assume that something
like that is possible.
In the perfect world, the motherboard + slices would then be an
8088 processor minus an 8088 instruction set (which I would
microcode).
In practice, this is not true for I find that the 8088 possesses
additional features such as:
- numerous control bus control lines (HOLD, HLDA, READY,
WR etcetera)
- Interrupt inputs (NMI, INTR)
- multiplexed pins (data/address and others)
- 3-state data/address lines
- 20 bit addressing
- would additional instruction decoding hardware be advised
since the 8088 instruction set is not fixed format?
- and LOTS more problems!!
Am I mad to attempt such a venture? Will I have to implement the
out-going bus control lines with line driver hardware driven by
microprogram bits or would the motherboard already provide that
feature with general purpose I/O lines closely coupled to the
computer control unit? I want to control the outside world.
How about the in-coming control lines? How do I sense them? I
see that I can use CONDITIONAL BRANCH statements (for example) to
react to a condition but get the impression that all the conditions
going into the branch control unit come exclusively from the ALU and
not the outside world. I want to be able to react to the outside
world.
Do any of these problems evaporate by using a newer generation
(and hopefully more featured) bit-slice?
(How) Am I wrong? Is my approach wrong?
Any references to anybody having done similar work?
The reasons for emulating an 8088 processor (or other member
of the family) is to equip an IBM-PC with a supplemented
instruction set.
Supplementing the 808xx instruction set by way of an emulated
co-processor also exposes similar problems.
I am a software engineer being dictated to by hardware.
I would greatly appreciate any comments.
Thank you!
John
---
John Jeff Computing Lab
jrj@ukc.ac.uk University of Kent
jrj@ukc.UUCP Canterbury
...!mcvax!ukc!jrj Kent CT2 7NF
UK
Phone: +44 227 764000 ext 3822
---