Weekly Tweaks Other Info
Memory Markings
The speed is indicated by the last number of the
ID, typically after a hyphen, like -70, which means 70 nanoseconds. There may or may not be a
leading zero.
Numbering on a chip is split into two, although it never looks like that. The
first part indicates complexity, and the second the data path size, or how many bits can be read or
written at the same time. To find capacity, multiply the first part by the second, divide by 8 and
throw away the remainder:
-
banks of 256, meaning 1 Mb
-
bank of 1 Mb, meaning 1 Mb
-
banks of 1 Mb, meaning 4 Mb
You might see a date looking like this:
8609=9th month of 86.
Generally
speaking, here is what you can expect (using Alliance as an example):
AS4C14405-60JC AS
= Alliance 4 = DRAM C = 5volt 6 = 4K refresh (7=2K, 8=1K) 40 = 1Meg x 4
(256K16=256Kx16, 1M16=1Megx16) 0 or F = Fast Page (5 or E=EDO) 50=50ns, 60=60ns, 70=70ns etc
back
|
The Signal You are no doubt aware by now that computers use
bits to convey information, the word bit being made up from the first and last letters of binary
digit. The bit takes the form of a signal that can be either on or off, which is particularly
useful as the computer itself operates on the binary system, using only two characters, 1 or 0,
to convey meaning, you can see how they dovetail nicely. It's no coincidence that electrical
appliances use the figures 1 and 0 for On and Off. The bits are assembled in various ways for
transmission. A 5-bit method was the Baudot Code, there was a 6-bit one which didn't get
anywhere, and ISO-7 was the original "International Alphabet", the American version of
which is ASCII.
back
|
ASCII
On a PC, eight bits make a byte, which is equivalent to a
character on the screen, as a result of which the number of bits used for a character is often
called the Word Length-7 or 8 data bits as a group are also referred to as ASCII 7 or ASCII 8 (for
IBM PCs, but the word length actually depends on the computer and programming language you're
using). ASCII 7 has become the lowest common denominator of the Internet or, in other words, the
standard of transmission you can expect from most equipment on it. How do you send binary files on
a system geared for text? See the Internet chapter!
ASCII (pronounced "ask-ee") is
short for American Standard Code for Information Interchange, an internationally agreed standard
(laid down by the American National Standards Institute-ANSI) which gives each character of the
alphabet a number, translated by other equipment according to what country it thinks it's in. For
example, the £ character is allocated the ASCII number 156. When a British printer receives the
number, it prints the £ sign. You would get a # symbol in another country.
"Traditional
ASCII" defined 128 characters, and only 7 bits were used for each one. The characters didn't
actually start till well down the list, as the first few were used as control characters, like LF
for Line Feed. Extended ASCII kept the original 128 and added 128 more, using up the eighth bit, to
give you line drawing, foreign characters, etc. In fact, the first 32 are used as control
characters, that determine how the computer is used, and are not displayable.
Because it is
a common standard, the ASCII code is useful as a bridge between programs that want to exchange
information, in the same way as Rich Text Format, but without frills. See also Protocols, as there
are things you must know before you start sending ASCII files all over the place.
EBCDIC, or
Extended Binary Coded Decimal, is an 8-bit code used by IBM, with many variations.
back
|
About Hard Disks Hard disks
were originally called Winchester drives, after one that IBM made for mainframes, which had 30 Mb
fixed and 30 removable, after the Winchester 30-30 caliber rifle.
The first PC to support
them properly was the PC/XT (eXtended Technology) in 1983. Previously, hard drives came as external
devices with their own adapter card and power supply, as the BIOS and the power supply on the PC
could not cope with them, and only then after DOS could handle subdirectories (in version 2). The
hard disk controller in the XT was created by Xebec, which contained the extra code that wasn't
already in the System BIOS, which is why you had to use a debug script at C800 to access it.
The
IBM AT (Advanced Technology) had hard disk support in the BIOS, together with more IRQs, etc to
play with, and a CMOS chip backed up with a battery to remember it all. The "support",
however was a few standard hard drive types, and you had to go back to a ROM on the controller if
you wanted something else. The original types are still in there somewhere, although there are now
well over 40 to choose from, plus those you can add yourself. Since a ROM cannot be changed, the
additional types are kept in a small amount of memory set aside for the purpose.
DOS,
meanwhile, was still unable to support partitions greater than 32 Mb, because of the way sectors
were numbered; there could not be more than 65,536, as they were 16-bit values. Neither did it know
anything about extended partitions before v3.3, so you couldn't even split a large drive up!
As
talking to the controller can be quite tedious, the BIOS contains a subroutine at INT 13 that can
be accessed to do the job. DOS itself has routines for file management, as well (INT 25/26, etc),
so applications call the DOS INTs, which in turn rope in the BIOS to help. Inside a hard disk, each
solid platter is mounted on a spindle and covered in a magnetic substance, with its own read/write
head. All of them move at once when data is requested, giving the quickest possible response. The
most common speed is 3600 RPM, but many high performance drives increase this up to 4500, 5400,
6300 or 7200.
Read/write heads are not in contact with the drive surface, as they are with
floppy drives. On a hard disk, they actually float a couple of thousandths of an inch above it. As
the gap between the recording head and the surface is so small, you can imagine the problems if
dust or other contaminants were to get in. This is why hard disks are sealed-a good reason for not
undoing them, although they still work with the top off. When the power is off on older drives, the
head will rest on the surface, with obvious dangers when the computer is moved. Unfortunately,
similar dangers arise when the computer is switched on, since the flow of power moves the head
slightly to the right, scraping the recording medium as it does so.
To protect your data,
and prolong hard disk life, it's a good idea to park the heads in a neutral area whenever the
computer is switched off, so the above problems are not so apparent. This won't stop the head from
scraping the surface, but at least it will do so in a safe place!
However, modern hard disk
designs have the head mounted on a solenoid which is designed to spring upwards when power is
turned off, so parking the heads is not so important, and may even confuse the issue. In fact, some
manufacturers recommend that you don't park the heads on such drives, as the movement towards the
safe area causes damage to the physical stops that prevent the head moving too far.
back
|
Dead Hard Drives The days of
reconstructing broken files with a sector editor are long gone. I used to feel quite
comfortable putting WordStar or dBase files together with Norton Utilities, but you can’t do that
with Office 97, so the best way out of trouble is not to get into it, you must always have
backups!
However, in case they don't work:
Is the drive seen by your computer?
Using the auto-detection in the BIOS will at least tell you if the machine is
talking to it, but even then you may not be successful. Although manufacturers say you can use any
parameters for a hard drive, up to the maximum sectors available, in practice they do like their
own, as supplied by the maker. Very often, you will find a drive has been setup in a machine with
any old figures and the partition on the hard drive is invisible. The quick way round this is to
get your favorite sector editor and inspect the partition table. If you add 2 to the cylinder count
and 1 to the heads, you will find the parameters the drive was set up with previously. All you need
to do is insert those into the CMOS and you should be fine.
Does the drive spin up when power is applied?
A C: drive error message can mean low power, so check the power supply. Seagate
drives need plus or minus .15 of a volt to operate properly.
A clicking sound is quite
serious, as it involves the mechanism inside, but you could try getting a circuit board from an
identical drive and replacing it. IBM drives, especially portable ones, are especially prone to
fuses blowing, and you can replace them with something cheap from Radio Shack. They are little
black blocks right next to the power connector.
back
|
USB
The Universal Serial Bus is a standard
replacement for the antiquated connectors on the back of the average PC; computers will likely come
with two USB ports as standard. It actually behaves more like a network, since one host (e.g. a PC)
can support up to 127 devices, daisy chained to each other, or connected in a star topology from a
hub, but this depends on the bandwidth you need. Each device can only access up to about 6 Mbps, at
varying speeds to stop any one hogging the bandwidth, so Firewire (below) is a better choice for
higher throughput, like DVD. A hub will have one input connector, from the host or an upstream
device, and multiple downstream connectors. Otherwise, each device will have an upstream and
downstream connection. The maximum distance from one device to another is 5m, and the last device
must be terminated. There are three types of device:
? Low power, bus powered (100 mA). ?
High power, bus powered (500 mA). ? Self powered, but may use bus power when in power save mode.
The
bus complies with Plug and Play, so devices are hot-swappable, as they register automatically with
the host when connected. More technically, USB is an external 4-wire serial bus with two 90 ohm
twisted pairs in a token-based star network. Two lines carry signals based on Differential
Manchester NRZI, one being for ground, and the other +5v. Zero/half amplitude pulses are used for
control. Transmission speed is either 12Mbps with shielded wire or 1.5Mbps for unshielded. Data
packets are up to 1023 bits in size, with an 8 bit synch pattern at the start of each frame.
A
1000msec frame is used, whose usage is allocated by the USB controller based on information
provided by devices when logging in, which ensures that they all get bandwidth, and frequently. The
controller sends data packets to the USB, from where the targeted device responds. A packet can
either contain data or device control signals; the latter go one way only. When the transaction is
complete, the next one in the transfer queue is executed. If more than one millisecond is needed,
an extra transaction request is placed in the transfer queue for another time frame.
There
is backward compatibility with ISA BIOS Code. The USB software is too much for an EPROM, so some
space in the BIOS is used as well, because access to it is needed anyway (during POST, etc) for USB
devices. Windows '98 has more robust USB support. Low end USB chipsets have problems switching
device speeds and have signal synchronization problems. Cheap cables don't help. USB 2.0 is set to
increase the data throughout to at least 120 M/bits per second, possibly higher than 240.
back
|
FireWire
A similar idea to USB, but faster, originally
developed by Apple, and now called IEEE 1394, or even HPSB (High performance Serial Bus). It clocks
in at a minimum speed of 100 Mbps, going up to somewhere near 400. Because it also guarantees
bandwidth, isochronous data, that is, needing consistency to be effective, like digital video, can
be transferred properly.
There are two more connections than USB, and it only supports up to
63 devices of varying speeds on the bus. It is also complex and expensive, and could be an
alternative to SCSI for hard disks, etc.
back
|
"The BIOS Companion" Home Page
Back to Articles
Weekly Tweaks Archive
|