240 likes | 344 Views
Hardware & I/O. Ch.4 – beginning on page 90 Ch.13 – Topic 1 & Topic 2. Representing Data. Representing Numbers. Extended ASCII 256 characters EBCDIC 256 characters UNICODE 64K characters. Representing Characters. ASCII. EBCDIC. UNICODE. Quantifying Bytes.
E N D
Hardware & I/O Ch.4 – beginning on page 90 Ch.13 – Topic 1 & Topic 2
Extended ASCII 256 characters EBCDIC 256 characters UNICODE 64K characters Representing Characters ASCII EBCDIC UNICODE
QuantifyingBytes We deal with bytes all the time in programming. It seems that we are always counting bytes…. especially in Assembler language. Fortunately, we usually don’t need to deal in large numbers of bytes in our programs – a couple of hundred at a time, at most. Most of the time, many fewer than that – enough to fill an input or output buffer and we must accurately count the number of bytes within each field. Counting bytes seems to never end.
An older Mainframe Computer IBM Stretch Computer - 7030 Circa 1964-1965 You can see a portion of the operator’s console on the very left side of this photo. The panels that open contain circuitry of the processor and memory.
Here is a look inside one of those panels that opens. How would you like to be the person who must do repairs on this computer? This is, of course, in the days before integrated circuitry. It was all hand-wired and (by today’s standard) very slow, although this was the faster computer in existence in its day. This is the computer that the first man-on-the-moon satellite was programmed.
Today’s Mainframe – Z/10 1 – 64 4.4GHz processors 1.52 Terabytes memory 6 ft. tall with a 30 Sq. Ft. footprint 2.5 tons Computer power of 1500 industry-standard servers using 85% less power and covering 85% less floor space. Not much to look at, is it? Announced Feb. 2008
A mainframe processor consists of … • A Control Unit • Fetches instructions • An Arithmetic and Logic Unit • Performs arithmetic • Compares • General Purpose Registers • Just like a PC
And How Fast ??? Max11,000MIPS MIPS stands for Millions of Instructions Per Second – and represents the measurement for mainframe speed (similar to PC GHz). It is a measurement that is no more accurate that GHz and has earned the new acronym meaning of Meaningless Indicator of Processor Speed.
Memory • Capacity • PC --- 4 GB ? • Mainframe --- 1.52 TB ? • Simultaneous Users • PC --- a few • Mainframe --- hundreds of thousands
Storage Devices • Disk • Tape • CD • DVD • Flash Drive • paper 2 GB Flash Drive 9 MB Write / 15 MB Read Retractable USB Connect About $110
Magnetic Disk (PC) TrackSector Track
Magnetic Disk (PC) Directory FAT
Disk (Mainframe) Catalog Volume pp. 22 & 23
Catalog Filename1 Filename2 All files are typically cataloged and are usually found by using the catalog. Catalog entry points to the volume and VTOC that contains the file. Other routines verify that the file is really there. VTOC VTOC = Volume Table of Contents
Volume Table of Contents Filename-1 DSCB Filename-n DSCB So how is the file found? Look in the catalog to find the volume, then look in the VTOC on the volume that contains the file. The DSCB is essentially a list of files (by name) located on the volume and its beginning cylinder and track number. Remember, the access arm on the device must be moved and that’s a mechanical (take-forever) process compared to memory speeds.
Another Mainframe deviceDS6800 from IBM Capacity: up to 64 TBTransfer Rate: up to 1600 MB per sec.16 disk units (max: 128 units) 19.0” 5.25”
Accessing Data • OPEN / CLOSE macros • OPEN prior to first access to data • CLOSE after last access to data, usually in your eof routine [label] OPEN dcb-label [label] CLOSE dcb-label
Accessing Data • Data Control Block (DCB) • LRECL = length of record in bytes • RECFM = F for fixed-length • MACRF = G/P for Get/Put • DDNAME = path and filename • EODAD = input-only (label for EOF rtn.) dcb-label DCB operand1,operand2,.. INDCB DCB LRECL=80,RECFM=F,MACRF=G, EODAD=EOFRTN,DDNAME=F:\TIMECDS.TXT
Example (from REALTORS) No need to test for EOF. Provide EODAD= rtn and the system will automatically take the branch when EOF occurs.
Accessing Data • GET / PUT a Record • Input or Output 1 logical record [label] GET dcb-label,area-name [label] PUT dcb-label,area-name OPEN INDCB OPEN OUTDCB GET INDCB,INBUFF PUT OUTDCB,OUTBUFF CLOSE INDCB CLOSE OUTDCB