VCE IT Lecture Notes by Mark Kelly, McKinnon Secondary College

Capabilities and Limitations

of hardware and software

Capabilities and limitations of hardware and software components used to produce output, including functionality, speed of operation, capacity of components. (U3O1 and U3O2)


All hardware and software have limitations. Even the massive professional packages that seem to bulge with obscure features have limitations. Hardware limitations are usually chosen deliberately by manufacturers to reduce production costs. Software limitations are also sometimes deliberately produced to reduce the cost of products, but can also be due to a programmer's lack of skill. (At least that's happens with my software!) Software utilities are often limited in their capabilities because they are deliberately designed to perform a single task and no other.

Printers - have limited printing resolution (the number of dots they can produce in a square inch of paper.) Lower end printers can manage 300dpi (dots per inch), also called "pixels per inch" (ppi). Better printers can handle 600dpi, which produces more realistic pictures and crisper text. Laser printers tend to have higher resolution than inkjet printers. Of course some printers are monochrome (black and white) while others can reproduce colour, albeit at much greater printing cost.

Modems - early modems were limited to sending and receiving 300 bits per second. This was because of the capabilities and cost of the modem's components at the time. Another factor was that early computers' serial ports often could not handle data over a certain speed. As modem components improved and prices dropped, and computers' serial ports became more sophisticated, speeds increased to 1200bps, 9600bps, 14400bps, 28800bps, 33600bps and finally 56000bps, which is as fast as analogue modems will ever be able to receive data. Note that 56K modems are only able to transmit at a maximum speed of 33.6Kbps.

CPUs - the speed and power of central processing units keeps doubling every 18 months (Moore's Law). In fact, the speed and power of Graphic card processors is doubling much faster than that. CPU speed and power is directly related to the size of integrated circuits - the further apart the parts of a CPU are, the longer it takes for signals to travel, which slows a CPU down. Also, the bigger the components are in a CPU, the fewer transistors can be built into a CPU, which limits the functions that it can perform. Early CPUs (e.g. the 6502 chip in the Apple ][ computers) ran at 1Mhz so they could do 1 million cycles per second. Also, they were very limited in what they could do, for example, they could not even do multiplication and division. To divide, they did repeated subtraction. To multiply, they did multiple addition.

Thanks to improved technology and production equipment, the circuits in modern CPUs are incredibly smaller than those in the CPUs. They can fit in thousands of times more transistors into the same space, and they now run at about 3,500MHz (3.5GHz) - 3,500 times faster than the CPUs from 20 years ago. They also can squeeze in much more functionality such as high-speed data caches, more registers, multimedia support (e.g. MMX), predictive computing (guessing what to do next) and multithreaded execution to allow them to do more than one thing at a time. They can also handle bigger numbers. Early CPUs could only handle 8 bits of data at a time - to work with 16 bit numbers, they had to do 2 operations. Modern CPUs are now 32 bit, some are 64 bit, so they can easily do calculations in one operation instead of 4 or 8. They also have sophisticated operations built into their hardware. For example, to move data to the screen, early CPUs had to write each character to the screen one a time (2000 operations to write 25 rows of 80 characters). Modern CPUs now manage screens with resolutions of maybe 786,432 dots but they have inbuilt memory moving routines that let them redraw the screen in one operation.

Also, early CPUs could only address (reach) 640K of memory. To use more memory, manufacturers had to invent many weird and wonderful tricks with memory managers (sigh, ah! the horrible old days of extended memory, expanded memory, high memory, paged memory and the endless nightmares they caused!) Nowadays, CPUs and operating systems can access 4,000M of memory with no special tricks up their sleeves.

Graphics cards - as mentioned above, early graphics were not graphic at all. My first computer, a Tandy TRS-80 in 1978 boasted 80 characters by 25 lines with (dramatic musical chord here...) UPPER and LOWER CASE TEXT! Woohoo! This was a revolution compared to the previous computers which only had 40 characters by about 16 lines. And graphics? What are they? O yes, and colour was strictly limited to one, usually white, green or amber. An early computer, the infamous Sinclair ZX81 was so limited it could not even maintain a display on screen while it did processing - whenever it had to recalculate anything, the screen went blank! You can imagine how much fun that was.

Modern graphics cards can handle 1600 x 1200 dots onscreen, each dot can be any of 16.8 million possible shades (and since the human eye can only distinguish about 10 million different colors, that should do quite nicely until the human race evolves a bit more.) Also, graphics cards have inbuilt 3D ability - they can rotate objects, apply shading and perspective and textures - very quickly.

As a matter of fact, graphics cards and monitors nowadays make your computer the best choice for watching DVD movies - they offer much higher quality that even the best $20,000 TV set.

Miscellaneous bits - mice now have scroll wheels and no ball to get gunked up. Joysticks have more buttons, dials and 'force feedback' to simulate resistance. Flatbed scanners have increased resolution, higher colour fidelity and ever-improving OCR (optical character recognition) abilities. PCs now have USB ports at the front (finally!) and large-capacity USB memory keys make floppy disks redundant. Cheap video cameras make videoconferencing and webcams accessible to anyone. CD burners are nearly standard equipment on home PCs, making backups much easier to perform. Digital cameras and advanced graphics software have transformed the old photo album into a digital art gallery. Cable internet connections have allowed people to easily become involved in high-bandwidth hobbies such as online gaming.

Software - the ability of early software was strictly limited by several hardware factors. Memory was scarce and very expensive - my first computer had 4K (4000 bytes) of RAM. Many years later, I still remember dreaming wistfully of getting 8M of RAM and becoming one of the Computer Gods (people who had 8M of RAM were held in awe by mere mortals), but it cost about $800.

Secondary storage was obscenely expensive - floppy disk drives could only store 360K and they cost over $1000. Hard disks? Forget about it! A 5M hard disk would cost over $10,000. Programs had to be small to be able to run. An early version of Microsoft Word would easily fit on a floppy disk. Being small, programs were also hard to use. Users had to memorise cryptic shorthand codes for commands. Everything was typed in - no mice then. No drop-down menus, no icons, hardly any online help. Word processors literally only dealt with words - no pictures could be put into documents.

And as for different typefaces? Usually you had a choice of one, because early printers usually only had one. To change the typeface, you had to reconfigure the printer or replace the daisywheel in a printer. Most people had to settle for Courier 10 point for every document - it was barely better than using an old type writer. As I sit here and type, I could choose from about 300 typefaces in unlimited sizes, colours and many styles such as strikeout, bold or italic - or all of them at the same time.

Early operating systems were equally limited. They could not access much memory, even if you had it. There were various "shells", such as Windows 1 and Windows 2 (and to a degree even Windows 3). They provided an interface with menus, but really they just translated user selections into DOS commands.

The revolution came with the Apple Lisa, and later the Macintosh that the modern operating system became available to the public. In the PC world, it was not until Windows 95 that Windows could actually be considered a real operating system instead of a pretty DOS shell. In fact, It wasn't until Windows NT that DOS was finally laid to rest as the true engine that made Windows work.

The power of software has also increased significantly due to modern software development tools that make software so easy to produce. Instead of having to work with assemblers or machine code (programming the CPU directly in its native tongue), modern "Integrated Development Environments" let programmers use sophisticated high-level languages that protect them from having to know or care how the CPU actually works. With 'visual' object-oriented languages such as Visual Basic and Delphi, programmers manipulate objects such as text boxes, common dialogs and timers and are safely removed from the actual programming which is carried out by the programming language. Instead of having to learn and write (for example) a bubble sort algorithm, the modern programmer simply selects the "Sorted" option for a list box. In this way, programmers can produce sophisticated software with little skill or knowledge.


As an example of how software has developed its capabilities and thrown off limitations, consider video editing. In the recent past, it was not even an option for the average computer user. The CPU was simply not powerful enough to edit video in a reasonable time, the amount of RAM required was prohibitive, and hard disks simply were not big enough or fast enough to deliver data in time. Also, to make matters worse digital video could only be stored in massive uncompressed files types such as AVI.

Nowadays, the average computer's CPU cruises along at about 2,000 Megahertz, has about 256 Megabytes of RAM (with much more 'virtual' memory available through the operating system allowing 'page swapping' using the hard disk), hard disks that can hold 80,000 Megabytes and deliver data at blistering speeds, and video cards that can process massive numbers of picture frames each millisecond.

Combine these hardware features with new video/audio compression techniques such as MPEG and WMV, and the average desktop computer can easily edit an hour of video in a file over 1000 Megabytes in size. Users can add subtitles, fades, transitions, captions, credits, soundtracks, voice overs; they can cut and paste scenes; they can do virtually everything the big movie studio editors can do.

Windows XP even comes with 'Windows Movie Maker' - a sure sign that software has 'matured' and joined the main stream. This has only been possible in the past couple of years because of the relentless progress of hardware, software and computer science theory.

 

Back to the IT Lecture Notes

Back to the last page you visited

Created May 31, 2003

Last changed: February 18, 2011 9:18 AM

VCE IT Lecture notes copyright © Mark Kelly 2001-