Jump to content
IGNORED

8088s... ugh... shiny object.


Recommended Posts

On a whim, I went nuts and bought a bunch of 8088 stuff, all at the exact same time.

 

Like this, what the heck is this? How am I even supposed to use this thing. it says it runs CPM, awesome... I don't even own any CPM software anymore. I don't even know what I would do with it:

V20-mbc 8080 8088 full hardware version built and tested, runs cp/m-80 cp/m-86 | eBay

 

And then this... what the heck am I going to upgrade? Why do I need a 5Mhz NEC V20 upgrade chip? In what world is a 5Mhz chip an upgrade? I don't know why I bought this:

Vintage Exec-PC 'PC Speedup' V20 5 Mhz 8088 Upgrade Kit Unused | eBay

 

 

This one is cool though, it's a guy from MMC computers who designs and builds BRAND NEW 8088 motherboards and daughter-cards. He designed an 8088 backplane that makes use of an ATX form factor, and then the 8088 (NEC V20 also) sits on a half-height ISA board, along with a ram board that's also an ISA board:

8088 Motherboard, 8088-2 processor, 8 MHz, 640k RAM, PC XT compatible | eBay

  • Like 1
Link to comment
Share on other sites

16 hours ago, Krebizfan said:

The V20 is about 20% faster at the same clock speed as an 8088. The V20 also has the 8080 and some 80286 instructions which opens up more software choices. 

 

Getting a higher clock speed with a 5150 required changing the BIOS because the timing loops would be wrong. 

 

That's interesting, I always assumed that the clock speed specifically defined how "quick" the chip would be. I've actually never owned an 8088 that WASN'T an NECV20 (I have an old KayPro that was my first computer, and also an NEC V20). What makes them specifically faster than the same clock-speed Intel and AMD equivalents?

 

Yeah, this 8088 was so cheap (the upgrade) that I was more interested in reading about whatever was in the manual. The NEC V20 in this case seems SUPER slow... it says "-5," which I assume to mean 5mhz, or maybe like 4.77mhz.

  

Link to comment
Share on other sites

On 7/16/2022 at 10:32 PM, wierd_w said:

Hard wired logic, instead of microcode.

 

This allows some operations to be completed in a single execution cycle instead of several.

 

Can I pick your brain a little bit here? I've historically been a computer programmer... I basically programmed for the first ~15 years of my professional career (literally, that's all I did). So I'm familiar with the concept of embedded code, etc. But I never really "understood" exactly how a processor works, or how it manages to process the code that we might put on a ROM or that we push to it.

 

So what you're saying is that the NEC V20 processor has "code" that's built into the actual processor to run specific routines, for which say, the Intel 8088 wouldn't already have? And that the Intel 8088 would need to rely on code from the various chipsets elsewhere on the board to handle this processing? Or... are you saying that the architecture of the NEC V20 is more advanced and can simply process things in a way that's more expeditious and efficient, WHILE maintaining the same 8088 standard processor pin-out and compatibility (or are you saying both)?

 

 

I do not have an electronics background, which I find to be more and more frustrating every day. I'm seriously considering going back to school just for basic electronics (so I can take circuits 101, etc.). Appreciate any response.

 

 

Anyway, I've kind of gone off the deep-end. Last week I had purchased a relatively complete set-up, a basic backplane that has built in USB/Loader on it to load DOS. It also came with an NEC V20 (8Mhz) on a daughter board, and a separate 640k memory board. All of which was designed and made by this guy, who also made it ATX compatible.

 

s-l500.jpg

 

 

I then went off the deep-end...

 

I reached out to the guy who makes them, and ordered a whole bunch of other stuff from him:

 

  1. Another 8088 / Backplane board, but this time it's a 4-slot so that I can fit it into a Micro-ATX Case.
  2. An NEC V40 board... basically, just like his NEC V20 board, he also designed and built an NEC V40 board that loads DOS, etc. Literally plug and play!
  3. An Intel 80186 board... yep. Just like the 8088 and V40 board, he also made a board that supports the Intel 80186, so I bought that too. 

$175 out the door, which is an amazing price for the quality the guy produces. And he's sending me USB keys for each of them too so I can boot up properly as well.

 

 

Then I was like... well... I need a graphics card, and since I have two boards now... well...

- Genoa Systems (Cause I love Genoa Systems from back in the day): VINTAGE GENOA SYSTEMS 7900 TSENG LAB ET4000AX 1 MEG ISA VGA CARD FB87400 MXB43 | eBay

- Cirrus Logic / 512k VGA card, 8/16-Bit Compatible: VINTAGE CIRRUS LOGIC CL-GD5402-65QC-B 512K ISA VGA CARD ZIPP DIPP MXB14 | eBay 

 

And then I was like... well... I want to be able to record all of this as I'm doing it, just because...

- So, VGA Splitter: VGA SVGA 1 PC TO 2 MONITOR Male to 2 Dual Female Y Adapter Splitter Cable 15 PIN | eBay

- VGA Capture Device: Epiphan USB External VGA Capture Device ~ VGA2USB ~ Frame Grabber ~ Red | eBay

 

And then I was like... I also may want to hook up a floppy drive, maybe a 2.88 3.5" too...

ISA 8bit High Density Floppy 1.44 MB , 2.88 MB + Boot ROM + Serial (3 in 1) | eBay

 

And then I was thinking... you know, I really do need a case to put this stuff in, so... Black, Plastic Bazel, steel body black internal, Micro-ATX,1X5.25",3X3.5" or ... 844761012007 | eBay

 

And then I thought to myself, well... now I need stuff to make it work in the case:

- Power Supply: https://www.newegg.com/p/1HU-02SH-00053

- Some PC Speakers (the MB he's making has pins): 5pcs Computer Mainboard Internal Speaker Desktop PC BIOS Buzzer Beep POST Alarm | eBay

 

And then I thought... how much fun would it be to test out different processors for all the boards I have, so then...

- I figured 8Mhz wasn't enough... NEC V20 16Mhz Drop-In Upgrade CPU For Intel 8088 IBM XT Computers *NEW* | eBay

- And for my V40 board... NEC D70216HLP-16 PLCC V40HLTM V50HLTM 16/8 RH | eBay

 

 

And while I was at it, I also saw this: 8086 PCB NEC V30 D70116C that plugs directly into a Raspberry PI. Version 2. | eBay

... to go along with the one I already bought a couple of months ago: 8088 PCB NEC V20 D70108C that plugs directly into a Raspberry PI. Version 2 (because, why not?)

 

 

... and then eBay recommended this to me: V20-mbc 8080 8088 full hardware version built and tested, runs cp/m-80 cp/m-86 | eBay so I was like, what the hell, and bought that too. 

 

I don't even want to think about what all of that cost, haha... hah, I just added it up: $1,099.71. I swear, I can be such a dumb-ass sometimes. But I'm going to enjoy the hell out of all of this stuff.

 

 

I've been watching EMM Computers - YouTube videos almost every night the past week. Every night my wife has come to bed and I'm fast asleep with these videos playing on the Roku TV. They're fascinating... I'm so blown away at the simplicity, yet intentional utility of these 8088 processors. 

 

I don't really have a lot of "junk" at the house. I have my first computer, an 8088 KayPro PC which is boxed and in the closet, but I don't really want to "fiddle" with it in the way that I feel comfortable doing with this stuff. I'm just really excited that there are a lot of people out there who enjoy this old architecture as much as I do. 

 

  • Like 1
Link to comment
Share on other sites

A processor with microcode has to perform an opcode lookup during the "Decode" portion of the duty cycle. This is where microcode comes in.  This is software baked into the processor that basically says how to perform the operation specified.

 

https://en.wikipedia.org/wiki/Microcode

 

The raised instruction word, raises the address of the microcode instruction table inside the CPU's decode rom, and then the MCU/ALU starts following those instructions to produce the desired function, using the provided opcode, and the data word(s).

Intel uses microcode implementations, as it allows "flaws" in the processor to be patched after release.

 

The 8088 contains a microcode implementation, where the V20 does not-- it instead has hard wired logic-- when the instruction byte is raised on the data bus, the bit pattern of the instruction triggers TTL logic inside the processor, which then takes the data byte/word, and does the needful on it, and presents it out on the defined register.  There is no internal program to perform.

 

Since the implementation of the instruction set is 100% hardware, and it is done very efficiently, the V20 can do many instructions that would have taken more than one instruction cycle to complete, and do them in a single instruction cycle instead. This is why the V20 is "Faster" for the same clock rate. It becomes available to do the next instruction much faster than intel's chip.

 

 

Quote

 

Features

The V20's die comprised 63,000 transistors; more than double the 29,000 of the 8088 CPU.[1] The chip was designed for a clock duty cycle of 50%, compared to the 33% duty cycle used by the 8088.[3] The V20 has two, 16-bit wide internal databuses, allowing two data transfers to occur concurrently.[4] Differences like that meant that a V20 could typically complete more instructions in a given time than an Intel 8088 running at the same frequency.[2]

The V20 was fabricated in 2-micron CMOS technology.[5][3] Early versions ran at speeds of 5, 8, and 10 MHz.[6]: 2  In 1990, an upgrade to the fabrication process technology resulted in the V20H and V20HL, with improved performance and reduced power consumption.[5] Later versions added speeds of 12 and 16 MHz. The V20HLs were also completely static, allowing their clock to be stopped.

The V20 was described as 16 bits wide internally. It used an 8-bit external data bus that was multiplexed onto the same pins as the low byte of the address bus. Its 20-bit wide address bus was able to address 1 MB.

The V20 was reported to have been compatible with the Intel 8087 floating-point unit (FPU) coprocessor.[7] NEC also designed their own FPU, the μPD72091, which was cancelled before reaching production. They followed this with a revised design, the μPD72191, but it is unclear how many, if any, of this second part were produced.[8]

The V30, a nearly identical CPU with a 16-bit wide external data bus, debuted on March 1, 1984.[9][5] It was pin and object-code compatible with the Intel 8086.

 

 

 

Also, I am getting old and senile apparently. It was the NEC v33 that uses 100% wired logic.

 

Quote

The NEC V30 (μPD70116) was a version of the NEC V20 that was pin compatible with the 16-bit data bus Intel 8086 processor. It too supported the 8080 emulation mode. The V30 was used in the GTD-5 EAX Class 5 central office as a drop-in performance upgrade for the processor complex in the late 1980s. It was also used in the Psion Series 3, in the NEC PC-9801, the Olivetti PCS86, the Applied Engineering "PC Transporter" emulator for the Apple II series of computers, and in various arcade machines (particularly ones made by Irem) in the late 1980s.

Quote

The NEC V33 is a super version of the V30 that separates address bus and data bus, and executes all instructions with wired logic instead of micro-codes, making it twice as fast as a V30 for the same clock frequency. V33 has the performance equivalent to Intel 80286. NEC V33 offers a method to expanding the memory address space to 16M bytes. It has two additional instructions BRKXA and RETXA to support extended addressing mode. The 8080 emulation mode was not supported.

 

The basic notion that the v20 is ready sooner, still applies though.  That is how it gets more done in the same clock rate.

 

 

 

Link to comment
Share on other sites

As for how a CPU does its thing...

 

 

 A CPU has the following bits and bobs:

 

Registers
A Data Bus

An Address Bus

Cache memory

ALUs

 

A register is basically an input or output location on which data is presented to, or taken from the processor. It is part of the processor itself.

The data and address busses are how data gets to and from the CPU from memory

Cache memory is memory inside the CPU to facilitate doing computations without doing a fetch cycle (from memory)

and ALUs, which are Arithmetic & Logic Units. These are assemblages of logic gates that perform operations.

 

In a nut shell, the CPU bootstraps itself by moving the address pointer to 0, at the bottom/top of memory, issues a fetch cycle, and tries to begin executing whatever was at that location. This is true for pretty much all processors you are likely to encounter.

 

When an instruction is fetched from memory, the data is presented to the CPU on the data bus, gets copied into the CPU's registers by the fetch instruction, and then it gets executed.

 

The instruction read in, gets decoded on the decode portion of the cycle.  The opcode is looked up in the microcode table,--OR-- its logical bit pattern is asserted on the wired logic array inside-- and then the ALU array either performs the prescribed microcode program, or the data presented with the opcode gets directly processed.

 

This is the really short, highly glossed over "Fetch-Decode-Execute" cycle.

https://en.wikipedia.org/wiki/Instruction_cycle

 

Recently accessed data gets replicated inside the cache memory of the CPU, to avoid having to do a fetch cycle if it is operated on again. (Such as with a multi-instruction operation-- like exponentiation done with repeat multiplication) This allows the operation to complete much faster, as a slow fetch cycle is avoided on subsequent modifications to the cached data.

https://en.wikipedia.org/wiki/CPU_cache

 

And of course, an entry on ALUs.

https://en.wikipedia.org/wiki/Arithmetic_logic_unit

 

The specifics on how a specific CPU accomplishes the work of a high level instruction using its ALUs, is very much processor specific. 

 

 

 

Link to comment
Share on other sites

Thank you so much @wierd_w. These responses are awesome! I'm working right now, and can't really give them the justice they deserve. I really appreciate everything and have more comments. Will respond either later today or tomorrow. Thank you so much!

 

Quick additional question. Is your knowledge in this area related to your enthusiasm as a hobbyist, or are you an electrical engineer by trade? None of this was covered in my CompSci degree.

Link to comment
Share on other sites

The former.

 

And it really should have been covered in your compsci degree.  At the very least, you should have been introduced to the two major design classes of CPU, namely Harvard and VonNeuman architectures.

 

These two kinds of CPU architectures handle instructions and data VERY DIFFERENTLY, and so, the manner in which they perform their processing is equally very different.

 

 

Harvard architecture CPUs tend to be a thing of historical footnote, but a handful of modern CPUs are of this classification.  They have 2 distinct external memories-- A program memory, and a data memory.  They are physically distinct, and not at all connected to each other. They are completely isolated memory busses.  This prevents such things as buffer overflow escalation attacks, etc.  Historically, the program memory would be a read-only tape that could be advanced or rewound, based on instructions executed to move the instruction pointer around. In more modern havard style computers, this is just another digital memory.  Historically, data memory was handled by user input at the terminal/keypad, but in modern machines, it is another digital memory.

 

VN processors have a unified "Program + Data" memory model, and have to make use of a software construct called a "stack", which uses an instruction pointer to keep track of where execution of a program is, since both data and program are in the same memory. They are vulnerable to the very frequently used "Stack smash attack" to overwrite part of the stack, and get code to jump execution into an attacker defined location, where a malicious data object was loaded that contains software instructions to run.

 

See the august "Smashing the stack for fun and profit", which is still valid reading today.

For a recent example of this kind of attack in action, see the Fusee Gelee exploit for the nintendo switch. (nVidia has since patched the vulnerable firmware.)

 

Since both CPUs physically do things VERY DIFFERENTLY, and both CPU types exist in current use today, it is important to have at least some grasp of how these differences play out and why one would prefer one type over another in specific circumstances.

 

Harvard CPUs, for instance, have been implemented "logically" in a number of interesting places, such as The Game of Life, and Dwarf Fortress.

They are the preferred architecture for these kinds of exercises, because they have clean cut designs, and are easier to grasp the inner workings of than VN based ones.

 

You would get INTIMATELY FAMILIAR with some of these concepts if you got hardcore into machine assembly language, as this is literally dealing with those opcodes presented by the processor's ISA.

 

 

I say you SHOULD have been exposed to this, because it touches fundamentally on the concepts of computability, which is very much central to CompSci as a discipline.  As a graduate, you will no doubt immediately see parallels with the universal Turing machine in both architectures.

 

 

 

 

Edited by wierd_w
Link to comment
Share on other sites

Allow me to interrupt for a moment, no pun intended. What would be the smallest 486 class and PII/PIII 440BX class machines that can be built today? Basically looking to build something of a vintage media reader for the various floppy densities used throughout the 80's and 90's as well as old IDE (under 500MB) drives? And something with the ability to handle USB 2.0.

 

Or maybe just forget the idea (of being tiny) and use a standard BX motherboard?

Link to comment
Share on other sites

1 hour ago, Keatah said:

Allow me to interrupt for a moment, no pun intended. What would be the smallest 486 class and PII/PIII 440BX class machines that can be built today? Basically looking to build something of a vintage media reader for the various floppy densities used throughout the 80's and 90's as well as old IDE (under 500MB) drives? And something with the ability to handle USB 2.0.

 

Or maybe just forget the idea (of being tiny) and use a standard BX motherboard?

Might be worth a watch. 

 

  • Like 1
Link to comment
Share on other sites

It would be interesting and amusing to shrink the weecee further by making a standoff arrangement for the module. And make the board with the sound chip double-sided.

 

I totally forgot all about PC104, likely because I didn't have direct experience with it and only read about it in passing ages ago. It seems a realistic option. I could even implant a PC104 board into the same case as my i7/i9, as a whole other sub-PC within a PC.

Edited by Keatah
  • Like 1
Link to comment
Share on other sites

 

21 hours ago, wierd_w said:

A processor with microcode has to perform an opcode lookup during the "Decode" portion of the duty cycle. This is where microcode comes in.  This is software baked into the processor that basically says how to perform the operation specified.

 

The 8088 contains a microcode implementation, where the V20 does not-- it instead has hard wired logic-- when the instruction byte is raised on the data bus, the bit pattern of the instruction triggers TTL logic inside the processor, which then takes the data byte/word, and does the needful on it, and presents it out on the defined register.  There is no internal program to perform.

 

Since the implementation of the instruction set is 100% hardware, and it is done very efficiently, the V20 can do many instructions that would have taken more than one instruction cycle to complete, and do them in a single instruction cycle instead. This is why the V20 is "Faster" for the same clock rate. It becomes available to do the next instruction much faster than intel's chip.

 

Also, I am getting old and senile apparently. It was the NEC v33 that uses 100% wired logic.

 

The basic notion that the v20 is ready sooner, still applies though.  That is how it gets more done in the same clock rate.

 

That is really, really cool... I have to do more reading from the links you shared, but I found this video (from the same guy who sold me the boards), explain the different systems he has. It's interesting because he explains it basically how you do. He also shows the difference between his two processor boards... the 8088 / V20 compared with the V30 board. The V30 board has like 1/3rd the amount of chips on the board as the 8088 board does. (Starting at 1:07 is where he shows the difference):

 

 

 

18 hours ago, wierd_w said:

And it really should have been covered in your compsci degree.  At the very least, you should have been introduced to the two major design classes of CPU, namely Harvard and VonNeuman architectures.

 

These two kinds of CPU architectures handle instructions and data VERY DIFFERENTLY, and so, the manner in which they perform their processing is equally very different.

 

I say you SHOULD have been exposed to this, because it touches fundamentally on the concepts of computability, which is very much central to CompSci as a discipline.  As a graduate, you will no doubt immediately see parallels with the universal Turing machine in both architectures.

 

Yeah, I'm not sure what happened. I ended up having to take 3 Chemistry classes, which doesn't really apply, plus Astronomy, Physics 1 and 2, Physics with Calculus, and Calculus 2, and a bunch of other science courses, but nothing on circuits at all... but a lot of programming classes. I suspect my problem might have been that I changed universities half-way through. I got my Associates in Computer Science from one school, and then transferred to another school to get my bachelors in Computer Science, which focused heavily on just programming courses. I have two Masters degrees, but neither of them are CompSCI related, one is in law and the other is in information assurance.

 

We have a local community college here where I live, and I found this degree program, which... I

 

But I don't really need another degree, I just want the skills, so there's also this other degree: Electronics Technician CCC | Hillsborough Community College (hccfl.edu)

 

I'd never heard of this, but it's called a CCC... which I guess "half" an associates degree, probably similar to like a Masters Certificate. But it literally has all the courses I need / want:

 

YEAR I – First Semester

†CET 1112C Basic Digital Systems - 3 cr.
†EET 1036C Basic AC and DC - 3 cr.
†EET 1083C Electronics Orientation - 3 cr.
†MAC 1105 College Algebra - 3 cr.

YEAR I – Second Semester

CET 2113C Digital Systems Analysis - 3 cr.
EET 1037C Circuit Analysis - 3 cr.
†EET 1141C Solid State Devices - 3 cr.

YEAR I – Third Semester

CET 2335C Total Microcomputer Systems - 3 cr.
†EET 1142C Solid State Circuits - 3 cr.
*Electives - 4 cr.

*Select 4 credit hours from the following:

†CET 1123C Introduction to Microprocessors/Microcontrollers - 3 cr.
†CGS 1510 Spreadsheet Applications - 1 cr.
†CGS 1540 Database Management I - 1 cr.
EET 2155C Linear Integrated Circuits - 3 cr.

 

Obviously, I don't need College Algebra, and I don't need Spreadsheets or Database Management, but I definitely need all the other... so I think I'm going to go for this. I can do almost all of them online as well, which will be fantastic. All the ones with the crucifix next to them are online courses, and the ones without it I would need to go in person for.

 

 

20 hours ago, wierd_w said:

As for how a CPU does its thing...

 

 

 A CPU has the following bits and bobs:

 

Registers
A Data Bus

An Address Bus

Cache memory

ALUs

 

A register is basically an input or output location on which data is presented to, or taken from the processor. It is part of the processor itself.

The data and address busses are how data gets to and from the CPU from memory

Cache memory is memory inside the CPU to facilitate doing computations without doing a fetch cycle (from memory)

and ALUs, which are Arithmetic & Logic Units. These are assemblages of logic gates that perform operations.

 

In a nut shell, the CPU bootstraps itself by moving the address pointer to 0, at the bottom/top of memory, issues a fetch cycle, and tries to begin executing whatever was at that location. This is true for pretty much all processors you are likely to encounter.

 

When an instruction is fetched from memory, the data is presented to the CPU on the data bus, gets copied into the CPU's registers by the fetch instruction, and then it gets executed.

 

The instruction read in, gets decoded on the decode portion of the cycle.  The opcode is looked up in the microcode table,--OR-- its logical bit pattern is asserted on the wired logic array inside-- and then the ALU array either performs the prescribed microcode program, or the data presented with the opcode gets directly processed.

 

This is the really short, highly glossed over "Fetch-Decode-Execute" cycle.

https://en.wikipedia.org/wiki/Instruction_cycle

 

Recently accessed data gets replicated inside the cache memory of the CPU, to avoid having to do a fetch cycle if it is operated on again. (Such as with a multi-instruction operation-- like exponentiation done with repeat multiplication) This allows the operation to complete much faster, as a slow fetch cycle is avoided on subsequent modifications to the cached data.

https://en.wikipedia.org/wiki/CPU_cache

 

And of course, an entry on ALUs.

https://en.wikipedia.org/wiki/Arithmetic_logic_unit

 

The specifics on how a specific CPU accomplishes the work of a high level instruction using its ALUs, is very much processor specific. 

 

Thank you! I'm going to start going through all of this. All of the stuff is starting to come in the mail right now... and also, I just found this site... OMG...

 

https://www.tindie.com/browse/diy-electronics/

 

And there is even a section JUST for Vintage Computing: https://www.tindie.com/browse/vintagecomputing/?sort_by=popularity

 

 

 

 

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...