11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

array 23application suiteAn application suite is a set <strong>of</strong> programs designed to beused together <strong>and</strong> marketed as a single package. For example,a typical <strong>of</strong>fice suite might include word processing,spreadsheet, database, personal information manager, <strong>and</strong>e-mail programs.While an operating system such as Micros<strong>of</strong>t Windowsprovides basic capabilities to move text <strong>and</strong> graphics fromone application to another (such as by cutting <strong>and</strong> pasting),an application suite such as Micros<strong>of</strong>t Office makes it easierto, for example, launch a Web browser from a link within aword processing document or embed a spreadsheet in thedocument. In addition to this “interoperability,” an applicationsuite generally <strong>of</strong>fers a consistent set <strong>of</strong> comm<strong>and</strong>s <strong>and</strong>features across the different applications, speeding up thelearning process. The use <strong>of</strong> the applications in one packagefrom one vendor simplifies technical support <strong>and</strong> upgrading.(The development <strong>of</strong> comparable applications suitesfor Linux is likely to increase that operating system’s acceptanceon the desktop.)Applications suites have some potential disadvantagesas compared to buying a separate program for eachapplication. The user is not necessarily getting the bestprogram in each application area, <strong>and</strong> he or she is als<strong>of</strong>orced to pay for functionality that may not be needed ordesired. Due to their size <strong>and</strong> complexity, s<strong>of</strong>tware suitesmay not run well on older computers. Despite these problems,s<strong>of</strong>tware suites sell very well <strong>and</strong> are ubiquitous intoday’s <strong>of</strong>fice.(For a growing challenge to the traditional st<strong>and</strong>alones<strong>of</strong>tware suite, see application service provider.)Further ReadingVillarosa, Joseph. “How Suite It Is: One-Stop Shopping for S<strong>of</strong>twareCan Save You Both Time <strong>and</strong> Money.” Available online.Forbes magazine online. URL: http://www.forbes.com/buyers/070.htm. Accessed April 12, 2007.arithmetic logic unit (ALU)The arithmetic logic unit is the part <strong>of</strong> a computer systemthat actually performs calculations <strong>and</strong> logical comparisonson data. It is part <strong>of</strong> the central processing unit (CPU), <strong>and</strong>in practice there may be separate <strong>and</strong> multiple arithmetic<strong>and</strong> logic units (see cpu).The ALU works by first retrieving a code that representsthe operation to be performed (such as ADD). The code alsospecifies the location from which the data is to be retrieved<strong>and</strong> to which the results <strong>of</strong> the operation are to be stored.(For example, addition <strong>of</strong> the data from memory to a numberalready stored in a special accumulator register withinthe CPU, with the result to be stored back into the accumulator.)The operation code can also include a specification<strong>of</strong> the format <strong>of</strong> the data to be used (such as fixed or floating-pointnumbers)—the operation <strong>and</strong> format are <strong>of</strong>tencombined into the same code.In addition to arithmetic operations, the ALU can alsocarry out logical comparisons, such as bitwise operationsthat compare corresponding bits in two data words, correspondingto Boolean operators such as AND, OR, <strong>and</strong> XOR(see bitwise operations <strong>and</strong> Boolean operators).The data or oper<strong>and</strong> specified in the operation code isretrieved as words <strong>of</strong> memory that represent numeric data,or indirectly, character data (see memory, numeric data,<strong>and</strong> characters <strong>and</strong> strings). Once the operation is performed,the result is stored (typically in a register in theCPU). Special codes are also stored in registers to indicatecharacteristics <strong>of</strong> the result (such as whether it is positive,negative, or zero). Other special conditions called exceptionsindicate a problem with the processing. Commonexceptions include overflow, where the result fills more bitsthan are available in the register, loss <strong>of</strong> precision (becausethere isn’t room to store the necessary number <strong>of</strong> decimalplaces), or an attempt to divide by zero. Exceptions aretypically indicated by setting a flag in the machine statusregister (see flag).The Big PictureDetailed knowledge <strong>of</strong> the structure <strong>and</strong> operation <strong>of</strong> theALU is not needed by most programmers. Programmerswho need to directly control the manipulation <strong>of</strong> data inthe ALU <strong>and</strong> CPU write programs in assembly language(see assembler) that specify the sequence <strong>of</strong> operations tobe performed. Generally only the lowest-level operationsinvolving the physical interface to hardware devices requirethis level <strong>of</strong> detail (see device driver). Modern compilerscan produce optimized machine code that is almost as efficientas directly-coded assembler. However, underst<strong>and</strong>ingthe architecture <strong>of</strong> the ALU <strong>and</strong> CPU for a particular chipcan help predict its advantages or disadvantages for variouskinds <strong>of</strong> operations.Further ReadingKleitz, William. Digital <strong>and</strong> Microprocessor Fundamentals: Theory<strong>and</strong> Applications. 4th ed. Upper Saddle River, N.J.: PrenticeHall, 2002.Stokes, Jon. “Underst<strong>and</strong>ing the Microprocessor.” Ars Technica.Available online. URL: http://arstechnica.com/paedia/c/cpu/part-1/cpu1-1.html. Accessed May 22, 2007.arrayAn array stores a group <strong>of</strong> similar data items in consecutiveorder. Each item is an element <strong>of</strong> the array, <strong>and</strong> it can beretrieved using a subscript that specifies the item’s locationrelative to the first item. Thus in the C language, the statementint Scores (10);sets up an array called Scores, consisting <strong>of</strong> 10 integer values.The statementScores [5] = 93;stores the value 93 in array element number 5. One subtlety,however, is that in languages such as C, the first element <strong>of</strong>the array is [0], so [5] represents not the fifth but the sixthelement in Scores. (Many version <strong>of</strong> BASIC allow for settingeither 0 or 1 as the first element <strong>of</strong> arrays.)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!