PowerPC G4 for Engineering, Science, and Education. By Richard E. Crandall Apple Distinguished Scientist Advanced Computation Group

Size: px
Start display at page:

Download "PowerPC G4 for Engineering, Science, and Education. By Richard E. Crandall Apple Distinguished Scientist Advanced Computation Group"

Transcription

1 PowerPC G4 for Engineering, Science, and Education By Richard E. Crandall Apple Distinguished Scientist Advanced Computation Group October 2000

2 2 Contents 3 The PowerPC G4 as a new species of machine 3 Velocity Engine and vectorization 4 What ever happened to the dinosaurs? 4 What is a supercomputer? 5 That tired and homely old friend, the mainframe 5 Desktop supercomputing 6 How to envision a gigaflop rate 7 Of galaxies and things 8 In the blink of an eye 9 Cryptography and big arithmetic 9 Of birdsong and alien life 10 Network and cluster supercomputing 10 Power Mac G4 successes 11 At last, a good opportunity vector for schools

3 3 PowerPC G4 for Engineering, Science, and Education The PowerPC G4 as a new species of machine What could be more exciting to a botanist than the emergence of a new species of flower? Or to an ichthyologist, a brand-new species of fish? How about a new black-hole configuration, to an astronomer? As a career scientist and educator, I find myself joining the league of excited professionals, and this time the new animal is the PowerPC G4 processor technology. There is no question that certain problems from both the academic and industrial sectors can now, finally, be solved because of the vector-processing capabilities of the PowerPC G4. This is a boon not only for industry, but also for schools and research laboratories. Of course, everyone can benefit from the vector-processing advantage for example, through new and better website graphics, video effects, rendering, encryption, and compression, and generally enhanced system performance. But this paper focuses on how the G4, with its unprecedented desktop speed, presents itself as an emergent species, to the benefit of intellectual pursuit. Velocity Engine and vectorization It will be useful to start with an elementary description of what it means to do vector processing and why such processing is special. Simply put, the PowerPC G4 processor is enhanced with extra, very special silicon circuitry called the Velocity Engine. This engine is a full-fledged vector processor, included on-chip in an intimate, symbiotic fashion. For the tremendous processing advantages described herein, the relevant feature of the Velocity Engine is that several calculations say, four or more can occur all at once. Here is a way to envision the tremendous advantage inherent to vector arithmetic. The Velocity Engine performs typical, elementary algebra operations, such as a * b + c (read a times b, plus c ), but on vectors instead of plain numbers. You can think of a vector as a multicomponent number, such as the (floating-point) quad of numbers: a = {1, 3, 2, 5}; and imagine multiplying this by another vector b = {2, 12, 4, 40} and then adding yet another vector c = {1, 1, 10, 3} to get an answer all at once, if you will: {1, 3, 2, 5} * {2, 12, 4, 40} + {1, 1, 10, 3} = {3, 37, 18, 203} You can see how the last component becomes 203, namely 5 * Clearly, eight operations (four multiplies and four adds) are actually performed here, all at once.

4 4 There are, of course, many other vector operations, including ones that shuffle vector elements around, mix up the bits of elements, and so on. Moreover and this is important in regard to competing processors such as Pentium the Velocity Engine has an especially efficient ability to schedule the vector work so that maximum benefit is taken of the CPU clock. It is thus no surprise that in some isolated cases, G4 technology can sometimes move eight (or even more) times faster than competing PC hardware, with a more typical speed advantage of two or four times, depending on the precise application. Such talent on the part of the Velocity Engine leads to advanced software with unprecedented power, and this is how Power Mac G4 computers emerge as a new species in the world of computation. What ever happened to the dinosaurs? The age of supercomputing the decade of the 1980s in particular saw the rise and fall of multimillion-dollar supercomputers. These dinosaurs of that decade were able to reach beyond megaflops (millions of floating-point operations per second) into the gigaflops (billions of such operations per second). These hallowed machines stood majestic, alone, as the dominant power animals of the era. Just about the time people began to confer on the supercomputers some kind of magical capability (not to mention a new form of humor: Did you hear about the forthcoming Cray-XYZ? It will do an infinite loop in about 7 seconds. ), the pressure of eight-digit price tags, coupled with the rise of network-based and distributed supercomputing on collections of smaller processors, seems to have brought down those dinosaurs from their once-dominant role. Of course, really impressive supercomputers operating in the teraflops (trillions of operations per second) are still being designed today, yet these most modern variants usually depend profoundly on the parallelization of smaller processors. We shall see how Apple s Power Mac G4 amounts to something new: a commonly available supercomputer, a new animal that transcends previous categories, in being very fast yet extremely cost-effective. But first, let us turn to a more precise notion of supercomputing, in order to underscore the innovative character of the G4. What is a supercomputer? Many definitions of supercomputer have come and gone. Some favorites of the past are (a) any computer costing more than ten million dollars, (b) any computer whose performance is limited by input/output (I/O) rather than by the CPU, (c) any computer that is only one generation behind what you really need, and so on. I prefer the definition that a supercomputer performs above normal computing, in the sense that a superstar is whether in sports or in the media somehow above the other stars. Note that superanything should not be construed to mean the absolute fastest or best. Because almost all modern personal computers perform in the tens or hundreds of megaflops (more details later on such specifications), and yet these modern PCs cannot solve certain problems sufficiently rapidly, it is reasonable to define the supercomputing region, for today, as the gigaflops region. What this means is that you can do things at a few gigaflops that you cannot conveniently do at 100 megaflops. That is, you can do things in a convenient time span or sitting, or most important, you can do in real time certain tasks that were heretofore undoable in real time on PCs. In this sense, the Power Mac G4 is a personal supercomputer: obviously personal (the latest ergonomic and efficient designs for G4 products amplify this) and, due to their ability to calculate in the gigaflops region, clearly above the pack of competing PCs.

5 5 On the issue of cost: Some of us still recall the days when Cray time was $1,000 per hour. (This was a common industrial rate; still, academic use sometimes cost in the hundreds of dollars per hour.) It goes without saying that any personal supercomputer that costs in the region of a few thousand dollars or less is not only competing with the past, it is rendering the past noncompetitive. Of course, the state-of-the-art supercomputers of today reach into the hundreds of gigaflops, yet surprisingly, they are typically built from a host of gigaflop-level devices. A system like the Cray T3E ranges from about 7 gigaflops to the teraflop (1,000 gigaflops) region, depending on the number of individual processors. One way to envision the power of a desktop Power Mac G4 is that the low-end Cray T3E at 7.2 gigaflops has the equivalent speed of two G4 processors, each calculating at 3.6 gigaflops (an actual achieved benchmark for certain calculations). By the way, the advertised U.S. list price for the bottom-end Cray T3E is $630,000 ( October 11, 2000). On this basis, one can conclude that the Power Mac G4 is between the supercomputers of the 1980s and the very highest-end supercomputers of year 2000, and in fact is about as fast as the low-end versions of the latter, most modern supercomputers. That tired and homely old friend, the mainframe Many of us also recall the days when college campuses in general sustained a centralized paradigm simply described as a bunch of dumb terminals orbiting around a central mainframe. In the early 1980s, mainframe power was on the order of a few MIPS (or call it megaops, for integer operations, as opposed to megaflops, for floating-point operations). In fact, a standard unit of computing power called a MIPS-YEAR is supposed to be based on what an old DEC VAX 11/780 did in one year. As of year 2000, however, not only can a student have something like Apple s Power Mac G4 Cube sitting silently and aesthetically on a dormitory desk, but the G4 Cube has the power of hundreds of old mainframes. Look at it this way: A G4 performs one MIPS-YEAR of computational effort between breakfast and dinner. Thus, the G4 Cube is the equivalent of a bushel of old mainframes. Desktop supercomputing Let s talk about the feel of a desktop supercomputer experience. When I first used a Power Mac G4 for a serious computation the dreaded F24 Problem described later it felt very much like the Cray-YMP days. In fact, the response of the Power Mac G4 system s keyboard and monitor is, if you will, zippier than it used to be for a terminal connection to the Cray- YMP (of course, in the old days the closest thing to a desktop was a dumb terminal on one s desktop). To put it another way: Recall the old characterization of a supercomputer, that it would be limited by I/O say, long I/O delays punctuated by brief hiccups of billions of CPU operations each. For many research and engineering problems, that is also the feel of the Power Mac G4: One senses the CPU actions as mere hiccups, so fast is the internal machinery. Sure enough, the performance numbers verify this subjective experience: A good program on a Cray-YMP would run at 300 megaflops (say, 2.4 gigaflops then, on an eight-headed Cray), and now we have G4 functions sometimes running well above the 3-gigaflop threshold. It is true that the dinosaurs had massive bus and memory bandwidth, vast storage, and so on. Nevertheless, for many realistic computation problems the PowerPC G4 with its Velocity Engine conveys a newer and sleeker variant of the feel of the joy in commanding a supercomputer.

6 6 How to envision a gigaflop rate The wonderful news is that the PowerPC G4 can perform certain tasks and I speak not of curious, isolated, prejudiced computations but of practical, widely needed tasks in 1, 2, or even above 3 gigaflops. The peak rating of a 500-megahertz G4 is 4 gigaflops, and a good rule of thumb is the following: One can come near 4 gigaflops for some functions, yet one can generally exceed 1 gigaflop on most functions. So it is convenient to concentrate on the question, How do we envision 1 gigaflop? One way is this: Light travels about 300 million meters per second, which means light would travel, if directed to, entirely around the Earth s equator seven times per second; the front of the beam would pass your position in a buzz of 7 hertz. This means that at a gigaflop rate, the PowerPC G4 performs over 100 million operations on every equatorial pass of the light beam. To put it another way, light travels about one foot in one nanosecond (a billionth of a second). This means that one G4 operation occurs as light travels about one foot. Imagine during one G4 operation at, say, 2 gigaflops, the light having left your monitor has not quite reached your face. It goes without saying that at the practical G4 peak of just under 4 gigaflops, one CPU operation has light traveling a distance more like the width of your hand. Of course, there are less recreational, more meaningful ways to envision a gigaflop. One way is to consider a very large (full-screen, say) video clip, 1000 by 1000 pixels, which needs to run at 30-frame-per-second movie speed. That s 30,000,000 pixels per second. So at a gigaflop, we are allowed about 33 operations per pixel to meet the prescribed movie rate. Sure enough, many of the modern, transform-based compressors MPEG, JPEG2000 (motion), experimental wavelet schemes, and so on involve a few dozen algebraic operations per pixel. What this tells us is the important fact that somewhere near 1 gigaflop, certain practical performance issues become resolved. That is, there are enough operations allowed per unit element to perform in real time. It is this kind of thinking that leads one to the conclusion that the gigaflop supercomputing boundary has a hard relevance for engineering. Incidentally, there is an interesting measure of CPU efficiency that, for the purposes of this paper, I will call V-Factor, where V stands for vectorization (or just as conveniently it can stand for velocity). You can think of the V-Factor as a measure of vectorization efficiency, calculated as the ratio flops/clock. For example, a vector processor having a 200-megahertz clock but performing 1 gigaflop would have a V-Factor of 5. For the PowerPC G4, the V-Factor is computed against, say, a 500-megahertz clock, and for Pentium III we might calculate against a 1-gigahertz clock. It is well known that Pentium III programmers can likewise invoke some vectorization, and in some isolated cases similar speedups to those of the G4, but it is important to observe that the Pentium III enhancements such as MMX/SSE do not constitute an identical species to the G4. One major difference is that G4 vectors can be used more naturally for multiprecision arithmetic (as in cryptography applications), various algebraic manipulations (as in matrix algebra), and signal processing (as in filters and transforms). Other big differences include the efficiency of G4 scheduling, the availability of registers, and data load/store bandwidth. The way actual G4 routines can approach 4 gigaflops is that a fused multiply/add instruction acting on four-vectors, for a total of eight operations per vector, can be scheduled in some cases such that these eight operations occur on every clock cycle. So at 500-megahertz clock, that is what gives the 4-gigaflop peak.

7 7 No matter how you look at it, the PowerPC G4 tends to be faster than the Pentium III, even when the former has a lower CPU clock rate (say, 500 megahertz compared with 1 gigahertz). Technically speaking, such comparisons are most favorable to the G4 when computations are cache-bound. Here s yet another way to look at it: The older PowerPC G3 processor s performance is sometimes bested by a factor of four, eight, or even more on the G4. Since many routines on the G3 are roughly comparable to Pentium routines, you can see how dominant is the current G4 performance over that of all other PC hardware platforms. It turns out that for a great many fundamental routines, one can sustain typically 1 gigaflop to 3.6 gigaflops on a 500-megahertz G4. This results in the following rule of thumb: V-Factor (PowerPC G4) = about 2 to 7 obtained by dividing the number of gigaflops by the CPU clock rate. On the other hand, a typical, optimized Pentium III function yields the ratio V-Factor (Pentium III) = about 1 to 1.5 This result can be obtained from publicly available performance figures on Intel s website ( For example, using Intel s signal-processing library code, a length-1024 complex FFT on a 600-megahertz Pentium III runs at about 850 megaflops (giving a V-Factor of about 1.4), while Intel s 6-by-6 fast matrix multiply performs at about 800 megaflops (V-Factor about 1.3). (Note that one might be able to best these Pentium III figures; I cite here just one of the publicly available code library results. These results do exploit the Pentium III processor s own MMX/SSE vector machinery, and I caution the reader that these rules of thumb are approximations.) On the other hand, a PowerPC G4 FFT of the same style can be made to run with fairly straightforward vector code at 1 gigaflop, and with more optimization work at up to 2.5 gigaflops, giving a V-Factor of between 2 and 4. As I intimated, PowerPC G4 functions have been written that perform in the region of 2 to 3-plus gigaflops. These include fast matrix operations, convolution, digital filters, and so on. Readers versed in graphics and signal processing will recognize these kinds of functions as not arbitrarily listed, but rather pragmatically important and commonly used. A brief, explicit, consolidated table of the best-known, sustainable performance for a 500-megahertz G4 is the following, obtained from actual laboratory measurements: Signal function Gigaflops V-Factor 1024-point FFT /32 matrix multiply by-2048 convolution Of galaxies and things Perhaps you would like to know more precisely how this vector-processing Velocity Engine advantage can actually be used by, say, a scientific programmer. Here is a mental picture of the detailed manner in which G4 vectors might come into play. Imagine a galaxy essentially a group of a great many stars spinning on the computer screen. With the G4, the software can treat every star s position in space (x, y, z) and luminosity L as a so-called four-vector.

8 8 We define a star, then, by a four-vector (x, y, z, L), the point being that the whole construct (x, y, z, L) can be rotated, warped, and shifted around using vector instructions on the G4. It is intriguing that star parameters can be fused in this way, so that operations can act all at once on three-dimensional space and brightness together. But there is yet more opportunity for vectorization in such a model. In scientific terms, one can invoke a so-called perturbation series for the gravity calculations, such a series being replete with the fused multiply/add operations at which the G4 excels. For example, the perturbation on a star at radius r from galactic center might take the form a + b * r + c * r * r + d * r * r * r +... which can be calculated using something called the Horner rule, which in turn exploits fused multiply/add. In other words, not just the vector design itself but the detailed vector arithmetic can be combined to give gigaflop performance for such a model. The net effect, of course, is that the galaxy spins much faster with the vector processing than without. One of the very first gigaflop examples of the PowerPC G4 was a galaxy model in which 30,000 stars were propagated according to the usual Newtonian gravitational laws; these laws in perturbation form require about 80 operations per individual star. The 500-megahertz G4 implementation processes that entire galaxy in less than second, giving over a gigaflop. The net effect is a spinning galactic ensemble, which on an already impressive G3 would stutter a tad, yet on the G4 the galactic rotation of the entire ensemble appears smooth. Such is the advantage of a physical scenario that allows modeling via multicomponent vectors and special logic architecture. In the blink of an eye There are further picturesque variants of the whole four-vector theme, variants important to both academia and industry. In the world of image processing, there are modern algorithms called wavelet algorithms. Wavelet literally means little wave, and the idea is to break an image down into its wavelet components. In fact, the wavelet transform is a recipe for building the image back up from a kind of hierarchical dust, a recipe that lends itself to compression and other important image operations. Here again, the PowerPC G4 is radically superior to scalar (that is, nonvector) machinery. Think of a color pixel in an image as a four-vector RGBA = {Red, Green, Blue, Alpha}, where Alpha is the opacity channel, used for image overlay. You can imagine, then, performing algebra on this color four-vector. Indeed, a G4 wavelet transform proceeds five times faster than a scalar G3 one. The reason for the greater-than-four speedup is that there are, as we have said, more advantages to the G4 than just the fourfold vectorization. Incidentally, the upcoming image standard JPEG2000 will involve wavelets, so this G4 advantage will soon find its way into all sorts of scenarios. For one thing, future website images will likely use the newer and sleeker wavelet methods, for very rapid image decoding. And the G4 will make things all the more efficient. One wavelet transform that has been implemented will perform (for 500-megahertz clock) an entire wavelet-inverse transform followed by a traditional YUV-to-RGB conversion in 1/300 of a second, for a 320-by-240 image. That is an order of magnitude faster than one would need for real-time decompression for that wavelet scheme. This performance measures out at about 1 gigaop (1 billion integer operations per second).

9 9 Cryptography and big arithmetic Again on the subject of vectorized integer processing, there is the burgeoning world of cryptography. It is well known these days that cryptography involves large numbers, like prime numbers. It is not an exaggeration to say that most people have used prime numbers, at least indirectly, in web activities such as mail and credit card transactions. For example, when you order garden tools over the web, your credit card transaction may well involve a pair of prime numbers somewhere in the ordering chain. There is also a whole field of inquiry, called computational number theory, that is a wonderful academic field, attracting mathematicians, engineers, and hobbyists of all ages. Whether the interest is academic or commercial, it turns out that the G4 is quite good at this big arithmetic. Here is an example: When timed against any of the public arithmetic packages for Pentium (there are a dozen or so good packages), the G4 beats every one of them at sheer multiplication. In case you are familiar with timing for big arithmetic, a 500-megahertz G4 will multiply two numbers each of 256 bits, for a 512-bit product, in well under a microsecond. And here is a truly impressive ratio: In doing 1024-bit cryptography, as many crypto packages now do, the G4 is eight times faster than the scalar G3. That huge speedup ratio is due to many advantages of the vector machinery. But there is more to this happy tale: The G4 can perform arbitrary vector shifts of long registers, and these too figure into cryptography and computational number theory. There are some macro vector operations that run even 15 times faster than their scalar counterparts, because of the vector shifts. In such an extreme case of vector speedup, it is not just the vector architecture but also the unfortunate hoops through which the scalar programmer must sometimes jump hoops that can happily evaporate in some G4 implementations. (Technically, arbitrary shifting on scalar engines must typically use a logical-or-and-mask procedure on singleton words, which is a painful process.) Of birdsong and alien life There is a 35-year-old algorithm construct that is so ubiquitous that literally thousands of papers have been published about it, hundreds of books are devoted to it, and some university students and faculty are studying it, while engineers use it as you read this. We speak of the fast Fourier transform, or FFT. The ubiquitous FFT essentially generates the frequency spectrum of a signal, and is used to analyze birdsong or whalesong, provide voiceprints, process data, look for patterns, and on and on, with applications even to the search for extraterrestrial intelligence (SETI). The well-known SETI@home Project allows volunteers to process radio telescope data at home, searching for telltale patterns that might arise from living beings out there in the cosmos. At the very core of the processing software is, yes, an FFT. It turns out that the PowerPC G4 is well-suited for certain variants of the FFT, and can provide speedups of five times (sometimes even more than that) over the scalar G3. This is a fortunate circumstance, not only for such endeavors as the SETI@home Project, but also for the myriad academic uses of FFT. (On a humorous note, when chief astronomer D. Werthimer of the SETI@home Project heard of the G4 processor s advantages, he suggested a commercial tome: When ET phones, the G4 will be listening. ) On the quantitative side, we have noted that the G4 and Pentium III FFT speeds differ considerably. (Technically, the difference is especially evident for commonly used medium signal lengths such as 1024 or thereabouts; the speed ratio of the G4 over the Pentium III depends

10 10 somewhat on signal length because of memory constraints.) Again we echo the theme: FFTs in the gigaflop region give rise to new applications in real time. Speech recognition, for example, is often FFT-based in part, and we all know how difficult are recognition and related artificial intelligence problems. Network and cluster supercomputing As has been said, one form of selection pressure giving rise to the extinction of the old supercomputers was the advent of network-based supercomputing. One can build great networks of desktop computers. In that mode, many (these days that could mean literally thousands of ) desktop computers work together on a problem. Computational problems to solve in this way include the well-known prime number searches; cryptographic code cracking; large scientific problems in biology, chemistry, and physics; and the already famous SETI@home Project. We have all heard by now of the Genome Project, which involves the detailed mapping appropriate to human genetics. Needless to say, that is a profound computational task; and even though success has recently been reported, it is evident that such computations will never end. For one thing, new and faster computers will always be needed to resolve, track, and model isolated gene defects for individuals and groups. Every new Genome milestone of the coming century will give rise to more, not less intense computational requirements. The point of these observations is that the G4 will boost, several times over, the inherent processing power of these vast networks. To convey an idea of scale: A network of 300,000 volunteered G4 computers would have a peak computational power of 1 pentaflop (1 quadrillion floating-point operations per second). Such power could in principle, if harnessed in proper parallel fashion, calculate the entire, synthetic Disney/Pixar movie Toy Story II in a few minutes. That kind of intuition aside, it is true that many of the hardest computations ever performed fall into the pentaflop region, meaning that in a convenient time span for research (one year, say), one needs to move at a pentaflop clip. Power Mac G4 successes Around the country, among national laboratories, universities, and developer sites and also within Apple s Advanced Computation Group (ACG), there have been performance successes on real computational problems (as opposed to fundamental benchmarking). The research papers of the ACG, showing results on FFTs, wavelets, multiprecision, and matrix algebra, are available on the web at developer.apple.com/hardware/altivec/acgresearch.html. The following are some brief descriptions of exemplary G4 successes from various user sectors. Note that, even as I write this brief summary, new applications are pouring in, as more and more deep problems begin to be assailed with the PowerPC G4. One of the university successes is the interesting AppleSeed project being run at University of California at Los Angeles. Reported by D. Dauger from that effort is a performance on a graphical fractal generation experiment of over 20 gigaflops from 16 Power Mac G4 computers (at the reduced clock of 400 megahertz, in fact) that amounts to well over 1 gigaflop per unit in their cluster mode. The details, along with comparisons to Pentium III, IBM, and Cray benchmarks, are provided at exodus.physics.ucla.edu/appleseed. As for the engineering sector, more precisely the engineering/academic interface, an interesting project at the University of Minnesota uses Power Mac G4 computers for high-performance analysis of seismic data. Seismic data pertains not only to earthquakes and volcanic activity,

11 11 but also to the search for natural resources. In the words of Dr. N. Coult of UMN, High [oil] prices at the pump have an enemy in the G4. His technical writings are available at From the Advanced Photon Source of Argonne National Laboratory, D. Mancini reports the use of G4 systems for research into high-throughput X-ray analysis. Their general effort in tomography is described at From Sandia National Laboratories, S. Spires reports that the G4 is being used for research involving computation with decentralized collectives of intelligent agents, for applications where robustness is paramount and the environment may be hostile like on the Internet. One way to envision such research is that it essentially moves a great deal of Internet security issues into the deep computation domain. This is a great example of how deep computations can enjoy a practical importance well beyond, say, the cultural allure of sheer depth. As we have pointed out, the G4 excels in integer arithmetic, especially the multiprecision variety, which is of paramount relevance to cryptography and security applications. An overview of the research effort is at According to C. Hunter at NASA Langley Research Center, the Power Mac G4 runs vector computations several times faster than do traditional scalar workstations. During evaluation of various systems for simulations in computational fluid dynamics, the G4 was found to enjoy a potential cost effectiveness (calculated as speed divided by cost) up to eight times higher than other workstations. General information on the NASA Langley effort is at In the sector of so-called pure academic research, here is a rather unique example. It is especially pleasing to me that the Power Mac G4 was used as an integral part of the deepest computation in history, for a 1-bit (yes/no) answer. This dreaded Problem of F24 involves the determination of whether a certain gargantuan number called F24, possessed of about five million decimal digits is prime or not. Various researchers around the country participated in this massive computation, which by the way was about as extensive as the rendering of one of those Disney/Pixar movies. (One can joke that you can get either a full-length synthetic movie or, for the same essential effort, this 1-bit answer.) One of the participating machines was a Power Mac G4, which technically speaking was doing a very large integer convolution at unprecedented speed. I hope this kind of pure computational example, although it does have its allure, will not detract from the other observations about the kind of supercomputer performance that is truly needed in this day and age. At last, a good opportunity vector for schools I would like to lay out a notion of what I will call an opportunity vector. Such a vector describes the opportunity offered to, say, a student or teacher. All through the 1970s, 80s, and 90s, we professors were forced to say, Well, you can have this much performance, but it will cost you this much; and you can have this much graphics resolution/speed but the equipment will be this big, and so on. In other words, we have always had to hedge, to offer solutions saddled with handicaps. It has been as though our opportunity vector were a sum of highly orthogonal components, adding up to a disappointing total vector. The insufficient educational efficacy of previous computing resources has, for some of us professors, long been a cause for embarrassment or at least regret. Anyone who has been involved with higher education knows that in the liberal arts sector, and in many universities, the problem of offering supercomputing power meaning at the rough measure of 1 gigaflop to students has been problematic, if not impossible. Surely in the 1980s

12 12 a budget of $10 million would generally, perhaps naturally, go to other causes. But computation affects all of our lives more and more witness the examples of advanced medicine design via supercomputing, or the profound analysis of economic trends so it is a wonderful thing that something like the G4 is now available to students generally, not only around the world but at most educational levels. Soon enough, parents will be able to send their children not just to schools that have supercomputers, but to schools that have something approaching one supercomputer per student. I recall a prominent plasma physicist of the mid-1980s who said his life had changed when he finally had available 25 megaflops. He meant that the complex models of fluid flow could not be fathomed in a convenient time span until he had 25-megaflop machinery on which to model the physics. Given that sentiment, imagine the opportunity for a student in the coming millennium, who can have at her fingertips forty or more times that physicist s dream power. There is a fascinating cultural aspect of this desktop supercomputing paradigm. As soon as PCs became widely available, they were very slow, because of course the first machines to break through any low price threshold will likely be slower machines. But with a new machine species like the G4, a decade-long tradition of low-cost, sluggish equipment is in many ways canceled, and that is a happy thing. That happy thing yields, at last, a good opportunity vector. Now we can say, Well, you can have gigaflop-supercomputing power, at low cost, with efficient design, aesthetic and not bulky. We might pose the question, Why would every student need a supercomputer? The answer is that, as soon as the sluggish-cheap paradigm is fully blunted, some will be surprised at how often very deep computation will be required, even of individuals. Many of us professors have found out over the years (of disappointment, of insufficient opportunity vectors) that students of today whenever today is need as much computational power as we can offer. We have mentioned cultural breakthroughs (involving medicine, industry, the Internet, pure research) to which supercomputing applies, but we have also pointed out the need for real-time solutions (in sound, video, conferencing, general communications). It goes without saying that whatever the future of deep computation, it is the current student generation that will be the deep-sea divers in that future. Allow me to cast a final point in metaphorical terms. I have a crazy dream pertaining to that dreaded day when I am rushed into an X-ray ward for whatever reason. I envision the signalprocessing programmers, radiologists, and physicians, working with their as-yet unimaginable computational-medical apparatus. My hope is this: That those professionals will have been trained, back in their student days in the early 2000s, on desktop supercomputers such as the Power Mac G4. Why such a dream? Because those professionals will have learned, early in their careers, how to deduce important and telling things facts that really do, after all, matter in life by way of deep computations. Apple 1 Infinite Loop Cupertino, CA Apple Computer, Inc. All rights reserved. Apple, the Apple logo, Mac, and Macintosh are trademarks of Apple Computer, Inc., registered in the U.S. and other countries. Power Mac and Velocity Engine are trademarks of Apple Computer, Inc. PowerPC is a trademark of International Business Machines Corporation, used under license therefrom. Other product and company names mentioned herein may be trademarks of their respective companies. Product specifications are subject to change without notice. This material is provided for information purposes only; Apple assumes no liability related to its use. October 2000

Chapter 1. Introduction To Computer Systems

Chapter 1. Introduction To Computer Systems Chapter 1 Introduction To Computer Systems 1.1 Historical Background The first program-controlled computer ever built was the Z1 (1938). This was followed in 1939 by the Z2 as the first operational program-controlled

More information

(Refer Slide Time 00:01:09)

(Refer Slide Time 00:01:09) Computer Organization Part I Prof. S. Raman Department of Computer Science & Engineering Indian Institute of Technology Lecture 3 Introduction to System: Hardware In the previous lecture I said that I

More information

Real Numbers finite subset real numbers floating point numbers Scientific Notation fixed point numbers

Real Numbers finite subset real numbers floating point numbers Scientific Notation fixed point numbers Real Numbers We have been studying integer arithmetic up to this point. We have discovered that a standard computer can represent a finite subset of the infinite set of integers. The range is determined

More information

Introduction to Programming

Introduction to Programming CHAPTER 1 Introduction to Programming Begin at the beginning, and go on till you come to the end: then stop. This method of telling a story is as good today as it was when the King of Hearts prescribed

More information

This is an oral history interview conducted on. October 30, 2003, with IBM researcher Chieko Asakawa and IBM

This is an oral history interview conducted on. October 30, 2003, with IBM researcher Chieko Asakawa and IBM This is an oral history interview conducted on October 30, 2003, with IBM researcher Chieko Asakawa and IBM Corporate Archivist, Paul Lasewicz, conducted the interview. Thank you, and welcome. Thank you

More information

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller Entertainment Graphics: Virtual Realism for the Masses CSE 591: GPU Programming Introduction Computer games need to have: realistic appearance of characters and objects believable and creative shading,

More information

Challenges to Embedding Computer Vision J. Scott Gardner General Manager and Editor-in-Chief Embedded Vision Alliance (www.embedded-vision.

Challenges to Embedding Computer Vision J. Scott Gardner General Manager and Editor-in-Chief Embedded Vision Alliance (www.embedded-vision. Challenges to Embedding Computer Vision J. Scott Gardner General Manager and Editor-in-Chief Embedded Vision Alliance (www.embedded-vision.com) May 16, 2011 Figure 1 HAL 9000 a machine that sees. Source:

More information

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on

More information

Vector and Parallel Processors. Amdahl's Law

Vector and Parallel Processors. Amdahl's Law Vector and Parallel Processors. Vector processors are processors which have special hardware for performing operations on vectors: generally, this takes the form of a deep pipeline specialized for this

More information

Equations and Functions, Variables and Expressions

Equations and Functions, Variables and Expressions Equations and Functions, Variables and Expressions Equations and functions are ubiquitous components of mathematical language. Success in mathematics beyond basic arithmetic depends on having a solid working

More information

(Refer Slide Time: 1:40)

(Refer Slide Time: 1:40) Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering, Indian Institute of Technology, Delhi Lecture - 3 Instruction Set Architecture - 1 Today I will start discussion

More information

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University CSE 591/392: GPU Programming Introduction Klaus Mueller Computer Science Department Stony Brook University First: A Big Word of Thanks! to the millions of computer game enthusiasts worldwide Who demand

More information

COMP Preliminaries Jan. 6, 2015

COMP Preliminaries Jan. 6, 2015 Lecture 1 Computer graphics, broadly defined, is a set of methods for using computers to create and manipulate images. There are many applications of computer graphics including entertainment (games, cinema,

More information

Chapter 1 What Is Parallel Computing?

Chapter 1 What Is Parallel Computing? Chapter 1 What Is Parallel Computing? Part I. Preliminaries Chapter 1. What Is Parallel Computing? Chapter 2. Parallel Hardware Chapter 3. Parallel Software Chapter 4. Parallel Applications Chapter 5.

More information

Intel s MMX. Why MMX?

Intel s MMX. Why MMX? Intel s MMX Dr. Richard Enbody CSE 820 Why MMX? Make the Common Case Fast Multimedia and Communication consume significant computing resources. Providing specific hardware support makes sense. 1 Goals

More information

High-Performance and Parallel Computing

High-Performance and Parallel Computing 9 High-Performance and Parallel Computing 9.1 Code optimization To use resources efficiently, the time saved through optimizing code has to be weighed against the human resources required to implement

More information

So computers can't think in the same way that people do. But what they do, they do excellently well and very, very fast.

So computers can't think in the same way that people do. But what they do, they do excellently well and very, very fast. Input What is Processing? Processing Output Processing is the thinking that the computer does - the calculations, comparisons, and decisions. Storage People also process data. What you see and hear and

More information

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides Slide Set 1 for ENCM 369 Winter 2014 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2014 ENCM 369 W14 Section

More information

1 Motivation for Improving Matrix Multiplication

1 Motivation for Improving Matrix Multiplication CS170 Spring 2007 Lecture 7 Feb 6 1 Motivation for Improving Matrix Multiplication Now we will just consider the best way to implement the usual algorithm for matrix multiplication, the one that take 2n

More information

Decoding Radio Messages from Space

Decoding Radio Messages from Space I7 Decoding Radio Messages from Space Activity I7 Grade Level: 7 12 Source: This activity is one part of a longer sequence written by Dennis Schatz, and eventually published as part of the original Universe

More information

Distributed Virtual Reality Computation

Distributed Virtual Reality Computation Jeff Russell 4/15/05 Distributed Virtual Reality Computation Introduction Virtual Reality is generally understood today to mean the combination of digitally generated graphics, sound, and input. The goal

More information

Website Designs Australia

Website Designs Australia Proudly Brought To You By: Website Designs Australia Contents Disclaimer... 4 Why Your Local Business Needs Google Plus... 5 1 How Google Plus Can Improve Your Search Engine Rankings... 6 1. Google Search

More information

INFS 214: Introduction to Computing

INFS 214: Introduction to Computing INFS 214: Introduction to Computing Session 1 History of Computing Lecturer: Dr. Ebenezer Ankrah, Dept. of Information Studies Contact Information: eankrah@ug.edu.gh College of Education School of Continuing

More information

Discrete Dynamical Systems: A Pathway for Students to Become Enchanted with Mathematics

Discrete Dynamical Systems: A Pathway for Students to Become Enchanted with Mathematics Discrete Dynamical Systems: A Pathway for Students to Become Enchanted with Mathematics Robert L. Devaney, Professor Department of Mathematics Boston University Boston, MA 02215 USA bob@bu.edu Abstract.

More information

So, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory.

So, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory. Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 31 Memory Hierarchy: Virtual Memory In the memory hierarchy, after

More information

The Benefits of SMS as a Marketing and Communications Channel From The Chat Bubble written by Michael

The Benefits of SMS as a Marketing and Communications Channel From The Chat Bubble written by Michael The Benefits of SMS as a Marketing and Communications Channel 1 Why companies and organizations should do SMS. We re going to talk through from an organization or marketers point of view, what SMS is good

More information

Introduction to Computer Science Lesson 5

Introduction to Computer Science Lesson 5 Introduction to Computer Science Lesson 5 BSc in Computer Science University of New York, Tirana Assoc. Prof. Marenglen Biba Copyright 2012 Pearson Education, Inc. 1-1 Data Manipulation 2.1 Computer Architecture

More information

Unit 9 : Fundamentals of Parallel Processing

Unit 9 : Fundamentals of Parallel Processing Unit 9 : Fundamentals of Parallel Processing Lesson 1 : Types of Parallel Processing 1.1. Learning Objectives On completion of this lesson you will be able to : classify different types of parallel processing

More information

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin INTRODUCTION We can divide the parts that make up a computer into three broad categories or subsystem: the central processing unit (CPU), the main memory, and the input/output subsystem. The next three

More information

Advanced processor designs

Advanced processor designs Advanced processor designs We ve only scratched the surface of CPU design. Today we ll briefly introduce some of the big ideas and big words behind modern processors by looking at two example CPUs. The

More information

(Refer Slide Time: 01:25)

(Refer Slide Time: 01:25) Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 32 Memory Hierarchy: Virtual Memory (contd.) We have discussed virtual

More information

Lecture #3: PageRank Algorithm The Mathematics of Google Search

Lecture #3: PageRank Algorithm The Mathematics of Google Search Lecture #3: PageRank Algorithm The Mathematics of Google Search We live in a computer era. Internet is part of our everyday lives and information is only a click away. Just open your favorite search engine,

More information

1 Connections: Example Applications of Linear Algebra in Computer Science

1 Connections: Example Applications of Linear Algebra in Computer Science 1 1.1 How to use this handout This handout is intended to provide a quick overview, via carefully selected examples, of a subset of Linear Albegra topics that are commonly used in Computer Graphics, Machine

More information

Combinatorics Prof. Dr. L. Sunil Chandran Department of Computer Science and Automation Indian Institute of Science, Bangalore

Combinatorics Prof. Dr. L. Sunil Chandran Department of Computer Science and Automation Indian Institute of Science, Bangalore Combinatorics Prof. Dr. L. Sunil Chandran Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 5 Elementary concepts and basic counting principles So, welcome

More information

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives, Virtualization Q&A with an industry leader Virtualization is rapidly becoming a fact of life for agency executives, as the basis for data center consolidation and cloud computing and, increasingly, as

More information

Many-core and PSPI: Mixing fine-grain and coarse-grain parallelism

Many-core and PSPI: Mixing fine-grain and coarse-grain parallelism Many-core and PSPI: Mixing fine-grain and coarse-grain parallelism Ching-Bih Liaw and Robert G. Clapp ABSTRACT Many of today s computer architectures are supported for fine-grain, rather than coarse-grain,

More information

Computer Architecture. What is it?

Computer Architecture. What is it? Computer Architecture Venkatesh Akella EEC 270 Winter 2005 What is it? EEC270 Computer Architecture Basically a story of unprecedented improvement $1K buys you a machine that was 1-5 million dollars a

More information

CS 101, Mock Computer Architecture

CS 101, Mock Computer Architecture CS 101, Mock Computer Architecture Computer organization and architecture refers to the actual hardware used to construct the computer, and the way that the hardware operates both physically and logically

More information

Reasons to NOT Use . for Urgent Messages. Steuart Snooks. CEO Solutions For Success

Reasons to NOT Use  . for Urgent Messages. Steuart Snooks. CEO Solutions For Success by 0413 830 772 steuart@solutions4success.com.au Steuart Snooks CEO Solutions For Success @2 E-mail should never be urgent... really! Do you often feel you have to check e-mail on an almost constant basis,

More information

3.1 Constructions with sets

3.1 Constructions with sets 3 Interlude on sets Sets and functions are ubiquitous in mathematics. You might have the impression that they are most strongly connected with the pure end of the subject, but this is an illusion: think

More information

EC121 Mathematical Techniques A Revision Notes

EC121 Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes Mathematical Techniques A begins with two weeks of intensive revision of basic arithmetic and algebra, to the level

More information

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras (Refer Slide Time: 00:17) Lecture No - 10 Hill Climbing So, we were looking

More information

Functional Units of a Modern Computer

Functional Units of a Modern Computer Functional Units of a Modern Computer We begin this lecture by repeating a figure from a previous lecture. Logically speaking a computer has four components. Connecting the Components Early schemes for

More information

What is Information Technology. Chapter 1: Computer System. Why use Information Technology? What is Data?

What is Information Technology. Chapter 1: Computer System. Why use Information Technology? What is Data? What is Information Technology Chapter 1: Computer System Information Technology is the direct use of technology to process data. A more formal definition of IT would be: The acquisition, processing, storage

More information

Advanced Topics in Computer Architecture

Advanced Topics in Computer Architecture Advanced Topics in Computer Architecture Lecture 7 Data Level Parallelism: Vector Processors Marenglen Biba Department of Computer Science University of New York Tirana Cray I m certainly not inventing

More information

Topic C. Communicating the Precision of Measured Numbers

Topic C. Communicating the Precision of Measured Numbers Topic C. Communicating the Precision of Measured Numbers C. page 1 of 14 Topic C. Communicating the Precision of Measured Numbers This topic includes Section 1. Reporting measurements Section 2. Rounding

More information

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009 Digital Signal Processing 8 December 24, 2009 VIII. DSP Processors 2007 Syllabus: Introduction to programmable DSPs: Multiplier and Multiplier-Accumulator (MAC), Modified bus structures and memory access

More information

Disclaimer: This e-book doesn t tend to express hatred against any smartphone company or operating system. We believe that every company holds a

Disclaimer: This e-book doesn t tend to express hatred against any smartphone company or operating system. We believe that every company holds a Disclaimer: This e-book doesn t tend to express hatred against any smartphone company or operating system. We believe that every company holds a crucial position in the market. The content in the post

More information

INTRODUCTION TO COMPUTERS

INTRODUCTION TO COMPUTERS INTRODUCTION TO COMPUTERS When we talk about computers, we really are talking about a Computer System. Computer System: It is a combination of Hardware and Software. This combination allows a computer

More information

High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 23 Hierarchical Memory Organization (Contd.) Hello

More information

Getting Students Excited About Learning Mathematics

Getting Students Excited About Learning Mathematics Getting Students Excited About Learning Mathematics Introduction Jen Mei Chang Department of Mathematics and Statistics California State University, Long Beach jchang9@csulb.edu It wasn t so long ago when

More information

Figure 1 Logical view of the system memory.

Figure 1 Logical view of the system memory. Memory Addressing The memory of a computer system consists of tiny electronic switches, with each switch in one of two states: open or closed. It is, however, more convenient to think of these states as

More information

(Refer Slide Time: 06:01)

(Refer Slide Time: 06:01) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 28 Applications of DFS Today we are going to be talking about

More information

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1 Chapter 5 Computer Systems Organization Objectives In this chapter, you will learn about: The components of a computer system Putting all the pieces together the Von Neumann architecture The future: non-von

More information

Parallelism. Parallel Hardware. Introduction to Computer Systems

Parallelism. Parallel Hardware. Introduction to Computer Systems Parallelism We have been discussing the abstractions and implementations that make up an individual computer system in considerable detail up to this point. Our model has been a largely sequential one,

More information

Some Quick Terms Before we move ahead, we need to touch on a few key terms used throughout the book.

Some Quick Terms Before we move ahead, we need to touch on a few key terms used throughout the book. Getting Started Welcome to the official Apple Pro training course for Motion, Apple Computer s revolutionary real-time-design motion graphics application. This book provides a comprehensive guide to designing

More information

Lecture 2: Analyzing Algorithms: The 2-d Maxima Problem

Lecture 2: Analyzing Algorithms: The 2-d Maxima Problem Lecture 2: Analyzing Algorithms: The 2-d Maxima Problem (Thursday, Jan 29, 1998) Read: Chapter 1 in CLR. Analyzing Algorithms: In order to design good algorithms, we must first agree the criteria for measuring

More information

Topic Notes: Bits and Bytes and Numbers

Topic Notes: Bits and Bytes and Numbers Computer Science 220 Assembly Language & Comp Architecture Siena College Fall 2010 Topic Notes: Bits and Bytes and Numbers Binary Basics At least some of this will be review, but we will go over it for

More information

Introduction to I/O. April 30, Howard Huang 1

Introduction to I/O. April 30, Howard Huang 1 Introduction to I/O Where does the data for our CPU and memory come from or go to? Computers communicate with the outside world via I/O devices. Input devices supply computers with data to operate on.

More information

COPYRIGHTED MATERIAL. An Introduction to Computers That Will Actually Help You in Life. Chapter 1. Memory: Not Exactly 0s and 1s. Memory Organization

COPYRIGHTED MATERIAL. An Introduction to Computers That Will Actually Help You in Life. Chapter 1. Memory: Not Exactly 0s and 1s. Memory Organization Chapter 1 An Introduction to Computers That Will Actually Help You in Life Memory: Not Exactly 0s and 1s Memory Organization A Very Simple Computer COPYRIGHTED MATERIAL 2 Chapter 1 An Introduction to Computers

More information

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001 257 Midterm Exam, October 24th, 2000 258 257 Midterm Exam, October 24th, 2000 Tuesday, October 24th, 2000 Course Web page: http://www.cs.uni sb.de/users/jameson/hci Human-Computer Interaction IT 113, 2

More information

Computer Architecture. Minas E. Spetsakis Dept. Of Computer Science and Engineering (Class notes based on Hennessy & Patterson)

Computer Architecture. Minas E. Spetsakis Dept. Of Computer Science and Engineering (Class notes based on Hennessy & Patterson) Computer Architecture Minas E. Spetsakis Dept. Of Computer Science and Engineering (Class notes based on Hennessy & Patterson) What is Architecture? Instruction Set Design. Old definition from way back

More information

Why I switched my entire system to Sigma lenses

Why I switched my entire system to Sigma lenses Why I switched my entire system to Sigma lenses 2017 brought about a big transition for me as a die-hard Nikon photographer. This shift was significant considering one of Nikon s well-known attributes

More information

Unit 4 Part A Evaluating & Purchasing a Computer. Computer Applications

Unit 4 Part A Evaluating & Purchasing a Computer. Computer Applications Unit 4 Part A Evaluating & Purchasing a Computer Computer Applications Making Informed Computer Purchasing Decisions Before Buying a Computer Speaking the language of the computer world can be tricky It

More information

Memory Addressing, Binary, and Hexadecimal Review

Memory Addressing, Binary, and Hexadecimal Review C++ By A EXAMPLE Memory Addressing, Binary, and Hexadecimal Review You do not have to understand the concepts in this appendix to become well-versed in C++. You can master C++, however, only if you spend

More information

PDF created with pdffactory Pro trial version How Computer Memory Works by Jeff Tyson. Introduction to How Computer Memory Works

PDF created with pdffactory Pro trial version   How Computer Memory Works by Jeff Tyson. Introduction to How Computer Memory Works Main > Computer > Hardware How Computer Memory Works by Jeff Tyson Introduction to How Computer Memory Works When you think about it, it's amazing how many different types of electronic memory you encounter

More information

1 Overview, Models of Computation, Brent s Theorem

1 Overview, Models of Computation, Brent s Theorem CME 323: Distributed Algorithms and Optimization, Spring 2017 http://stanford.edu/~rezab/dao. Instructor: Reza Zadeh, Matroid and Stanford. Lecture 1, 4/3/2017. Scribed by Andreas Santucci. 1 Overview,

More information

Chapter Two Computer Types

Chapter Two Computer Types Chapter Two Computer Types 2-1 Microcomputers - Personal Computers Microcomputers sit on, beside or under a desk. They process data quickly and are designed for one user. The cost is relatively low, depending

More information

CS 1124 Media Computation. Steve Harrison Lecture 1.2 (August 27, 2008)

CS 1124 Media Computation. Steve Harrison Lecture 1.2 (August 27, 2008) CS 1124 Media Computation Steve Harrison Lecture 1.2 (August 27, 2008) Today Computer science Look at Jython Look at some cool image things Pixels Why study CS? What is computer science about? What do

More information

Achieving 24-bit Resolution with TASCAM s New-Generation DTRS Format Recorders / Reproducers

Achieving 24-bit Resolution with TASCAM s New-Generation DTRS Format Recorders / Reproducers Achieving 24-bit Resolution with TASCAM s New-Generation DTRS Format Recorders / Reproducers Introduction. The DTRS 16-bit format was originally seen by many people as an interim technology to bridge the

More information

An Introduction to the Computer Age

An Introduction to the Computer Age An Introduction to the Computer Age Computers are changing our world. The invention of the internal combustion engine and the harnessing of electricity have had a profound effect on the way society operates.

More information

6.001 Notes: Section 1.1

6.001 Notes: Section 1.1 6.001 Notes: Section 1.1 Slide 1.1.1 This first thing we need to do is discuss the focus of 6.001. What is this course all about? This seems quite obvious -- this is a course about computer science. But

More information

FFT-Based Astronomical Image Registration and Stacking using GPU

FFT-Based Astronomical Image Registration and Stacking using GPU M. Aurand 4.21.2010 EE552 FFT-Based Astronomical Image Registration and Stacking using GPU The productive imaging of faint astronomical targets mandates vanishingly low noise due to the small amount of

More information

Enhancing Analysis-Based Design with Quad-Core Intel Xeon Processor-Based Workstations

Enhancing Analysis-Based Design with Quad-Core Intel Xeon Processor-Based Workstations Performance Brief Quad-Core Workstation Enhancing Analysis-Based Design with Quad-Core Intel Xeon Processor-Based Workstations With eight cores and up to 80 GFLOPS of peak performance at your fingertips,

More information

Snowflake Numbers. A look at the Collatz Conjecture in a recreational manner. By Sir Charles W. Shults III

Snowflake Numbers. A look at the Collatz Conjecture in a recreational manner. By Sir Charles W. Shults III Snowflake Numbers A look at the Collatz Conjecture in a recreational manner By Sir Charles W. Shults III For many people, mathematics is something dry and of little interest. I ran across the mention of

More information

Overview of Input/Output Mechanisms

Overview of Input/Output Mechanisms Overview of Input/Output Mechanisms Norman Matloff University of California, Davis \copyrigth{2001}, N. Matloff February 5, 2001 Contents 1 Introduction 1 2 Our Mythical Machine Architecture 2 3 I/O Ports

More information

p x i 1 i n x, y, z = 2 x 3 y 5 z

p x i 1 i n x, y, z = 2 x 3 y 5 z 3 Pairing and encoding functions Our aim in this part of the course is to show that register machines can compute everything that can be computed, and to show that there are things that can t be computed.

More information

WIntroduction. Motion Control Architectures. Chuck Lewin, Founder of Performance Motion Devices

WIntroduction. Motion Control Architectures. Chuck Lewin, Founder of Performance Motion Devices Motion Control Architectures Chuck Lewin, Founder of Performance Motion Devices WIntroduction hen engineers think of advances in motion control technology, they usually think of faster motors, improved

More information

Fig 1.1 A designer working on a personal computer

Fig 1.1 A designer working on a personal computer Computer systems Computers are information processing machines. They process data to produce information. The most common mistake made by people when they talk about computers is to believe they are intelligent

More information

LECTURE -I BASIC CONCEPTS OF COMPUTERS

LECTURE -I BASIC CONCEPTS OF COMPUTERS LECTURE -I 1.1 INTRODUCTION BASIC CONCEPTS OF COMPUTERS Let us begin with the word compute. It means to calculate. We all are familiar with calculations in our day-to-day life. We apply mathematical operations

More information

THE CYBERSECURITY LITERACY CONFIDENCE GAP

THE CYBERSECURITY LITERACY CONFIDENCE GAP CONFIDENCE: SECURED WHITE PAPER THE CYBERSECURITY LITERACY CONFIDENCE GAP ADVANCED THREAT PROTECTION, SECURITY AND COMPLIANCE Despite the fact that most organizations are more aware of cybersecurity risks

More information

Introduction to Access 97/2000

Introduction to Access 97/2000 Introduction to Access 97/2000 PowerPoint Presentation Notes Slide 1 Introduction to Databases (Title Slide) Slide 2 Workshop Ground Rules Slide 3 Objectives Here are our objectives for the day. By the

More information

Slide Set 1 (corrected)

Slide Set 1 (corrected) Slide Set 1 (corrected) for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary January 2018 ENCM 369 Winter 2018

More information

Fourier transforms and convolution

Fourier transforms and convolution Fourier transforms and convolution (without the agonizing pain) CS/CME/BioE/Biophys/BMI 279 Oct. 26, 2017 Ron Dror 1 Why do we care? Fourier transforms Outline Writing functions as sums of sinusoids The

More information

(Refer Slide Time: 02.06)

(Refer Slide Time: 02.06) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking

More information

An introduction to plotting data

An introduction to plotting data An introduction to plotting data Eric D. Black California Institute of Technology February 25, 2014 1 Introduction Plotting data is one of the essential skills every scientist must have. We use it on a

More information

CS1114 Section 8: The Fourier Transform March 13th, 2013

CS1114 Section 8: The Fourier Transform March 13th, 2013 CS1114 Section 8: The Fourier Transform March 13th, 2013 http://xkcd.com/26 Today you will learn about an extremely useful tool in image processing called the Fourier transform, and along the way get more

More information

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 13 Constraints & Triggers Hello and welcome to another session

More information

Chapter 1 Basic Computer Organization

Chapter 1 Basic Computer Organization Chapter 1 Basic Computer Organization Course Outcome (CO) CO1 Explain the basic principles of modern computer systems organization Program Outcome (PO) PO1 Apply knowledge of mathematics, science and engineering

More information

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

CPS122 Lecture: From Python to Java last revised January 4, Objectives: Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

USES AND ABUSES OF AMDAHL'S LAW *

USES AND ABUSES OF AMDAHL'S LAW * USES AND ABUSES OF AMDAHL'S LAW * S. Krishnaprasad Mathematical, Computing, and Information Sciences Jacksonville State University Jacksonville, AL 36265 Email: skp@jsucc.jsu.edu ABSTRACT Amdahl's law

More information

3.4 Equivalent Forms of Rational Numbers: Fractions, Decimals, Percents, and Scientific Notation

3.4 Equivalent Forms of Rational Numbers: Fractions, Decimals, Percents, and Scientific Notation 3.4 Equivalent Forms of Rational Numbers: Fractions, Decimals, Percents, and Scientific Notation We know that every rational number has an infinite number of equivalent fraction forms. For instance, 1/

More information

Computer Organization & Architecture M. A, El-dosuky

Computer Organization & Architecture M. A, El-dosuky 4.1-storage systems and technology Memory as a Linear Array Computer Organization & Architecture M. A, El-dosuky A byte-addressable memory with N bytes is the logical equivalent of a C++ array, declared

More information

Chapter 1: Introduction to Computer Science and Media Computation

Chapter 1: Introduction to Computer Science and Media Computation Chapter 1: Introduction to Computer Science and Media Computation Story What is computer science about? What computers really understand, and where Programming Languages fit in Media Computation: Why digitize

More information

Algorithms: Why and How. Dr. Ted Ralphs

Algorithms: Why and How. Dr. Ted Ralphs Algorithms: Why and How Dr. Ted Ralphs Algorithms: Why and How 1 What is an Algorithm? Algorithms: Why and How 1 What is an Algorithm? According to Webster s Collegiate Dictionary: A procedure for solving

More information

Intel Celebrates 50 th Anniversary of Integrated Circuit; Intel CTO Makes Technology Predictions in Honor of Inventor s Day

Intel Celebrates 50 th Anniversary of Integrated Circuit; Intel CTO Makes Technology Predictions in Honor of Inventor s Day Intel Corporation 2200 Mission College Blvd. P.O. Box 58119 Santa Clara, CA 95052-8119 Feature Release NOTE TO EDITORS: Photos, videos and more facts available at http://www.intel.com/pressroom/kits/innovation

More information

time step first instruction second instruction

time step first instruction second instruction COMP1200 2001 Semester 1 61 Parallelism Microprocessors can use a variety of tricks to execute more instructions in a given amount of time. One of the most successful is to execute more than one instruction

More information

Computer Overview. A computer item you can physically see or touch. A computer program that tells computer hardware how to operate.

Computer Overview. A computer item you can physically see or touch. A computer program that tells computer hardware how to operate. Hardware Computer Overview A computer item you can physically see or touch. Software A computer program that tells computer hardware how to operate. Information Technology (IT) The broad subject related

More information

i W E I R D U T O P I A i

i W E I R D U T O P I A i i W E I R D U T O P I A i CHAPTER 9 1 EXPLODING DOTS CHAPTER 9 WEIRD AND WILD MACHINES All right. It is time to go wild and crazy. Here is a whole host of quirky and strange machines to ponder on, some

More information

Chapter 2 Parallel Hardware

Chapter 2 Parallel Hardware Chapter 2 Parallel Hardware Part I. Preliminaries Chapter 1. What Is Parallel Computing? Chapter 2. Parallel Hardware Chapter 3. Parallel Software Chapter 4. Parallel Applications Chapter 5. Supercomputers

More information