Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
IBM 1401
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Architecture== [[File:IBM 1401 Control Panel.jpg|thumb|1401 Console and, below, the Auxiliary Console.]] Each alphanumeric character in the 1401 is encoded by six [[bit]]s, called ''B,A,8,4,2,1''. The ''B,A'' bits are called ''zone'' bits and the ''8,4,2,1'' bits are called ''numeric'' bits, terms taken from the [[Punched card#IBM 80-column format and character codes|IBM 80 column punched card]]. * For digits 1 through 9, the bits ''B,A'' are zero, the digit [[Binary-coded decimal|BCD]] encoded in bits ''8,4,2,1''. Digit 0 is encoded ''8,2''. * For alphabetic characters the setting of bits is derived from the zone and digit punches of the [[Punched card#IBM 80-column format and character codes|IBM 80 column punched card character code]]: ''B,A'' from ''12'', ''B'' from ''11'', and ''A'' from ''0''; the setting of bits ''8,4,2,1'' from BCD encoding of the 1 through 9 punches. Thus the letter A, ''12,1'' in the punched card character code, is encoded ''B,A,1''. * Encodings of punched card characters with two or more digit punches can be found in the [[IBM 1401#Character and op codes|character and op codes]] table. IBM called the 1401's character code BCD ("binary-coded decimal"), even though that term describes only the decimal digit encoding.<ref>[[binary-coded decimal#IBM and BCD|IBM and BCD]]</ref> The 1401's alphanumeric collating sequence is compatible with the punched card collating sequence. Associated with each memory location are two other bits, called ''C'' for odd [[parity bit|parity check]] and ''M'' for [[Word mark (computer hardware)|word mark]]. ''M'' is present in memory but not on punched cards, and has to be set using special machine instructions; when printing memory it is typically displayed by underlining the character. ''C'' is calculated automatically and is also not present on punched cards. Each memory location then, has the following bits: ''C B A 8 4 2 1 M'' The 1401 was available in six [[core memory|memory]] configurations: 1,400, 2,000, 4,000, 8,000, 12,000, or 16,000 characters.{{efn|The 1401 is a decimal computer, so e.g. "8000" characters is not 8,192 characters.}} Each character is addressable, addresses ranging from 0 through 15999. A very small number of 1401s were expanded to 32,000 characters by special request.<ref>{{Cite book|last=Fedorkow|first=Guy|url=http://ibm-1401.info/IBM-1401-Theory-of-Operation-GF.pdf |archive-url=https://ghostarchive.org/archive/20221010/http://ibm-1401.info/IBM-1401-Theory-of-Operation-GF.pdf |archive-date=2022-10-10 |url-status=live|title=IBM 1401AModernTheory of Operation|year=2015|pages=143}}</ref> Some operations use specific memory locations (those locations are not reserved and can be used for other purposes). ''Read a card'' stores the 80 columns of data from a card into memory locations 001β080. Index registers 1, 2 and 3 are in memory locations 087β089, 092-094 and 097-099 respectively. ''Punch a card'' punches the contents of memory locations 101-180 into a card. ''Write a line'' prints the contents of memory locations 201β332. The 1401's [[Instruction set|instruction]] format is Opcode with [A-or-I-or-unit-address [B-address]] [modifier] word mark [[Opcode]]s are one character. Memory addresses ("I" a branch target, "A" and "B" data) and unit address are three characters. The opcode modifier is one character. Instruction length is then 1, 2, 4, 5, 7, or 8 characters. Most instructions have to be followed by a word mark (a requirement commonly met by the word mark with the opcode of the next instruction). See [[#Character and op codes|Character and op codes]] for a list of operations. A three-character memory address in an instruction is an encoding of a five-digit memory address. The three low-order digits of the five-digit address, 000 to 999, are specified by the numeric bits of the three characters. The zone bits of the high-order character specify an increment as follows: ''A'' 1000, ''B'' 2000, ''B'' and ''A'' together 3000, giving an addressability of 4,000 memory locations. The zone bits of the low-order character specify increments of 4000, 8000, or 12000, to address 16,000 memory locations (with an [[IBM 1406]] Storage Unit).{{efn|More simply stated: the four zone bits encoded the decimal values 0 to 15 as the binary numbers 0000 to 1111. The encoded value is used as the thousands part of a 1401 address. Thus making the 1401 a curious machine with memory addresses stored as a combination of 3 decimal digits and 4 binary digits. IBM did not use the word "binary" in describing the 1401's addressing (see the 1401 Reference Manual).}} For example, the three-character address "I99" is a reference to memory location 3000 + 999, or 3999. The zone bits of the middle character of a three-character memory address can specify one of three [[index register]]s, one of many optional features. Operands referenced by the A-address and B-address can be: a single memory location, a variable-length field, or a variable-length record. Variable-length fields are addressed at their low-order (highest-addressed) position, their length defined by a [[word mark (computer hardware)|word mark]] set at their high-order (lowest-addressed) position. When an operation such as addition is performed, the processor begins at the low-order position of the two fields and works its way to the high-order, just as a person would when adding with pencil and paper. The only limit on the length of such fields is the available memory. Instructions applicable to variable-length fields include: ''Add'', ''Subtract'', ''Multiply'', ''Divide'', ''Compare'', ''Move Characters to A or B Word Mark'', ''Move Characters and Edit''. One or more adjacent variable-length fields can make up a variable-length record. A variable-length record is addressed at its high-order position, its length defined by a [[Groupmark character|group-mark]] character with a word mark or a [[Recordmark character|record-mark]] character in its low-order position. The instruction ''Move Characters Record or Group Mark'' can be used to assemble a block of records. A variable-length record, or block of records, to be written to magnetic tape is addressed at its high-order position, its length defined by a group-mark character with a word mark immediately following its low-order position. A sequence of operations on adjacent fields can be "chained", using the addresses left in the address registers by the previous operation. For example, addition of adjacent data fields might be coded as <code><u>A</u> 700,850</code>, <code><u>A</u> 695,845</code>, <code><u>A</u> 690,840</code>. With chaining, this can be coded as <code><u>A</u> 700,850</code>, <code><u>A</u></code>, <code><u>A</u></code> - omitting data address from the second and third instructions.<ref>{{cite book |author =IBM |title =IBM 1401 Data Processing System: Reference Manual |date =April 1962 |id =A24-1403-5 |page =20 |url =http://bitsavers.org/pdf/ibm/140x/A24-1403-5_1401_Reference_Apr62.pdf |url-status =dead |archive-url =https://web.archive.org/web/20100809033646/http://www.bitsavers.org/pdf/ibm/140x/A24-1403-5_1401_Reference_Apr62.pdf |archive-date =August 9, 2010 |df =mdy-all }}</ref> ===IBM 1401G=== The IBM 1401G was sold in six models: (G1 and G11: 1,400 ''storage positions''; G2 and G12 for 2,000; G3 and G13 for 4,000). <ref>IBM 1401G, booklet 520-1061-0</ref> One difference between the 1401 and 1401G is how the reader-punch is controlled.<ref>{{cite web |url=http://www.textfiles.com/bitsavers/pdf/ibm/140x/A24-3067-2_1401_1460_System_Operation_Reference_Manual_Sep66.pdf |archive-url=https://web.archive.org/web/20150403205906/http://www.textfiles.com/bitsavers/pdf/ibm/140x/A24-3067-2_1401_1460_System_Operation_Reference_Manual_Sep66.pdf |archive-date=2015-04-03 |url-status=live |title=System Operation Reference Manual. IBM 1401. IBM 1460}}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
IBM 1401
(section)
Add topic