Memory segmentation: Difference between revisions

Content deleted Content added
History: would like to see a citation for that
Changing short description from "The division of computer's primary memory into separately relocatable segments or sections" to "Division of computer's primary memory into separately relocatable segments or sections"
 
(11 intermediate revisions by 4 users not shown)
Line 1:
{{Short description|The divisionDivision of computer's primary memory into separately relocatable segments or sections}}
{{About|segmented computer memory|segments in object code|Object file}}
{{Use dmy dates|date=July 2022|cs1-dates=y}}
Line 31:
 
==History==
The [[Burroughs Corporation]] [[Burroughs large systems|B5000]] computer was one of the first to implement segmentation, and "perhaps the first commercial computer to provide virtual memory"<ref>{{cite web |last=Mayer |first=Alastair J. W. |title=The Architecture of the Burroughs B5000 - 20 Years Later and Still Ahead of the Times? |url=http://www.smecc.org/The%20Architecture%20%20of%20the%20Burroughs%20B-5000.htm |access-date=2012-03-15}}</ref> based on segmentation. The B5000 is equipped with a segment information table called the Program Reference Table (PRT) which is used to indicate whether the corresponding segment resides in the main memory, to maintain the [[base address]] and the size of the segment.<ref>{{cite book |title=Computer Architecture and Organization |last=Hayes |first=John P. |isbn=0-07-027363-4 |year=1978 |page=371|publisher=McGraw-Hill }}</ref> The later [[Burroughs large systems#B6500|B6500]] computer also implemented segmentation; a version of its architecture is still in use today on the Unisys ClearPath Libra servers.{{Citation needed|date=April 2024}}
 
The [[GE 645]] computer, a modification of the [[GE-600 series|GE-635]] with segmentation and paging support added, was designed in 1964 to support [[Multics]].
Line 43:
==Examples==
 
===[[Burroughs Large Systems|Burroughs large system architectures]]===
{{seealso|Burroughs large systems descriptors}}
{{stub-section|date=January 2024}}
Burroughs introduced segmentation on the [[B5000]], followed by the compatible B5500 and B5700.
 
The later [[B6500]] replaced the Program Reference Table (PRT) with a [[Saguaro stack]], changed control word formats, changed [[Burroughs large systems descriptors|descriptor]] formats and changed the mechanism for referring to a control word or descriptor.
====B5000====
Descriptors in the [[B5000]], B5500 and B5700 reside in either the Program Reference Table (PRT) or the stack, and contain a ''presence bit'' indicating whether the data are present in memory. There are distinct data and program descriptors.
 
====B6500B5000, B5500 and B5700====
{{see also|B5000 instruction set|Burroughs large systems descriptors#B5000, B5500 and B5700}}
Words in the [[Burroughs Large Systems#B5000, B5500, and B5700|B5000, B5500 and B5700]] are 48 bits long.<ref name=oper>{{Citation
| title = The Operational Characteristic of the Processors for the Burroughs B 5000
| id = 5000-21005A
| edition = A
| year = 1962
| url = https://bitsavers.org/pdf/burroughs/LargeSystems/B5000_5500_5700/5000-21005_B5000_operChar_1963.pdf
| ___location = Detroit
| publisher = Burroughs
}}
Descriptors</ref> in[[Burroughs thelarge [[B5000systems descriptors|Descriptors]], B5500have andthe uppermost bit set in the word. B5700They reside in either the Program Reference Table (PRT) or the stack, and contain a ''presence bit'' indicating whether the data are present in memory. There are distinct data and program descriptors.<ref name=oper />{{rp|pages = 4{{hyp}}2-4{{hyp}}4}}
 
====B6500, B7500 and successors====
{{see also|Burroughs B6x00-7x00 instruction set|Burroughs large systems descriptors#B6500, B7500 and successors}}
Words in the B6500 and its successors have 48 bits of data and 3 tag bits.<!--4 bits in later machines?--><ref name="b6500-ref-man">{{cite book |url=http://www.bitsavers.org/pdf/burroughs/LargeSystems/B6500_6700/1043676_B6500_RefMan_Sep69.pdf |title=B6500 Information Processing Systems Reference Manual |publisher=Burroughs |date=September 1969}}</ref>{{rp|page=2{{hyp}}1}} The tag bits indicate the type of data contained in the word; there are several descriptor types, indicated by different tag bit values.<ref name="b6500-ref-man" />{{rp|pages=6{{hyp}}5-6{{hyp}}10}} Control words and descriptors reside in the Saguaro stack. Array segments may be paged.
 
The line includes the B6500, B6700, B7700, B6800, B6900, B5900, the A-series Burroughs and Unisys machines, and the current Clearpath MCP systems (Libra). While there have been a few enhancements over the years, particularly hardware advances, the architecture has changed little. The segmentation scheme has remained the same, see [[Virtual Memory#Segmented_virtual_memory|Segmented memory]].
 
===Multics architectures===