WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Oldest Pc  (Read 4341 times)

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 776
Re: Oldest Pc
« Reply #15 on: December 01, 2024, 07:43:26 PM »
The original IBM PC and XT had 16-bit CPUs (Intel 8088)

@MikeLockmoore: Just FYI
The original 8088 and the 8088-2 were single core eight (8) bit processors.  Their counter-part, the 8086, is where 16bit came to life.
The 8086 (which is where "x86" was coined) had a similar footprint, bus structure, etc. to its older brother so in many cases those who were familiar with programming the '88 had little effort getting used to the '86.

The 80286, on the other hand, was a complete socket replacement (no longer a though-hole solderable DIP chip.)

There was also their embedded cousin, the Intel 80186 and an eight bit flavor, the 80188 which were released shortly before the 286 was sent to market.  I never could understand why they'd let the 286 out of the bag if the 188/86 was still an infant.

@SAFAD: When you mention 4MB disks - are you talking FLOPPY or MFM/RLL hard drive?
If FLOPPY, even if TCL could run on the machine, I don't imagine magnetic media like an 8" floppy surviving too long.
The "Floptical" might last a while as they're built with a stronger enclosure.
1984...  I don't recall there being writable CDs until the early/mid 90s but an old ISA based IDE card might be able to work with an IDE CD drive!?
The Linux Kernel wasn't developed/released for another decade or so if memory serves.

Sounds like you've got a challenge! :) Most folks that far back had proprietary or DOS based systems...

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11702
Re: Oldest Pc
« Reply #16 on: December 01, 2024, 10:01:34 PM »
Hi CentralWare
... The original 8088 and the 8088-2 were single core eight (8) bit processors. ...
Incorrect. The 8086 and 8088 are both 16 bit processors capable of running
the same binaries. The architecture and instruction sets of both chips are
identical.

The 8088 has an 8 bit data bus so it needs to do 2 bus transactions for
each 16 bit transfer. So it's throughput is slower than an 8086 running
at the same clock speed. It also had a 4 byte prefetch queue.

The 8086 has an 16 bit data bus so it needs only 1 bus transaction for
each 16 bit transfer. It has a 6 byte prefetch queue. If you wish to do
byte transfers, or word transfers on an odd address boundary (2 byte
transfers), extra decoding logic (A0, BHE) is required for the memory
chips and possibly the data buffers.

Quote
... There was also their embedded cousin, the Intel 80186 and an eight bit flavor, the 80188 ...
That's also a 16 bit processor.
 

Offline linic

  • Newbie
  • *
  • Posts: 23
Re: Oldest Pc
« Reply #17 on: December 03, 2024, 11:08:36 AM »
Hello!
Sorry about to dig this... but: I have an (VERY!) old thinclient (2007?), and it has not a lot of documentation.
it´s a "Winbox Tecnoworld" - has a "sys sys sys" processor (?!?) / 128mb ram / ide (40pin) interface and an adaptor for a flash card (1GB)
I think Ill try to turn this guy on - and (MAYBE!) could this may be the oldest pc running TC.
Ill be in touch, gentleman.
(pics in a very near future and sorry about my terrible english!)
I'm running TinyCore 6.3 on a laptop from 2001 with similar specs (128MB of RAM, Pentium III (I think), 20GB IDE HDD) and it works quite well.  I can't fit a newer TinyCore into that RAM limit and it's hard to upgrade that era of TC anyway, so I've been maintaining modern packages for my own purposes for a good few years now.  If someone wants me to share them, I can email them in, but I suspect the community will be wanting to retire TC6 soon (which will leave me in trouble: it would be helpful if I knew how to run a mirror just for TC6...).

I use it for the Old Computer Challenge (see my Blog: https://ddlyh.smol.pub/on-hardware ).


I got this old thinkpad 560z from October 1998 working with microcrore 14.0 (no GUI). With tmux, w3m and some patience it's still able to browse the net :)

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11702
Re: Oldest Pc
« Reply #18 on: December 03, 2024, 01:05:16 PM »
Hi Loo!
I almost forgot about the Sony laptop someone gave me.

It's a Sony VAIO VGN-FZ240E from 2007 running TC15 x86_64.
Intel Core2 Duo T7250, 4 Gig RAM, R1120J7 BIOS Version
I found firmware on GitHub to enable the Ricoh camera VGP-VCC8 [R5U870]

Virtualization was disabled by VAIO Corp, BIOS had no virtualization options listed.
Found online how to read CMOS data, flip a bit, and write it back to enable virtualization.

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 776
Re: Oldest Pc
« Reply #19 on: December 05, 2024, 04:37:51 AM »
Incorrect. The 8086 and 8088 are both 16 bit processors capable of running the same binaries. The architecture and instruction sets of both chips are identical.
Identical?  If having 40 pins means "architecture" to you; there are issues.  The first one would be "...find the pin D8 on the 8088"
If you're unaware of the differences between instructions of the 88 and 86, I'm guessing you've never programmed hardware support.  (The 88 requires Min/Max and High/Low byte registers to determine which half of the 16-bit value it's attempting to emulate...  the 86 has none of this.  Any ASM experience from back then, by chance?  I would have imagined you to know this.)

The 8088 has an 8 bit data bus so it needs to do 2 bus transactions for each 16 bit transfer. So it's throughput is slower than an 8086 running at the same clock speed. It also had a 4 byte prefetch queue.

You just said it yourself...  8 bit bus...  versus the 86's 16 bit bus
"The architecture and instruction sets of both chips are identical."

If you believe all of the above to be true, here's a task for you:

  • Take either release of the 8088 and socket it onto a generic breadboard w/ shielding
  • I'll give you a basic schematic to follow to add a crystal and filters to match
  • Find a way to pump 16 "ones and zeros" out of eight pins with no external hardware added

In short, without the added hardware normally found on 8088 dedicated motherboards, the processor itself has no way to communicate with the outside world in 16 bit words.
For all of us hardware junkies who were forced to study tube theory in the transistor age, there was one common with logic devices:  The number of pins (or tubes!) available to read or represent data is the maximum number of bits the hardware is capable of.  I couldn't care less about emulation (I'll explain.)

The 80286 is a (true) 16 bit microprocessor (doesn't matter what instruction set / commands / etc. it can speak or be spoken to - - it can pump 16 "ones and zeros" in a single Machine Cycle via RAM or I/O.)

The 80386 is a (true) 16 bit microprocessor -- again, doesn't matter that it "emulates" 32 bit instructions -- it can only transmit 16 "bits and bobs" in a single breath.

Emulation, such as the 8088 or even the 386 have one thing in common... due to their fake nature, every shift they have to do in order to reach their intended number of data bits costs Machine Cycles; in turn, cutting speed (Hz) in half each time.  An 8088 running under a 5mhz crystal will operate instructions at a little under 2.5Mhz.  This "expense" was perfectly acceptable for shops building embedded devices and the likes -- as SPEED was less important than cost and addressing.

For example, there's NOTHING stopping anyone from taking an 8088 and re-flashing it to cycle FOUR times (instead of two) in turn, creating an array of 32 bits of data.  Back in the day of 8088, the S100 or ISA BUS was never intended to carry 32 "ones and zeros" so nobody bothered doing it (that I'm AWARE of...  never know!!!)  Bare in mind, anything over 8 bits from the 88 has to be managed outside of the processor and the CPU can only assume success without an elaborate self-checking mechanism that would burn even more cycles.

If your definition of "Processor" means merely something that processes information, then I'll concede over language barriers.  In this case, it's a 16 bit information processor regardless of how it gets there.

If your definition of "Processor" comes from "Microprocessor" which in turn defines the Integrated Circuit (Chip) which an MPU is defined by hardware through the number of address and data lines it has available and the speed in which it can process those lines in "ticks"...  the 88's (intentionally) an 8-bit microprocessor capable of emulating 16 bit instruction when governed and assisted by external hardware allowing it to fulfill the needs of the E/ISA bus and the extended RAM BUS.  (...OR, when NOT being implemented as a motherboard cake topper, you had the option to utilize the 88 as a full-fledged 8 bit micro OR, if you wanted to supply the necessary hardware, you could do the same 16bit emulation -- which wasn't all that common outside of control circuits where more than 250 logic ladders were required and they wanted everything under one roof.)

LOL1 - in the end... it was a lot easier to teach using a Z80 as opposed to i88 in 8-bit.

LOL2 - Tandy initially thought so, too!
   (...someone in the audience mumbles...  "who's Tandy?"  Someone else whimpers "...I still wanna know what an 8088 is!?")

LOL3 - I had a client who just recently passed at age 97 who still had the 8086/87 system we built and programmed back in the 80s which we later upgraded the mobo to a 286 running our custom DOS foundry app for repair shop logs and diagnostics and a program called PFS: First Choice for invoicing and inventory which it was never really intended for but was molded to do so!  Decades went by...  Both apps were still alive and well as they maintained a 60+ year old TV/Electronics Repair Shop in N.E. Ohio years later sitting next to a newer box running XP and Quick Books.
...invoices still being printed on a dot-matrix "screamer" - I didn't know they even MADE continuous form paper anymore!!

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11702
Re: Oldest Pc
« Reply #20 on: December 05, 2024, 03:31:04 PM »
Hi CentralWare
... If having 40 pins means "architecture" to you; there are issues. ...
It doesn't, that's packaging. The architecture refers to the  execution unit  (EU) which
both CPUs share. The  bus interface units  (BIU) do differ.

Quote
... (The 88 requires Min/Max and High/Low byte registers to determine which half of the 16-bit value it's attempting to emulate...  the 86 has none of this. ...
I'm not sure what you are referring to here. Both have a Min/Max pin that gets tied high or low.
About  "High/Low byte registers" , are you referring to AH and AL, BH and BL, etc. ?
Because both CPUs have them. Just like they both have AX, BX, etc. The 8088 can execute a
MOV AX, MEM  instruction. The BIU handles the write as 2 separate 1 byte transfers.

Quote
... You just said it yourself...  8 bit bus...  versus the 86's 16 bit bus
"The architecture and instruction sets of both chips are identical." ...
That's the external bus. Both chips use a native integer size of 16 bits and have
16 bit oriented instruction sets.
32 bit Pentiums had 64 bit data busses. Does that make them 64 bit?

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 776
Re: Oldest Pc
« Reply #21 on: December 07, 2024, 06:35:23 PM »
How about we send the debate up-stream?
= See Photo =
Let's put the argument to rest, shall we?
Obviously, not even Intel knows what they're talking about!

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11702
Re: Oldest Pc
« Reply #22 on: December 07, 2024, 07:38:37 PM »
Hi CentralWare
OK.

Offline DHeadshot

  • Newbie
  • *
  • Posts: 22
    • Fediverse profile
Re: Oldest Pc
« Reply #23 on: December 08, 2024, 11:01:24 AM »
I'm hesitant to weigh in on this, but the distinctions of 8bit/16bit/etc. are a little meaningless anyway, aren't they?  The 8086 had a 16-bit databus, a 20-bit address bus, an 8-bit minimum register size and a 16-bit maximum register size.  The Z80 had an 8-bit databus, a 16-bit databus, an 8-bit minimum register size and (arguably) a 16-bit maximum register size (at least, it could treat HL like a single register, like the 8086 could treat AH & AL as AX).  The 8088 had a multiplexed 8-bit databus, but in the same way that the EDUC-8 had a multiplexed 1-bit databus (it was a serial system).  There are arguments here to class the 8086, 8088 and Z80 as all 16-bit or all 8-bit systems, depending on what you pick.  Meanwhile, ARMv6 has everything as 32-bit, so is more straightforward, yet the ARMv6 is like chalk and cheese with the i386 architecture, which is called 32-bit.  I don't feel like the bit-length distinctions are any more than a guide (or at worst, marketing bluster - see, for instance, the console bit-wars).

Anyway, that's my tuppence, but probably not worth much...

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 776
Re: Oldest Pc
« Reply #24 on: December 09, 2024, 12:01:24 AM »
@DHeadshot: I appreciate your take on registers vs. busses and the i386 comparative enticed a grin :)

I agree with @Rich that from a programming aspect, the "bit" capacity of a processor should be the general register count as more times than not, a software developer doesn't have to concern themselves how the processor gets from A to Z, just that it's been told to do so and they otherwise wipe their hands of the task. However, from a hardware perspective Intel just had to introduce a "cloning" method in their internal services to basically recode an 8008 processor, if you will, to utilize the 8086 instruction set.  This required a buffering system that took eight bit words and suspended them (latches) while waiting for the second word to complete the "sentence" generally speaking.


Here's a motherboard from an IBM-5150 (XT/8088; missing the optional Math-Co)
Immediately to the right of the processor you'll find a number of SN74LS373 chips (8-bit latches) and their entire job in life is to help an eight bit processor speak in a 16 bit world by the processor either pushing eight bits at a time, one to each of two latches OR external hardware filling the two latches simultaneously (assuming 16 bit hardware) and the processor then reading each of the latches, one at a time.  Nine bit parity ram, though... that was a nightmare.

Regardless, from a hardware perspective, talking from the outside world (such as an extension card) into the processor was able to be done in 16-bit "speak" but timing and Machine Cycles were always calculated as an eight bit device since it's the max it could cough up in a single cycle.

Think of it like this...
You plug in a network card...  the NIC has to be able to keep up with data packets on the wire AND interact with those which are intended for it.  "Easy Peasy!" one thinks.

Our NIC gets a packet and triggers an interrupt for the processor saying "Hey, bartender, I need some service!" and usually the next byte(s) being sent home are ready to be processed as soon as the "green light" comes on.

NIC then dumps its 16 bits into the latches, not knowing there are split latches to begin with, and goes high to signal it's ready to process.  NOW, on the 8086 the next cycle comes back with an "acknowledge" signal.  On the 88, however...  it's dead silence, as only half of the content has been digested at this point.  For networking, this usually trips a HALT and RESEND to get prepared as the silence can be predicted as a dropped packet/segment.  As such, "predictive" nature of hardware had to be modified to detect whether or not "wait cycles" were required to "hurry up and wait" for virtual processors.

Most everything detailed above (yes, I have kids...  the analogy works for all ages! :)  and yes, I started "family" rather late in life! The IBM above was my beloved!) is done outside of the programming detail unless the hardware is specifically created to be probed for that level of detail -- which "most" of the time was not the case as it costs extra to design, produce, etc.

...but the distinctions of 8bit/16bit/etc. are a little meaningless anyway, aren't they?
From a programming aspect, they're important just to know which instruction set you're working with.  If you're not interacting directly with outside hardware, you'd never know the difference.
From a hardware aspect...  it's vital.  The people who designed the above motherboard had to go that extra mile turning an 8-bit (one lane road) into a virtual 16-bit (two lane road) with all of the limitations imposed of being a single lane.  (Thus why the numerous latches, FFs, etc. so that the middle-man hardware made it easier for programmers to not have to differentiate between the 8088 and 8086 EXCEPT on direct hardware projects where those differences mattered if timing or response time/cycles were essential.)

...chalk and cheese...
i386 was, in my opinion, a glorified 286 with 32 bit instruction coded in using the same methodology as the 88 vs. the 86.  "With enough latches and FFs to hold data and build it up into larger words, we can pretend to have a 32 bit processor long before we actually produce a real one!  AND find a way to spend the unused silicon from the 286 batches!"

The ARM processors... for me...  fall into that category of "Those are so adorable!"  The Raspberry silicon (ie: RP2040) even more so.  We had a spool of 2040s which JUKI choked on half way through the project so there's a short strip of processors hanging on my workbench's whiteboard (maybe 10-12 chips) but just to think of those itty-bitty (6-7mm?) things could run circles around our 808x bricks of the past :)  Okay, run may be a strong word...  quickly walk said circles?

Offline gadget42

  • Hero Member
  • *****
  • Posts: 823
Re: Oldest Pc
« Reply #25 on: December 09, 2024, 03:37:01 AM »
this thread reminded me to mention Andrew Smith's latest book "Devil in the Stack" which is a good read for the layman as well as most uninitiated folks.
The fluctuation theorem has long been known for a sudden switch of the Hamiltonian of a classical system Z54 . For a quantum system with a Hamiltonian changing from... https://forum.tinycorelinux.net/index.php/topic,25972.msg166580.html#msg166580