Search This Blog

Saturday, October 10, 2009

firmware

In computing, firmware consists of the fixed, usually rather small, programs that internally control various electronic devices. Typical examples of devices containing firmware range from end-user products such as remote controls or calculators, through computer parts and devices like hard disks, keyboards, TFT screens or memory cards, all the way to scientific instrumentation and industrial robotics. Also more complex consumer devices, such as mobile phones, digital cameras, synthesizers, etc., contain firmware to enable the device's basic operation as well as implementing higher-level functions.

No strict or well-defined boundaries separate firmware from software; both are loose descriptive terms. However, firmware is typically involved with very basic low-level operations in a device, without which the device would be completely non-functional. Firmware is also a relative term, as most embedded devices contain firmware at more than one level. Subsystems such as LCD modules, flash chips, communication controllers etc, have their own (usually fixed) program code and/or microcode, regarded as "part of the hardware" by the higher-level firmware.

Simple firmware typically resides in ROM or OTP/PROM, while more complex firmware often employs flash memory to allow for updates. Common reasons for updating firmware include fixing bugs or adding features to the device. Doing so usually involves loading a binary image file (provided by the manufacturer) into the device, according to a specific procedure; this is sometimes intended[by whom?] to be done by the end user.

rom

Read-only memory (usually known by its acronym, ROM) is a class of storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified (at least not very quickly or easily), it is mainly used to distribute firmware (software that is very closely tied to specific hardware, and unlikely to require frequent updates).

In its strictest sense, ROM refers only to mask ROM (the oldest type of solid state ROM), which is fabricated with the desired data permanently stored in it, and thus can never be modified. However, more modern types such as EPROM and flash EEPROM can be erased and re-programmed multiple times; they are still described as "read-only memory"(ROM) because the reprogramming process is generally infrequent, comparatively slow, and often does not permit random access writes to individual memory locations. Despite the simplicity of mask ROM, economies of scale and field-programmability often make reprogrammable technologies more flexible and inexpensive, so mask ROM is rarely used in new products as of 2007[update].


memory permit some degree of modification:

Programmable read-only memory (PROM), or one-time programmable ROM (OTP), can be written to or programmed via a special device called a PROM programmer. Typically, this device uses high voltages to permanently destroy or create internal links (fuses or antifuses) within the chip. Consequently, a PROM can only be programmed once.
Erasable programmable read-only memory (EPROM) can be erased by exposure to strong ultraviolet light (typically for 10 minutes or longer), then rewritten with a process that again requires application of higher than usual voltage. Repeated exposure to UV light will eventually wear out an EPROM, but the endurance of most EPROM chips exceeds 1000 cycles of erasing and reprogramming. EPROM chip packages can often be identified by the prominent quartz "window" which allows UV light to enter. After programming, the window is typically covered with a label to prevent accidental erasure. Some EPROM chips are factory-erased before they are packaged, and include no window; these are effectively PROM.
Electrically erasable programmable read-only memory (EEPROM) is based on a similar semiconductor structure to EPROM, but allows its entire contents (or selected banks) to be electrically erased, then rewritten electrically, so that they need not be removed from the computer (or camera, MP3 player, etc.). Writing or flashing an EEPROM is much slower (milliseconds per bit) than reading from a ROM or writing to a RAM (nanoseconds in both cases).
Electrically alterable read-only memory (EAROM) is a type of EEPROM that can be modified one bit at a time. Writing is a very slow process and again requires higher voltage (usually around 12 V) than is used for read access. EAROMs are intended for applications that require infrequent and only partial rewriting. EAROM may be used as non-volatile storage for critical system setup information; in many applications, EAROM has been supplanted by CMOS RAM supplied by mains power and backed-up with a lithium battery.
Flash memory (or simply flash) is a modern type of EEPROM invented in 1984. Flash memory can be erased and rewritten faster than ordinary EEPROM, and newer designs feature very high endurance (exceeding 1,000,000 cycles). Modern NAND flash makes efficient use of silicon chip area, resulting in individual ICs with a capacity as high as 16 GB as of 2007[update]; this feature, along with its endurance and physical durability, has allowed NAND flash to replace magnetic in some applications (such as USB flash drives). Flash memory is sometimes called flash ROM or flash EEPROM when used as a replacement for older ROM types, but not in applications that take advantage of its ability to be modified quickly and frequently.
By applying write protection, some types of reprogrammable ROMs may temporarily become read-only memory.

[edit] Other technologies
There are other types of non-volatile memory which are not based on solid-state IC technology, including:

Optical storage media, such CD-ROM which is read-only (analogous to masked ROM). CD-R is Write Once Read Many (analogous to PROM), while CD-RW supports erase-rewrite cycles (analogous to EEPROM); both are designed for backwards-compatibility with CD-ROM

Monday, October 5, 2009

lan

1 Introduction to Local Area Networks
1.1 What are networks?
That seems like an appropriate question to start with. Pretty much anything that’s connected
to anything else in some way can be described as a network. In this course, we’ll be primarily
concerned with Local Area Networks.
1.2 What are Local Area Networks?
Local Area Networks are generally networks that are limited to a relatively small area, such
as a room, building, campus, etc. Larger networks are generally called “Metropolican Area
Networks”, or “Wide Area Networks”.
The IEEE definition of a LAN is: “A LAN is a data communication system allowing a
number of independent devices to communicate directly with each other, within a moderately
sized geographical area over a physical communication channel of moderate data rate.”
In short, a LAN is usually a fast small network.
It is important to realize that most of the higher level protocols used on LANs are exactly
the same protocols that are used in most ‘networks’. For example, you use TCP/IP on the
Internet, and you’d also use it on a LAN.
2 LAN Components
A LAN is a combination of hardware and software.
2.1 The Hardware
The hardware consists of stations, transmission media, and connecting devices.
2.1.1 Stations
Stations are actual devices that connect to the network. These can be computers, printers,
etc.
2.1.2 Transmission Media
The transmission media is the stuff through which signals travel. It can be guided as in the
case of a wire, or unguided as in the case of air (wireless).
2.1.3 Connecting Devices
Besides the wires and stations, there are also connecting devices. There are two ‘types’:
1. Transceivers and all the other stuff that’s used to connect a station to the medium.
2. Bridges, repeaters, etc., stuff that’s used to connect segments of a LAN.
1
2.2 The Software
There are two primary categories of software, the Operating System, and Application Programs.
2.2.1 Network Operating System
There needs to be some software at the operating system level that manages the network
connection. Most modern operating systems are capable of using the network.
2.2.2 Application Programs
The primary purpose of having a LAN is to allow several application programs to talk to
each other.
3 LAN Models
There are several ways of organizing (or modeling) a LAN (or just about any other network).
One way is to organize it as a Client/Server model, and another way is to organize it as a
Peer-to-Peer model.
3.1 Client/Server
In client/server models, there are some stations which are called servers, and lots of other
stations called clients. Normally, a client connects to a server to perform some service—such
as printing, accessing a file, or send email, etc.
In a small network, there may only be one server that handles many services (for example,
one computer on a LAN may act as a web-server, a print server, and a file server).
3.2 Peer-to-Peer
In a Peer-to-Peer model, no stations is specifically dedicated to be a client or a server. Each
station can take on whatever role from time to time when needed.
4 LAN Applications
One obvious use for a LAN is in an office environment. A LAN allows folks to share resources,
such as hardware (printing), software (running things off the network drive), sharing data
(file servers), etc. LANs can also be used for user communication, and when hooked up to
the Internet, users can access the Internet via their LAN.
Other uses for LANs include the manufacturing sector—where a central server can coordinate
the activities of many factory machines, etc.
2
4.1 Backbone Networks
High speed LANs can be used to connect many slower networks together.
3

file server

In computing, a file server is a computer attached to a network that has the primary purpose of providing a location for the shared storage of computer files (such as documents, sound files, photographs, movies, images, databases, etc.) that can be accessed by the workstations that are attached to the computer network. The term server highlights the role of the machine in the client-server scheme, where the clients are the workstations using the storage. A file server is usually not performing any calculations, and does not run any programs on behalf of the clients. It is designed primarily to enable the rapid storage and retrieval of data where the heavy computation is provided by the workstations.

Saturday, October 3, 2009

volatile and non volatile memory

Volatile memory, also known as volatile storage, is computer memory that requires power to maintain the stored information, unlike non-volatile memory which does not require a maintained power supply. It has been less popularly known as temporary memory.

Most forms of modern random access memory (RAM) are volatile storage, including dynamic random access memory (DRAM) and static random access memory (SRAM). Content addressable memory and dual-ported RAM are usually implemented using volatile storage. Early volatile storage technologies include delay line memory and Williams tube



Non-volatile memory, nonvolatile memory, NVM or non-volatile storage, is computer memory that can retain the stored information even when not powered. Examples of non-volatile memory include read-only memory, flash memory, most types of magnetic computer storage devices (e.g. hard disks, floppy disks, and magnetic tape), optical discs, and early computer storage methods such as paper tape and punch cards.

Non-volatile memory is typically used for the task of secondary storage, or long-term persistent storage. The most widely used form of primary storage today is a volatile form of random access memory (RAM), meaning that when the computer is shut down, anything contained in RAM is lost. Unfortunately, most forms of non-volatile memory have limitations that make them unsuitable for use as primary storage. Typically, non-volatile memory either costs more or performs worse than volatile random access memory.

Several companies are working on developing non-volatile memory systems comparable in speed and capacity to volatile RAM. For instance, IBM is currently developing MRAM (Magnetoresistive RAM). Not only would such technology save energy, but it would allow for computers that could be turned on and off almost instantly, bypassing the slow start-up and shutdown sequence.

Non-volatile data storage can be categorised in electrically addressed systems (read only memory) and mechanically addressed systems (hard disks, optical disc, magnetic tape, holographic memory and such). Electrically addressed systems are expensive, but fast, whereas mechanically addressed systems have a low price per bit, but are slow. Non-volatile memory may one day eliminate the need for comparatively slow forms of secondary storage systems, which include hard disks.