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,368 of 4,255   
   mutazilah@gmail.com to Joe Monk   
   Re: segmentation   
   24 Oct 22 09:41:14   
   
   From: muta...@gmail.com   
      
   On Monday, October 24, 2022 at 11:46:15 PM UTC+8, Joe Monk wrote:   
   > > Memory models are something that mathematically arise from    
   > > the concept of segmentation.    
   > >    
   > > The 8086 is segmented, ergo a full suite of memory models.    
   > >   
   > Nope.    
   >    
   > The 8086 is a flat 1MB physical memory. Segmentation in the 8086/8088 arises   
   from the fact that the prior processor (8080A) was limited to 64K as it only   
   had 16 address pins. Segmentation is a VIRTUAL view of a PHYSICAL memory.    
   >    
   > You can throw away segmentation, and still write an 8086/8088 program.   
      
   No. Right from boot time, you are required to load the stack   
   segment, as there is no guarantee that that is set to a sensible   
   value. Nor is DS.   
      
   > "The 8086 memory address space consists of a sequence of up to one million   
   individual bytes in which any two consecutive bytes can be accessed as a   
   16-bit data word. As shown in figure 4-17, the memory address space is   
   physically divided into two banks    
   of up to 512k bytes each.    
   >    
   > "One bank is associated with the lower half of the CPU's 16-bit data bus   
   (data bits D7-DO), and the other bank is associated with the upper half of the   
   data bus (data bits DI5-D8). Address bits A19 through Al are used to   
   simultaneously address a    
   specific byte location in both the upper and lower banks, and the AO address   
   bit is not used in memory addressing. Instead, AO is used in memory bank   
   selection. The lower bank, which contains even-address bytes, is selected when   
   AO=O. The upper bank,    
   containing odd address bytes (AO=l), is selected by a separate signal, Bus   
   High Enable (BHE)."    
      
   I'm wondering what definition of "segmented" you are using that   
   you would consider any of this quote relevant to the discussion.   
      
   BFN. Paul.   
      
   --- 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