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 ---