answersLogoWhite

0


Best Answer

Minicomputers during the late 1970s were running up against the 16-bit 64-KB address limit, as memory had become cheaper. Some minicomputers like the PDP-11 used complex bank-switching schemes, or, in the case of Digital's VAX, redesigned much more expensive processors which could directly handle 32-bit addressing and data. The original 8086, developed from the simple 8080microprocessor and primarily aiming at very small and inexpensive computers and other specialized devices, instead adopted simple segment registers which increased the memory address width by only 4 bits. By multiplying a 64-KB address by 16, the 20-bit address could address a total of one megabyte (1,048,576 bytes) which was quite a large amount for a small computer at the time. The concept of segment registers was not new to many mainframes which used segment registers to quickly swap to different tasks. In practice, on the x86 it was (is) a much-criticized implementation which greatly complicated many common programming tasks and compilers. However, the architecture soon allowed linear 32-bit addressing (starting with the 80386 in late 1985) but major actors (such as Microsoft) took many years to convert their 16-bit based systems. The 80386 (and 80486) was therefore largely used as a fast (but still 16-bit based) 8086 for many years.

Data and/or code could be managed within "near" 16-bit segments within this 1 MB address space, or a compiler could operate in a "far" mode using 32-bit segment:offset pairs reaching (only) 1 MB. While that would also prove to be quite limiting by the mid-1980s, it was working for the emerging PC market, and made it very simple to translate software from the older 8008, 8080, 8085, andZ80 to the newer processor. In 1985, the 16-bit segment addressing model was effectively factored out by the introduction of 32-bit offset registers, in the 386 design.

In real mode, segmentation is achieved by shifting the segment address left by 4 bits and adding an offset in order to receive a final 20-bit address. For example, if DS is A000h and SI is 5677h, DS:SI will point at the absolute address DS × 10h + SI = A5677h. Thus the total address space in real mode is 220 bytes, or 1 MB, quite an impressive figure for 1978. All memory addresses consist of both a segment and offset; every type of access (code, data, or stack) has a default segment register associated with it (for data the register is usually DS, for code it is CS, and for stack it is SS). For data accesses, the segment register can be explicitly specified (using a segment override prefix) to use any of the four segment registers.

In this scheme, two different segment/offset pairs can point at a single absolute location. Thus, if DS is A111h and SI is 4567h, DS:SI will point at the same A5677h as above. This scheme makes it impossible to use more than four segments at once. CS and SS are vital for the correct functioning of the program, so that only DS and ES can be used to point to data segments outside the program (or, more precisely, outside the currently-executing segment of the program) or the stack.

In protected mode, a segment register no longer contains the physical address of the beginning of a segment, but contain a "selector" that points to a system-level structure called a segment descriptor. A segment descriptor contains the physical address of the beginning of the segment, the length of the segment, and access permissions to that segment. The offset is checked against the length of the segment, with offsets referring to locations outside the segment causing an exception. Offsets referring to locations inside the segment are combined with the physical address of the beginning of the segment to get the physical address corresponding to that offset.

The segmented nature can make programming and compiler design difficult because the use of near and far pointers affects performance.- yogeshwar Nair

User Avatar

Wiki User

12y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is the history of segments registers?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

What has the author Charles F Seng written?

Charles F. Seng has written: 'St. Nicholas Church tombstone inscriptions (short history)' -- subject(s): Cemeteries, Church history, Church records and registers, Genealogy, History, Inscriptions, Registers, Registers of births, St. Nicholas Church (Berlinsville, Pa.)


What has the author Gaius Marcus Brumbaugh written?

Gaius Marcus Brumbaugh has written: 'Maryland records' -- subject(s): Sources, Census, 1776, History, Registers of births, Census 'Revolutionary War Records' -- subject(s): Registers, History, Bounties, Military, Military Bounties, Registers, lists


What has the author Anette Pries written?

Anette Pries has written: 'Lengefelder Dorfchronik und Familienbuch' -- subject(s): Registers of births, Church records and registers, Genealogy, History


What are segment registers?

In the x86 processor architecture, memory addresses are specified in two parts called the segment and the offset. One usually thinks of the segment as specifying the beginning of a block of memory allocated by the system and the offset as an index into it. Segment values are stored in the segment registers. There are four or more segment registers: CS contains the segment of the current instruction (IP is the offset), SS contains the stack segment (SP is the offset), DS is the segment used by default for most data operations, ES (and, in more recent processors, FS and GS) is an extra segment register. Most memory operations accept a segment override prefix that allows use of a segment register other than the default one.


What has the author Linda Ericson Devereaux written?

Linda Ericson Devereaux has written: 'The Texas Navy' -- subject(s): Genealogy, History, Registers, Registers of births, Texas, Texas. Navy 'Tales from the old stone fort' -- subject(s): Anecdotes, History


What has the author Henry C Peden written?

Henry C. Peden has written: 'A collection of Maryland church records' -- subject(s): Church records and registers, Genealogy, Registers of births 'Frank genealogy' -- subject(s): Family, Genealogy 'Maryland deponents, 1634-1799' -- subject(s): Court records, Genealogy 'St. George's (Old Spesutia) Parish, Harford County, Maryland' -- subject(s): Church records and registers, Genealogy, Registers, Registers of births, St. George's Church (Perryman, Md.) 'Maryland public service records, 1775-1783' -- subject(s): Appropriations and expenditures, Claims, Genealogy, Government purchasing, History, Registers 'Quaker records of Baltimore and Harford counties, Maryland, 1801-1825' -- subject(s): Church records and registers, Genealogy, Quakers, Registers of births 'Baltimore County overseers of roads, 1693-1793' -- subject(s): Genealogy, Officials and employees, Registers 'A guide to genealogical research in Maryland' -- subject(s): Bibliography, Genealogy 'Revolutionary patriots of Baltimore Town and Baltimore County, Maryland, 1775-1783' -- subject(s): Genealogy, History, Registers, Revolutionaries 'Inhabitants of Harford County, Maryland, 1791-1800' -- subject(s): Genealogy, Registers, Registers of births 'Heirs and legatees of Harford County, Maryland' -- subject(s): Court records, Genealogy 'Marriages and deaths from Baltimore newspapers, 1817-1824 /edited by Henry C. Peden, Jr' -- subject(s): Marriage records, Registers of births, Genealogy 'Revolutionary patriots of Montgomery County, Maryland, 1776-1783' -- subject(s): Genealogy, History, Registers, Registers of births, Soldiers 'More Marylanders to Carolina' -- subject(s): Genealogy, Registers of births 'The William Wood and related families of Albemarle County, Virginia and Barren County, Kentucky in the 1800's' -- subject(s): Genealogy 'Revolutionary patriots of Delaware, 1775-1783' -- subject(s): Genealogy, History, Registers, Revolutionaries 'The Pedens of southwest Virginia and southcentral Kentucky, descendants of John Peden (1734-1815) and Mary Smith (1734-1806)' 'Revolutionary patriots of Charles County, Maryland, 1775-1783' -- subject(s): Genealogy, History, Registers, Soldiers 'A closer look at St. John's parish registers, 1701-1801' -- subject(s): Church records and registers, Genealogy, Registers, St. John's Church (Joppa, Md.) 'Revolutionary patriots of Harford County, Maryland, 1775-1783' -- subject(s): Genealogy, History, Registers, Registers of births, Soldiers 'Revolutionary patriots of Maryland, 1775-1783' -- subject(s): Genealogy, History, Registers, Registers of births, Soldiers 'Genealogy of the Pedens of Kentucky, 1756-1986' -- subject(s): Genealogy 'Inhabitants of Cecil County, Maryland, 1649-1774' -- subject(s): Genealogy, Registers 'Maryland Society, Sons of the American Revolution centennial history, 1889-1989' -- subject(s): Biography, History, Societies, Sons of the American Revolution, Sons of the American Revolution. Maryland Society


What has the author Erich Reinbold written?

Erich Reinbold has written: 'Ortssippenbuch Wagenstadt' -- subject(s): Genealogy, Registers of births 'Ortssippenbuch Tutschfelden' -- subject(s): Genealogy, History, Registers of births


What has the author Darrell Debo written?

Darrell Debo has written: 'Burnet County history' -- subject(s): Biography, Genealogy, History, Registers of births


How do scholars traditionally divide the history of ancient Egypt?

history for ancient Egypt is divided into dynasties which are 100 year segments


What has the author Clarence Stewart Peterson written?

Clarence Stewart Peterson has written: 'Known Military Dead During the War of 1812' -- subject(s): Registers of dead, History, United States War of 1812 'Known military dead during the American Revolutionary War, 1775-1783' -- subject(s): History, Registers of dead, Registers 'Consolidated bibliography of county histories in fifty States in 1961' -- subject(s): Local history, Bibliography


What has the author Jennett Blakeslee Frost written?

Jennett Blakeslee Frost has written: 'The rebellion in the United States' -- subject(s): Accessible book, History, United States Civil War, 1861-1865 'The rebellion in the United States' -- subject(s): Registers of dead, Registers, History


What is the history of computer registers till date?

I'm not sure what you are asking about. If it is the internal CPU registers in which arithmetic/logic results and index values are stored, there have been machines with anywhere from zero to hundreds of registers built. Machines with zero registers store everything directly in main memory, so they need no CPU registers. A complete history of which machines, when, what registers, and how many; even without other architectural details would take thousands of pages to tabulate and would show no meaningful patterns. It is also very unlikely that such a history could be assembled as much of the documentation on many machines no longer exists. Companies like to destroy obsolete files to recover storage space for new files.If you are asking for something else, please clarify and maybe an answer could be found.