A computer components & hardware forum. HardwareBanter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » HardwareBanter forum » Processors » Intel
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Far and near pointers on the 80286 and later



 
 
Thread Tools Display Modes
  #1  
Old March 22nd 10, 10:09 AM posted to alt.sys.pdp10,alt.folklore.computers,comp.sys.intel,comp.arch
Jonathan de Boyne Pollard
external usenet poster
 
Posts: 62
Default Far and near pointers on the 80286 and later



I have detested the old x86 segmented architecture for about three
decades.

Where "about" is "less than", given the release year of the 80286? (-:

x86_64 doesn't even support segmentation.

And good riddance!!! What took them so long?! :-)

Trying to do things the "right" way (as I suspect many people in this
thread would label it) with IA64 and having most of the world (possibly
also including many people in this thread) ignore the results. (-:

  #2  
Old March 22nd 10, 04:09 PM posted to alt.sys.pdp10,alt.folklore.computers,comp.sys.intel,comp.arch
Bill Davidsen
external usenet poster
 
Posts: 245
Default Far and near pointers on the 80286 and later

Jonathan de Boyne Pollard wrote:


I have detested the old x86 segmented architecture for about three
decades.

Where "about" is "less than", given the release year of the 80286? (-:

x86_64 doesn't even support segmentation.

And good riddance!!! What took them so long?! :-)

Trying to do things the "right" way (as I suspect many people in this
thread would label it) with IA64 and having most of the world (possibly
also including many people in this thread) ignore the results. (-:

These quotes must be from posts missed or expired on the system I use, what was
the "x86_64 doesn't even support segmentation" in reference to, or is this
confusion between x86_64 and ia64 support, or ???
  #3  
Old March 22nd 10, 07:06 PM posted to alt.sys.pdp10,alt.folklore.computers,comp.sys.intel,comp.arch
Scott Lurndal
external usenet poster
 
Posts: 62
Default Far and near pointers on the 80286 and later

Jonathan de Boyne Pollard writes:


I have detested the old x86 segmented architecture for about three
decades.

Where "about" is "less than", given the release year of the 80286? (-:

x86_64 doesn't even support segmentation.

And good riddance!!! What took them so long?! :-)

Trying to do things the "right" way (as I suspect many people in this
thread would label it) with IA64 and having most of the world (possibly
also including many people in this thread) ignore the results. (-:


No. AMD designed the 64-bit extensions, not Intel. So IA64 had nothing
to do with it. And segmentation hasn't been used by any production
operating system on ia32 since the 386; made perfect sense for AMD to dump it
in 64-bit modes.

scott
  #4  
Old March 22nd 10, 10:04 PM posted to alt.sys.pdp10,alt.folklore.computers,comp.sys.intel,comp.arch
Jonathan de Boyne Pollard
external usenet poster
 
Posts: 62
Default Far and near pointers on the 80286 and later



x86_64 doesn't even support segmentation.

And good riddance!!! What took them so long?! :-)

Trying to do things the "right" way (as I suspect many people in this
thread would label it) with IA64 and having most of the world
(possibly also including many people in this thread) ignore the
results. (-:

No. AMD designed the 64-bit extensions, not Intel. So IA64 had nothing
to do with it.

You make the point for me, would you but realize it. Intel was spending
its time and effort doing things the "right" way, which is why it took
"so long" for x86-64 to become widespread across the board.

And segmentation hasn't been used by any production operating system
on ia32 since the 386; [...]

Untrue. It has been used on all of them. In addition to the obvious
requirements at the systems programming level, some of them permit (or
even require!) applications softwares to know of it. Multithreaded
applications programming on 32-bit OS/2 and (x86) Win32 can involve the
explicit use of the FS register by applications softwares, for example.

  #5  
Old March 22nd 10, 11:09 PM posted to alt.folklore.computers,comp.sys.intel,comp.arch
Seebs
external usenet poster
 
Posts: 3
Default Far and near pointers on the 80286 and later

On 2010-03-22, Jonathan de Boyne Pollard wrote:
You make the point for me, would you but realize it. Intel was spending
its time and effort doing things the "right" way, which is why it took
"so long" for x86-64 to become widespread across the board.


Time from first distribution of x86-64 to at least two major
vendors shipping parts in large quantities: ???

Time from first distribution of IA64 to at least two major
vendors shipping parts in large quantities: ???

I wouldn't say that x86-64 took long to become widespread, compared with
IA64. I'm also not at all sure that IA64 counts as doing things the "right"
way.

So far, the largest impact I've seen from IA64 is that it's increased
confusion because people keep thinking it means x86-64.

Untrue. It has been used on all of them. In addition to the obvious
requirements at the systems programming level, some of them permit (or
even require!) applications softwares to know of it. Multithreaded
applications programming on 32-bit OS/2 and (x86) Win32 can involve the
explicit use of the FS register by applications softwares, for example.


I was not aware of any remaining uses of the segmented address space stuff
in modern BSD or Linux on x86. So far as I can tell, they jump into the
flat memory model and stay there.

-s
--
Copyright 2010, all wrongs reversed. Peter Seebach /
http://www.seebs.net/log/ -- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) -- get educated!
  #6  
Old March 23rd 10, 05:27 PM posted to alt.folklore.computers,comp.sys.intel,comp.arch
Scott Lurndal
external usenet poster
 
Posts: 62
Default Far and near pointers on the 80286 and later

Jonathan de Boyne Pollard writes:


x86_64 doesn't even support segmentation.

And good riddance!!! What took them so long?! :-)

Trying to do things the "right" way (as I suspect many people in this
thread would label it) with IA64 and having most of the world
(possibly also including many people in this thread) ignore the
results. (-:

No. AMD designed the 64-bit extensions, not Intel. So IA64 had nothing
to do with it.

You make the point for me, would you but realize it. Intel was spending
its time and effort doing things the "right" way, which is why it took
"so long" for x86-64 to become widespread across the board.

And segmentation hasn't been used by any production operating system
on ia32 since the 386; [...]

Untrue. It has been used on all of them. In addition to the obvious
requirements at the systems programming level, some of them permit (or
even require!) applications softwares to know of it. Multithreaded
applications programming on 32-bit OS/2 and (x86) Win32 can involve the
explicit use of the FS register by applications softwares, for example.


They're using FS (and GS) as base registers, not technically as segments,
since the storage referred to by FS is also visible via DS and CS (which
both flat map the entire 4GB).

scott
  #7  
Old March 23rd 10, 05:48 PM posted to alt.folklore.computers,comp.sys.intel,comp.arch
George Neuner[_2_]
external usenet poster
 
Posts: 14
Default Far and near pointers on the 80286 and later

On 22 Mar 2010 23:09:34 GMT, Seebs wrote:

On 2010-03-22, Jonathan de Boyne Pollard wrote:
You make the point for me, would you but realize it. Intel was spending
its time and effort doing things the "right" way, which is why it took
"so long" for x86-64 to become widespread across the board.


Time from first distribution of x86-64 to at least two major
vendors shipping parts in large quantities: ???

Time from first distribution of IA64 to at least two major
vendors shipping parts in large quantities: ???

I wouldn't say that x86-64 took long to become widespread, compared with
IA64. I'm also not at all sure that IA64 counts as doing things the "right"
way.

So far, the largest impact I've seen from IA64 is that it's increased
confusion because people keep thinking it means x86-64.

Untrue. It has been used on all of them. In addition to the obvious
requirements at the systems programming level, some of them permit (or
even require!) applications softwares to know of it. Multithreaded
applications programming on 32-bit OS/2 and (x86) Win32 can involve the
explicit use of the FS register by applications softwares, for example.


I was not aware of any remaining uses of the segmented address space stuff
in modern BSD or Linux on x86. So far as I can tell, they jump into the
flat memory model and stay there.


Most 32-bit x86 OS's defined 2 segments representing user and kernel
mode spaces. This was done because the x86's protection ring traps
were based on the ring bits in the segment selector.

x86-64 still has protection rings although it only implements rings 0
and 2 (the others being rarely, if ever, used). Ring traps are now
triggered on a kernel mode bit in the page address.

32-bit Linux and Windows use the FS register to point to thread
information blocks. FS still works in compatibility mode on x86-64.
In long mode the GS register is used for this purpose although the
segment selector is not checked and the value is simply used as a
pointer.

George
  #8  
Old March 23rd 10, 08:54 PM posted to alt.folklore.computers,comp.sys.intel,comp.arch
Jonathan de Boyne Pollard
external usenet poster
 
Posts: 62
Default Far and near pointers on the 80286 and later



You make the point for me, would you but realize it. Intel was
spending its time and effort doing things the "right" way, which is
why it took "so long" for x86-64 to become widespread across the board.

Time from first distribution of x86-64 to at least two major vendors
shipping parts in large quantities: ???

Time from first distribution of IA64 to at least two major vendors
shipping parts in large quantities: ???

Both irrelevant to this discussion.

So far, the largest impact I've seen from IA64 is that it's increased
confusion because people keep thinking it means x86-64.

You've not understood the question that was asked. It was a fairly
simple one. M. Richmond's question, once again, was "what took them so
long" between the x86 architecture and the x86-64 architecture. And the
simple answer is: a decade of working on IA64 instead.

And segmentation hasn't been used by any production operating system
on ia32 since the 386; [...]


Untrue. It has been used on all of them. In addition to the obvious
requirements at the systems programming level, some of them permit
(or even require!) applications softwares to know of it.
Multithreaded applications programming on 32-bit OS/2 and (x86) Win32
can involve the explicit use of the FS register by applications
softwares, for example.

I was not aware of any remaining uses of the segmented address space
stuff in modern BSD or Linux on x86. [...]

Then perhaps the aforementioned obvious x86 system programming
requirements are not as obvious to some. That just means that you
aren't familiar enough with it, though. There are places where one has
to use segmentation, since the architecture requires it. It is by
segmentation that one tells an x86 system whether it is executing in
user or supervisor mode, for example.

  #9  
Old March 23rd 10, 10:36 PM posted to alt.folklore.computers,comp.sys.intel,comp.arch
Jonathan de Boyne Pollard
external usenet poster
 
Posts: 62
Default Far and near pointers on the 80286 and later



And segmentation hasn't been used by any production operating
system on ia32 since the 386; [...]

Untrue. It has been used on all of them. In addition to the obvious
requirements at the systems programming level, some of them permit
(or even require!) applications softwares to know of it.
Multithreaded applications programming on 32-bit OS/2 and (x86) Win32
can involve the explicit use of the FS register by applications
softwares, for example.

They're using FS (and GS) as base registers, not technically as
segments, since the storage referred to by FS is also visible via DS
and CS (which both flat map the entire 4GB).

That's a fairly weaselly distinction. "Using segmentation" isn't
restricted to segments never overlapping or aliasing one another.
Indeed, that's a common thing that production x86 operating systems do
with segmentation, from the aforementioned TIB segments in 32-bit OS/2
and Win32 to creating data selector aliases for code segments via DPMI
in DOS-Windows 3.1/9x/ME.

  #10  
Old March 24th 10, 12:28 AM posted to alt.folklore.computers,comp.sys.intel,comp.arch
Scott Lurndal
external usenet poster
 
Posts: 62
Default Far and near pointers on the 80286 and later

Jonathan de Boyne Pollard writes:


And segmentation hasn't been used by any production operating
system on ia32 since the 386; [...]

Untrue. It has been used on all of them. In addition to the obvious
requirements at the systems programming level, some of them permit
(or even require!) applications softwares to know of it.
Multithreaded applications programming on 32-bit OS/2 and (x86) Win32
can involve the explicit use of the FS register by applications
softwares, for example.

They're using FS (and GS) as base registers, not technically as
segments, since the storage referred to by FS is also visible via DS
and CS (which both flat map the entire 4GB).

That's a fairly weaselly distinction. "Using segmentation" isn't
restricted to segments never overlapping or aliasing one another.
Indeed, that's a common thing that production x86 operating systems do
with segmentation, from the aforementioned TIB segments in 32-bit OS/2
and Win32 to creating data selector aliases for code segments via DPMI
in DOS-Windows 3.1/9x/ME.


Granted, although I'd not call either OS/2 or Win32 running DOS as
modern operating systems.

But fundamentally, in both Windows (NT4+) and Linux, segmentation is only
used insofar as the legacy architecture requires it (e.g. CPL changes)
transitioning from real-mode through protected mode to paging, then long mode;
Were other methods available or if they're added, segmentation would be relgated to the
junk heap of history.

scott
 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
80286 Gaijinco Intel 3 November 3rd 06 09:06 PM
80286 Gaijinco Intel 3 October 31st 06 09:35 PM
USB 2.0 enclosure pointers Ken K Storage & Hardrives 4 May 9th 05 11:39 PM
Geforce 5700 pointers Matt Nvidia Videocards 1 February 16th 05 12:05 PM
K8V SE Deluxe bios guide, pointers tweaks.... Gordon Scott Asus Motherboards 5 December 18th 04 07:50 AM


All times are GMT +1. The time now is 06:16 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 HardwareBanter.
The comments are property of their posters.