SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Intel Corporation (INTC) -- Ignore unavailable to you. Want to Upgrade?


To: K. M. Strickler who wrote (50528)3/11/1998 10:41:00 PM
From: Barry A. Watzman  Read Replies (1) | Respond to of 186894
 
The absence (or presence) of a specific command has nothing to do with whether an operating system can run on a CPU. You used the example of a divide command (not really a good example), if a divide command was missing and required, an equivalent function would be coded in the "port" of the operating system to the CPU without this function, and that code would be "called" whenever needed to carry out the function. By the way, this is NOT microcode, it's just plain software; microcode is WITHIN the CPU, and normally cannot be modified (there are a lot of exceptions to this, in some processors, the microcode can be modified (this may be possible in late Pentiums, but its unconfirmed), and in a very few cases part of the microcode even resides external to the CPU, but I am talking generalities here).

The Intel and Zilog 8-bit chips (8080, 8085, Z-80) did not have the divide commands, the X86 chips do, almost all of the operating systems that ran on the 8-bit chips were ported to the 16-bit chips (the reverse would be difficult because the addressing space of the X86 chips is one megabyte, vs. only 64k for the 8-bit chips; perhaps you could do the port, but the result would either not fit at all or would not be very useful, not to mention that going backwards is much less interesting than going forwards).

I didn't mean to imply that the same physical set of code would run on different CPU's, porting an OS is something like translating a novel from one language to another. By the time you get to physically executable code, it's almost always CPU specific, whether you got there explicitly (e.g. assembly language) or indirectly (via a compiler).