Cad Guidebook: A Basic Manual for Understanding and Improving Computer-Aided Design (6 page)

Read Cad Guidebook: A Basic Manual for Understanding and Improving Computer-Aided Design Online

Authors: Stephen J. Schoonmaker

Tags: #Science & Math, #Biological Sciences, #Biotechnology, #Professional & Technical, #Medical eBooks, #Special Topics, #Professional Science

BOOK: Cad Guidebook: A Basic Manual for Understanding and Improving Computer-Aided Design
8.02Mb size Format: txt, pdf, ePub

In popular usage, a PC is basically a computer with an Intel or Intel-com-
patible chip in combination with a Microsoft®
operating system. Apple comput-
ers (such as the Mac) use Motorola chips, and they would be considered a
personal computer, but they would probably not be referred to as a PC. Also, in
popular usage anyway, a workstation is generally a very high performance per-
sonal computer from a proprietary source, combined with a variant of the Unix
operating system. However, with the overall performance of the PC reaching the
performance of the workstation, PC companies are now also referring to their
computers as workstations, even though they use the Intel-type CPU.

In terms of function, it is only really necessary to understand that the CPU
runs or executes very specific, rudimentary logic instructions. These instructions
can be referred to as machine code or machine language. Programs such as CAD
are not “written” in this language, but computer programs that run on the system
must eventually be “boiled down” to this language. CAD software vendors write
programs in so-called “high level”
languages such as FORTRAN, C, C++,
Java™, etc., and programs called compilers convert the program into the machine
code instructions.

Probably the most important concept to grasp with respect to the CPU is
that it only communicates with the “outside world” (i.e. the CAD software or any
data) via memory. The CPU does not really communicate with storage (such as
disk drives) directly; instead, the system first brings the data from storage to
memory (data going from disk drives to chips), and then the data goes from mem-
ory to the CPU. This is important since memory chips are perhaps 1000 times
faster in sending or receiving data than disk drives. This, in turn, is important
when dealing with computer performance with respect to CAD software.

It turns out that CAD software can be very “intense” for the CPU; CAD
demands a great deal of computational power from the system as it makes many
mathematical calculations. Therefore managing or optimizing the system’s per-
formance is often an exercise in keeping the CPU working on the mathematics
and using memory as much as possible (as opposed to just shuttling data back
and forth in Storage devices). The CPU communicates with memory via memory
“addresses” (a little more detail is presented on this topic in
the Memory and
Storage sections of this chapter).

The CPU is fed the instructions at a certain fast speed. This happens under
the governance of a clock or timing circuitry based on the electronic resonance or
vibration of a quartz crystal-based device. This governing speed is known as the

10 Chapter 2

clock speed. Clock speeds were once as low as 4.7 Megahertz (or a million
“ticks” per second) at the beginning of the CAD for PC era, but now they exceed
1 Gigahertz (or a billion “ticks” per second). At each few “ticks” of the clock, the
system can complete a machine code instruction as indicated by the program be-
ing executed. This instruction could be moving data around the system (say from
memory to a “register” in the CPU); or it could be calculating or manipulating
data within the system (say adding 2 numbers together). Although there are other
chips or circuits that help the CPU perform these functions, the clock speed and
the CPU’s basic architecture pretty much determine the computational perfor-
mance of the computer.

In addition to the clock speed, the performance of the CPU is dependent on
the number of “bits” in the system architecture. A bit (short for binary digit) is
simply the 1s and 0s, or ONs and OFFs, that computers use and manipulate.
Throughout the computer the “bus” transmits these bits between devices. The
width or the number of “lanes” in the bus’s electronic highway obviously affects
the performance of the system. If one system can put 8 bits on the highway at one
time, while another can put 32 bits on the highway, then the 32-bit system is go-
ing to transmit data much more data in the same amount of time.

Originally, PCs were built upon an 8-bit architecture, with complementary
8-bit CPUs (generally the Intel 8086). When PCs were based on the Intel 80286,
they were then using a 16-bit architecture with a 16-bit CPU. Once PCs were
based on the Intel 80386, they were using a 32-bit processor (although sometimes
with only a 16-bit bus). Once the Intel 80486 arrived, all PCs could be considered
completely 32-bit based (although the operating system had 16-bit limitations for
many years afterward).

As each of these new CPUs arrived, there was a significant increase in per-
formance since the kind of work PCs generally performed could readily utilize
the new architecture’s capability. However, once 32-bit architecture was wide-
spread, the amount of data generated by the PC was generally being efficiently
handled by the computer; thus, 64-bit and 128-bit architectures only provide rela-
tively small increases in performance.

Another important distinction amongst the competing CPU types is RISC
vs. CISC architecture. RISC is an acronym
for a “Reduced In
struction Set” archi-
tecture. CISC represents a “Complete Instruction Set” approach. The RISC archi-
tecture was a hallmark of the workstation-class Unix-based type of computer for
many years. The RISC architecture allows the CPU to have long machine code
instructions moving more quickly to the CPU, and this allows the CPU to com-
plete a function (such as multiplying 2 numbers) 2 or 3 times faster than the
CISC type of CPU. So, the RISC computer can either perform as well as a CISC
computer using only a half or a third of the clock speed, or the RISC computer
can perform 2 or 3 times faster if both systems are at the same clock speed. But,

Computer Hardware Basics 11

if the clock speeds of the CISC computer are 2 or 3 times faster than the RISC
system, then they may have about the same level of performance.

2.4 MEMORY

Unfortunately, many computer users (CAD users included) use the terms mem-
ory and disk interchangeably. However, they are actually very different. There is
a big difference between running out of disk space and running out of memory.
As mentioned earlier, it is important to keep the CAD system using memory as
much as possible, since this can have a large impact on CAD system perfor-
mance. As was seen in Figure 2.1, Memory is made up of integrated circuits or
“chips” (somewhat similar to the CPU). However, instead of being the “engine”
of the system like the CPU, the memory chips are just a place to temporarily store
data that is being worked on.

The memory chips can send, receive, and store at very fast speeds (such as
nanoseconds or billionths of a second), while the disk drive can only typically do
this on the order of milliseconds (or thousands of a second). Therefore, it is clear
that when a CAD program is running, it is important to keep the CPU busy work-
ing with the data in the memory chips. However, the data in the memory chips is
gone once the power to the system is turned off, so eventually, it is important to
get the data stored on the disk drives (which do not lose data without the electri-
cal power). Therefore, memory is considered volatile, since the data in the chips
disappears when the power is turned off, and storage (such as disk drives) is con-
sidered nonvolatile, since the data on the drives does not disappear when the
power is turned off.

Memory can be referred to in a number of ways. Occasionally memory is
referred to as core memory, or just “core.” In the early 1980s, a VAX 11/780
“minicomputer” which handled 20 users may have had core memory of 16 Mega-
bytes (or about 16 million bytes; each byte made up of 8 ones and zeroes). The
VAX’s operating system would manage or control the use of that 16 Megabytes
for the users on a continual basis. However, the most common term now for
memory is RAM. RAM stands for Random Access Memory (meaning it can hold
many different kinds of data dynamically). There are other memory chips called
ROM chips, but they are generally not relevant to the CAD user.

Although the PCs of the early 1980s had no more than 512 kilobytes (about
512,000 bytes) of Memory, CAD platforms will easily have a gigabyte (about
one billion bytes). And, unlike the VAX example, all this memory is basically
used by just one user. Of course, the platforms can run more than one program at
a time, so there is still some “competition” for the available data space in the
memory chips, but this competition for resources should be minimized to keep
the CAD program running as smoothly and as fast as possible.

12 Chapter 2

2.4.1 Virtual Memory

It is important to realize that usually there is more “space” in the storage system
than in the memory system. For instance, a PC may have an 8-gigabyte (about 8
billion bytes) disk drive, but only 512 megabytes (or about 512 million bytes) of
memory or RAM. This makes the “competition” for resources even more important.

When a user decides to run a program (which is probably already stored on
a disk drive), the system “loads” the program from the disk to
the memory sys-
tem. Then the CPU begins to execute the instructions that are now found in the
memory system. Most operating systems (that are trying to manage or coordinate
the data sent to the CPU) have the ability to load and/or unload the programming
from the Memory system back to the disk drive. This is called working with vir-
tual memory, and it allows the lower sized Memory system to handle even larger
programs, or to handle more simultaneous programs.

For the most part, when a virtual memory computer moves a program’s
data from one “area” of the memory system to another, it is referred to as paging.
However, when a computer moves a program’s data out of memory entirely to the
slower disk drives, it is referred to as swapping. Of course, the computer will
eventually move that data back to the Memory system to finish the tasks associ-
ated with the computer program.

The way the computer handles this virtual memory is pretty important with
respect to CAD programs. As has been pointed out a number of times, modern
CAD programs are large and demand a high level of CPU performance. If the com-
puter running a CAD program does not have enough memory, it prematurely starts
to “swap” data and programming to the Storage system. When that happens, a user
can notice a very reduced level of performance. This should make sense since it is
starting to use the disk drives that may be 1000 times slower than memory.

2.4.2 Memory Addresses

An important concept to grasp is that of memory addresses. The memory chips
are often described as having a huge number of mailboxes. Every mailbox has a
predetermined identifier or address, and the mail (i.e. data) is supposed to be di-
rected to that mailbox based on the address. So, in addition to having an address,
each mailbox can have contents. In other words, at each given address (or mail-
box) we expect to find something within it (the data). Addresses might also be
referred to as pointers, since they point to where data is located.

These little mailboxes are really transistor-based devices etched into the
structure of the chip’s chemical layers, but the mailbox analogy is quite helpful.
So in a CAD system, a geometric entity (such as a line segment) could be found
in memory based on perhaps 4 addresses (symbolizing an X- and a Y-value for
each end of the line segment), and the contents of each of these addresses would
be the actual values of X and Y at the ends. The addresses could be called “vari-

Computer Hardware Basics 13

ables” such as X1, Y1, X2, Y2, and the values of these variables could be num-
bers such as 1.5 mm, 2.5 mm, 12.5 mm, 15.0 mm, etc.

In addition to CAD data (such as the line segment data above), the memory
system must hold other kinds of information. First of all, some amount of the
operating system program must be kept in memory. This makes sense since the
CPU must run the operating system as well as the CAD program, and yet the
CPU can only communicate (as usual) via memory. Of course, the computer de-
sign and the operating system behavior will affect how much of the operating
system must be kept in memory. The more that is kept there, the faster the com-
puter may run, but this means there is less memory available for doing “real”
work (like keeping the line segment data). Another kind of information that must
be kept in memory is the actual CAD application programming instructions (i.e.
the machine code for the CAD program). This is sometimes referred to as the
“code segment” as opposed to “data segments.” Just as with the operating system
overhead, if most of the CAD program is always in memory, then it may run fast.
But if too much of the program is in memory, there may be too little left for the
CAD data (such as the line segment data) and then it runs slower anyway.

Other books

A través del mar de soles by Gregory Benford
1 Forget Me Knot by Mary Marks
Lies the government told you by Andrew P. Napolitano
A Shore Thing by Julie Carobini
Revenge of the Cootie Girls by Sparkle Hayter