home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.development      Operating system development chatter      4,255 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,235 of 4,255   
   mutazilah@gmail.com to Scott Lurndal   
   Re: segmentation   
   29 Aug 22 17:33:12   
   
   From: muta...@gmail.com   
      
   On Tuesday, August 30, 2022 at 7:19:44 AM UTC+8, Scott Lurndal wrote:   
   > "muta...@gmail.com"  writes:   
   > >On Tuesday, August 30, 2022 at 5:17:36 AM UTC+8, Scott Lurndal wrote:   
   > >> "muta...@gmail.com"  writes:   
   > >> >On Tuesday, July 13, 2021 at 1:14:37 AM UTC+8, Scott Lurndal wrote:   
   > >> >> Rod Pemberton  writes:   
   > >> >> >On Fri, 9 Jul 2021 18:04:18 -0700 (PDT)   
   > >> >> >"muta...@gmail.com"  wrote:   
   > >> >> >   
   > >> >> >> The more I look at the 8086, the more I am happy   
   > >> >> >> that segmentation was the correct technical   
   > >> >> >> solution to cope with machines that still had a   
   > >> >> >> 16-bit processor and registers, but had more than   
   > >> >> >> 64k memory available to them. I just would have   
   > >> >> >> made the segment shift flexible instead of telling   
   > >> >> >> everyone that "4" was being set in stone.   
   > >> >> >   
   > >> >> >They would've been wiser to split a 32-bit address across two   
   registers   
   > >> >> >instead of using a 4-bit shift and add. That would've allowed for an   
   > >> >> >easier transition to 32-bit.   
   > >> >> A waste of scarce resources (registers). Consider also the   
   > >> >> required logic (and the process in the 1980s - the 8080 was 6um,   
   > >> >> 8086 was 3um). Today, 5nm is in production and 3nm is coming soon,   
   > >> >> that's 1000 times finer).   
   > >> >   
   > >> >   
   > >> >Would it have been possible within the limits   
   > >> >of late 70s/early 80s technology to have an   
   > >> >Instruction or jumper to switch between 4 and 5 bit   
   > >> >segment shifts at a minimum?   
   > >> Anything is possible. But the design, engineering and   
   > >> testing of such a feature would add cost, for no gain.   
   > >   
   > >Not everything is possible. Intel couldn't   
   > >have fabricated an x64 in 1978.   
   > Sure they could have. It would have cost a fortune, and   
   > required many thousands of SSI chips. But it could be done.   
   > >   
   > >So can you tell me what is possible and what   
   > >the extra cost is for each option. Are we talking 1%, 10%, 100% extra?   
   > Hard to say. The transistor budget for the process node they were using   
   > was pretty small; Who knows what adding a couple of flops and the   
   > associated wiring would have cost. Note also at the time, they were   
   > still laying out the circuits on big drafting tables, and there were no   
   > fancy EDA tools. They ran simulations on very large, very expensive   
   > mainframes. A minor change could easily cascade into something major.   
   >   
   > They'd have to have a large customer demand for the feature to even   
   > consider it.   
   > >   
   > >One option would be to have an 8086   
   > >exactly as is, and a new processor, 8086-5,   
   > >which is exactly the same except 5 bit shifts.   
   > That's still a costly proposition, see above. And they'd have   
   > to expect to make their investment back, plus profit.   
   > >   
   > >   
   > >What would you recommend within the   
   > >constraints of late 70s hardware and my   
   > >desire for a flexible shift value, not   
   > >necessarily immediately, but with a new   
   > >8086-5+ to be released in the mid 80s.   
   > I'd recommend you look at the Motorola 68000.   
      
   No, that's not what I'm after.   
      
   Ok, what if the 5 bit segment shift option was   
   to be added to the 80286 or 80386 instead?   
   Would that be a minor addition?   
      
   And maybe for the 8086 have an instruction that just   
   loads the number 4 into ax? Would that be a minor cost?   
      
   I understand it's not something you personally want or think   
   is sensible. It is something that I want and think is   
   sensible, but you are the one with the required   
   technical knowledge to answer my question.   
      
   Another option would be no change at all to the 8086   
   and you instead detect if you have an 80286 and if so, you know   
   the flexible shift value instruction is available. But that   
   seems clumsy.   
      
   And should there be an instruction to set the shift value   
   dynamically? And on the 8086 that would be a noop.   
      
   So the procedure is to set what value you want, but then   
   retrieve the current shift value, which may or may   
   not have changed.   
      
   And you know what? I think regardless of how the hardware does   
   or doesn't do it, this should be hidden in a bios call.   
      
   If the bios has to have logic to detect if it is an   
   80286+, it doesn't matter if that is clumsy.   
      
   And it doesn't matter if it is something done by the user   
   in the bios setup.   
      
   And Bochs could have an updated bios even if normal   
   machines don't.   
      
   Does that sound reasonable for my, not your, goals?   
      
   And where specifically should the bios call   
   be put? Interrupt number and procedure for   
   setting, or at least getting, the shift value.   
      
   I think there would never be a need to set the   
   shift value dynamically by the os.   
      
   Maybe if someone has a need for that it could   
   be added later.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca