As I recall, it was a low cost 32-bit CPU essentially identical to the original 80386 (subsequently rebranded 80386DX to further distinguish it from the SX) which was introduced several years earlier and is the main CPU referred to when people say i386 without qualification, except that it had a 16-bit data bus and a 24-bit address bus.
> Think of it in the same context as the 8088 vs. 8086.
Yes, both of those are 16-bit but the 8088 is a later low-cost version with an 8-bit data bus, but an identical execution unit to the 8086.
It is the other way around: the 386SX is 32 bit chip with a 16-bit data bus (plus the jiggery-pokery to convert one 32-bit request from the internals into two 16-bit ones) and 24 bit address bus, so it could be used on cheaper boards originally designed for 286s with minimal modifications. It is still considered a 32-bit chip.
Same for the 8088 - that was still a 16-bit chip like the 8086 (almost identical, in fact), but with a smaller (8-bit) external data bus so 16-bit requests to/from memory had to be split in two.
The replies to my above comment have shown that I was not at all clear about the meaning of my analogy. The 8088 was considered a 16-bit CPU, but it used an 8-bit memory bus. Thus two (or more) memory fetches were required for each instruction. The 80386SX was considered a 32-bit CPU, but it used a 16-bit memory bus. Thus the same memory bandwidth issue that applied to the 8088 applied to it as well.
Imagine an 8088 running at 4.77MHz trying to keep up with a Z-80 running at 4MHz. The Z-80 always won because of the memory bandwidth issue.
We are not disagreeing with the "386SX is to 386[DX] as 8088 is to 8086" part, or the effect on memory bandwidth.
But the "386SX was a 16-bit CPU capable of 32-bit operations" is simply an incorrect statement, which we are correcting. The 386SX was a 32-bit CPU with a 16-bit data bus.
Your new Z80 comparison seems flawed too: while it supports some 16-bit operations over paired 8-bit registers, including 16-bit load & save, the Z80 is generally considered to be an 8-bit CPU (so it is an 8-bit CPU capable of 16-bit operations) and in any case it has an 8-bit data bus (see the diagram in https://www.petervis.com/electronics/CPU_Processors/Zilog_Z8..., note that there are only 8 data lines, D0 through D7) so it can't pull/push 16-bits at once externally any more than the 8088 can.
Okay. From an architecture point of view, I agree with you. The context of my post related to the databus width and the speed implications of it. Sorry I wasn't clear in my meaning.