Announcement

Collapse

Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

A new article about x86 processors

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    A new article about x86 processors

    I dare to share a link to my translation from Russian of an article about x86 - https://litwr.livejournal.com/436.html
    It is a part of a series - https://litwr.livejournal.com/tag/processor (its original - https://habr.com/post/410591/)
    It will be interesting to get some comments and additions. I am especially interested why 80186 was used so rarely. Was there any reason for this? I am not a native English speaker so please excuse me my a bit not proper language. Indeed, I will be glad to get any corrections of grammar or stylistic. Thank you.

    #2
    The original 80186 had many incompatibilities with IBM PC architecture. Because it integrated things like the Programmable Interrupt Controller (PIC), Intel made decisions that conflicted with PC BIOS compatibility such as fixing the hardware IRQ mappings to vectors that conflicted with IBM BIOS interrupt numbers. It was mainly used as an embedded processor.
    "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

    Comment


      #3
      Originally posted by vol.litwr View Post
      I am especially interested why 80186 was used so rarely. Was there any reason for this?
      80186 (and 8018 contains integrated PIC/timer/DMA, but they aren't fully compatible with the chips used on the IBM PC mobo.
      Which means 80186/80188 computers can't be fully compatible with IBM PC.
      Anyway, these chips weren't really rare, they were pretty common in various controllers and similar devices, only rare as a PC CPU.

      Comment


        #4
        Intel was, at the time, competing with itself. The 8086/8088 was already an established product with a full line of (mostly 8-bit) peripheral support chips. If you'd done an 8085 design, the 8088 wasn't terribly different. (the 8257/37, 8259 and 8253/54 were designed for the 8080 world).

        At the time, Intel was also advertising its "Micro Mainframe" iAPX432 chipset as the next step-up in power. That project ended disastrously.
        At the same time Intel was working on the 80186, the 80286 project was in the works and Intel made sure that its customers were aware of it. Many chose to wait for the 80286 as it had significant features over the 8086. With the 80186, it was difficult to see where the chip fit into the overall picture--was it intended as a microcontroller or a microprocessor? When IBM went from the 8088 to the 80286, that pretty much locked out the 80186 from the PC picture, although it continued to be used quite widely in embedded designs.

        Comment


          #5
          Originally posted by vol.litwr View Post
          I am especially interested why 80186 was used so rarely. Was there any reason for this?
          More factors at play: The 80186 was released more or less simultaneously with the 80286, so there was no prolonged period of time in which the 186 represented the pinnacle of Intel's technology. It had the exact same pin package as the 80286, so it had no packaging advantage. Maybe it was cheaper than the 80286 (the 80188 certainly would have been)...that could have been its only impetus for use in computers.

          Comment


            #6
            At the time the 80186 was released (1982), it wasn't clear if the IBM PC would make any sort of market impact, so at least in the beginning, PC compatibility wasn't a consideration for most manufacturers. Since the world was doomed to run MS-DOS for years, it wasn't even clear if the incompatibilities would matter (based on earlier experience with CP/M).

            Just trying to present a balanced picture from one who was there. We worked with pre-release steppings of the 186, so I remember the discussions pretty well.

            Comment


              #7
              For the millionth time the 80188/80186 can be incorporated into a fully IBM compatible design. No you can't utilize most of the onboard peripherals, so you can't have your cake and eat it. There were a limited number of units that incorporated them rather successfully.

              Comment


                #8
                And, the natural question would be "what's the point, then?" True, you get some speed over an 8MHz 8086 and a slightly expanded instruction set, but that's scarcely a significant reason to go with a design that will cost significantly more.

                Comment


                  #9
                  Didn't the V20/V30 offer all the instruction set/clock efficiencies of the '18x, without the compatibility problems? Research Machines made the RM-Nimbus for quite a while with it, and their own versions of MS-DOS and Windows with it.

                  Comment


                    #10
                    Yes, it did--and boasted an 8080 instruction emulation feature as well. The V40/50 are even closer to a PC with their integrated peripherals; something that didn't come about in the 186 until the 186EB. When the 80186 debuted, it was sole-sourced, whereas the 8086/88 had several second sources (witness the number of 5150s that were shipped with someone else's 808.

                    There's also the danger that some bit of malicious or careless code will stumble upon your Control Block and play with it. I wonder how many 186 vendors just kept the control block at I/O port 0ff00h...

                    Comment


                      #11
                      Originally posted by pearce_jj View Post
                      Didn't the V20/V30 offer all the instruction set/clock efficiencies of the '18x, without the compatibility problems? Research Machines made the RM-Nimbus for quite a while with it, and their own versions of MS-DOS and Windows with it.
                      And people still can't grasp it. There were no compatibility problems. Regardless of whether there was a point in using it or not, it wasn't an in compatible chip. The Nimbus may or may not have utilized the 186s onboard peripherals. Most of the incompatibilities had to do with the video subsystem. And other issues. The Tandy 2000 for instance had all the same Intel peripheral chips that a 5160 mono had. But different video ics. That was usually the deal breaker
                      The TI Pro went as far as to use the 6545, compatible with the 6845, but configured it differently, resolution was different, etc. Hell the Ampro Little Board with the 80186 could boot stock MS-DOS 3, but was still largely not a compatible. That's my understanding anyway.

                      Comment


                        #12
                        Originally posted by 2icebitn View Post
                        And people still can't grasp it. There were no compatibility problems.
                        There were plenty of compatibility problems with the PC architecture - specifically BIOS conventions. The 8086/8088 had a single maskable interrupt line relying on external chips like the PIC to place the vector index on the bus during an interrupt cycle. The vector base could be set in each PIC. So IRQs could be theoretically mapped to any vector. While the 80186 had the same functionality, it also implemented the internal embedded peripherals' IRQ lines with fixed assignments that conflicted with what IBM chose in their PC BIOS for other software services.

                        One of worst examples is in IBM's PC BIOS, interrupts 12h and 13h are get memory size and BIOS disk services - respectively. On the original 80186, PIT timer 1 and timer 2 routed to those vectors - and could not be moved. So if you planned on using those internal timers - and many 'work-a-like' machines did for things like memory refresh, you had to put BIOS disk services (int 13h) somewhere else. Tandy chose Int 56h for BIOS disk services and modified their DOS 2 OEM distribution to use that instead of Int 13h. That's a pretty major change required in stock DOS beyond a typical vendor's IO.SYS customization.

                        That's just one example of how it is extremely difficult to implement PC BIOS compatibility on an original 80186. Then there are hardware incompatibilities such as all the on-board peripheral block register files are lumped into a Peripheral Control Block (PCB) and you can't separate the PIC/DMA/PIT register files to non-contiguous locations like in the original PC hardware. It's a mess...

                        Later variations of the 80186, as Chuck pointed out, like the EB/EC were more flexible but the configuration register access was incompatible with the original version requiring the boot-strapping ROM code to be re-written.

                        -Alan
                        "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

                        Comment


                          #13
                          Also FYI, the Tandy 2000 interrupt map and I/O map is here:

                          https://www.retrotronics.org/svn/t2kbios/notes
                          "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

                          Comment


                            #14
                            My understanding from inside Intel was that MS was told not to use specific interrupts but ignored Intel's advice. It was the horse driving the cart or maybe the other way around. In the early days, Intel and MS were not the best of friends. Now days they still take different steps but it is not as obvious as it was then.
                            Dwight

                            Comment


                              #15
                              So if there were so many problems, how were essentially 100% IBM compatible computers made??? You cite numerous incompatibilities IF the onboard peripherals were utilized. They didn't have to be. And that's the whole point.

                              Comment

                              Working...
                              X