How to increase processing speed / power of a computer?

In summary: The slowest of these will determine the overall speed of the system. By doing parallel computing you are increasing the processing speed. This does not address the speed of input/output, so you would need to address that separately.
  • #1
Tabaristiio
61
2
How to increase external information processing speed / power of a Computer / CPU? When I say external information, I mean external stimuli. When I say processing speed, I mean the speed at which the CPU / Computer processes external stimuli.

So for example, one Computer might take 10 seconds to process information which another Computer would take only 1 second to process that same information from the external world. By information, I'm talking about things like for example, how fast a computer can process what's written on a ball. As in, random letters or writings are put on a ball and how long the computer takes to process what the writing is after being exposed to the writing. So if a computer can process that information in 80 miliseconds (random number) for example, how would I decrease the time even further so that it can process the information even quicker?

Please explain in simplest terms and format because I'm not very knowledgeable with Computers.

Thanks
 
Engineering news on Phys.org
  • #2
Another example of what I mean is: suppose you have 10 tennis balls. Each tennis ball has something written on it. One Computer would take specific amount of time to process what's written on all 10 tennis balls. Whereas another Computer could potentially take less time than the former Computer at processing the same information, which is to process what's written on all 10 tennis balls. So how could one make the latter computer so that it processes information faster?
 
  • #3
Tabaristiio said:
How to increase external information processing speed / power of a Computer / CPU? When I say external information, I mean external stimuli. When I say processing speed, I mean the speed at which the CPU / Computer processes external stimuli.

So for example, one Computer might take 10 seconds to process information which another Computer would take only 1 second to process that same information from the external world. By information, I'm talking about things like for example, how fast a computer can process what's written on a ball. As in, random letters or writings are put on a ball and how long the computer takes to process what the writing is after being exposed to the writing. So if a computer can process that information in 80 miliseconds (random number) for example, how would I decrease the time even further so that it can process the information even quicker?

Please explain in simplest terms and format because I'm not very knowledgeable with Computers.

Thanks
Tabaristiio said:
Another example of what I mean is: suppose you have 10 tennis balls. Each tennis ball has something written on it. One Computer would take specific amount of time to process what's written on all 10 tennis balls. Whereas another Computer could potentially take less time than the former Computer at processing the same information, which is to process what's written on all 10 tennis balls. So how could one make the latter computer so that it processes information faster?
Have a look at this article on parallel computing, and let us know if you have specific questions about it. There are some limitations in how you implement your parallel processing algorithm (how you divide up the tasks, and how you combine all of the results). The article should help you understand some of those issues... :smile:

https://en.wikipedia.org/wiki/Parallel_computing
 
  • #4
You need to figure out all the steps that the system has to perform and work out which is the most significant consumer of time. That will probably be the bit of code that does the image recognition and analysis. In which case you have two possibilities...

Speed up the software by using a different/faster algorithm.

Speed up the hardware by using a faster processor, or perhaps adding more memory etc.

or both.
 
  • #5
Additional suggestions:

Use a DSP as for signal processing ( e.g. audio ).

Use a videoprocessor as for pattern recognition ( e.g. tennisballs handwriting ).

Add a FPGA for simple tasks.

Write ( critical parts of ) your program in assembly code.
 
  • #6
If this is something you want to do pretty much yourself, then based on your question I would estimate that you are at least several years of intense study away from even beginning to be able to do much. You would need to study both hardware (computer architecture) and software and each take at least a few years of study to get much of a real grip on them and to get into optimization of either one takes even more.
 
  • Like
Likes CalcNerd
  • #7
phinds said:
If this is something you want to do pretty much yourself, then based on your question I would estimate that you are at least several years of intense study away from even beginning to be able to do much. You would need to study both hardware (computer architecture) and software and each take at least a few years of study to get much of a real grip on them and to get into optimization of either one takes even more.

My question is a theoretical question, not a practical one. I have no plans on doing any such thing. My question is purely driven by curiosity.
 
  • #8
berkeman said:
Have a look at this article on parallel computing, and let us know if you have specific questions about it. There are some limitations in how you implement your parallel processing algorithm (how you divide up the tasks, and how you combine all of the results). The article should help you understand some of those issues... :smile:

https://en.wikipedia.org/wiki/Parallel_computing
From my current knowledge and understanding, I thought of Parallel Computing as something that works for internal processing mainly. Such as performing calculations and such of internal info.

However, does parallel computing work also on increasing processing speed of external stimuli / info?
 
  • #9
Tabaristiio said:
From my current knowledge and understanding, I thought of Parallel Computing as something that works for internal processing mainly. Such as performing calculations and such of internal info.

However, does parallel computing work also on increasing processing speed of external stimuli / info?
Of course increasing internal processing speed increases the processing of external info. You seem to have a somewhat garbled understanding of how computers work. There are two parts to processing external stemuli. The first is getting the data. That is generally VERY fast and in any case there's nothing that you can do to the computer that will increase it, you would have to get faster transducers. The second is internal processing speed to actually process the data.
 
  • #10
phinds said:
Of course increasing internal processing speed increases the processing of external info. You seem to have a somewhat garbled understanding of how computers work. There are two parts to processing external stemuli. The first is getting the data. That is generally VERY fast and in any case there's nothing that you can do to the computer that will increase it, you would have to get faster transducers. The second is internal processing speed to actually process the data.
A apologize as I am admittedly relatively ignorant on Computers, so excuse me for my ignorance of the topic. Again, my quest for answers is driven by curiosity, so that's the reason I am asking these questions in the first place.

Thank you and everyone else for answering and enlightening me on this topic!
 
  • #11
Tabaristiio said:
Please explain in simplest terms and format because I'm not very knowledgeable with Computers.
It all depends on what you really want your computer to do for you. A general purpose computer - such as the one you are probably working on at the moment, can do all sorts of things moderately fast and accurately. It has specialist hardware and software to take care of the heavy duty stuff like graphics, video, sound, some Maths functions etc and those functions have improved fantastically over the last decades. But the main processor is not the fastest thing on legs. A racehorse is great in a straight line but it needs to be a carthorse, a police horse and a circus pony.
If you happen to have a particular problem - like deciphering codes - a quantum computer can do it amazingly quickly but it won't be much use in a games console or a search engine.
Horses for courses.
 
  • #12
Tabaristiio said:
A apologize as I am admittedly relatively ignorant on Computers, so excuse me for my ignorance of the topic. Again, my quest for answers is driven by curiosity, so that's the reason I am asking these questions in the first place.

Thank you and everyone else for answering and enlightening me on this topic!

Nothing to apologize for. We are all ignorant about far more than we are knowledgeable about.

Since you don't really have the base-line knowledge to understand any kind of technically detailed answer, I would think that for your purposes a more interesting question would be the more simple one of "CAN we increase the speed of a computer's processing of external information?". What I find very interesting is that the answer to all such questions about evolutionary changes in technology (rather than revolutionary changes) is pretty much always the same and it goes something like this:

Of course we can do that. The important questions are:
how much improvement do we actually want to achieve?
how much cost is acceptable to achieve it?
how much time to achieve it is acceptable?

When you have the answers to THOSE questions, then you can actually begin to think about specifics of how to do it. The reason you need to answer those questions first is that the answers may well rule out some implementation paths that would prove to be blind alleys if you pursue them without first answering the important questions.

Failure to clearly answer those questions at the outset is the cause of the failure of many technological projects.
 
  • #13
Here are some basic ways you could speed this up:

SOFTWARE: Clever programmers can use hardware more efficiently. This is not within my expertise.

PHYSICS: Computers are based on CMOS transistors. There's an insulating gap in the transistor gate which, as it gets smaller, allows the transistors to switch more quickly and increases CPU speed. We'll probably reach the lower limit of this shrinking process in our lifetime.

ARCHITECTURE: Computers have to do things one step at a time. Processors have a limited amount of instructions they can perform in a single step. Doing complex things requires a long procession of more simple instructions. CPU designers can add specialized hardware to their chips to speed up complex operations when needed. An example of this is a floating point unit (FPU). Floating point calculations take many cycles of the processor to complete without specialized hardware. By the way, there are specialized machine vision chips on the market now.

FPGA's: Someone mentioned these already. FPGA's are logic devices that the user can program to do any logic function at very high speed. A handy use of these is to perform matrix operations (linear algebra) which I'm sure would be useful for machine vision.
 
  • #14
And to extend you comments on architecture a bit, don't forget about ASICs.
 
  • #15
In case it matters...they usually stop selling lottery tickets before the first ball is drawn not the last one :-)
 
  • #16
CWatters said:
In case it matters...they usually stop selling lottery tickets before the first ball is drawn not the last one :-)
Oh I wish!
 
  • #17
phinds said:
"CAN we increase the speed of a computer's processing of external information?".
That brings up the big problem of interfacing with the outside world and pre-processing high volume information in a way that it can be presented to the computer.

Memory lane time: At my place of work, they were trying to analyse reverberation characteristics of studios. The computer (an Eliot 803) used 5hole punched paper tape for its input but. they couldn't get a 5 hole punch to work fast enough (i.e. not a high enough sample rate) to get the decay pattern. Solution was to record with an 8 hole tape punch (just fast enough) and build a machine to read 8 holes and transcribe the data onto 5 holes for the computer to digest. That was only 50 years ago.
 
  • #18
phinds said:
Nothing to apologize for. We are all ignorant about far more than we are knowledgeable about.

Since you don't really have the base-line knowledge to understand any kind of technically detailed answer, I would think that for your purposes a more interesting question would be the more simple one of "CAN we increase the speed of a computer's processing of external information?". What I find very interesting is that the answer to all such questions about evolutionary changes in technology (rather than revolutionary changes) is pretty much always the same and it goes something like this:

Of course we can do that. The important questions are:
how much improvement do we actually want to achieve?
how much cost is acceptable to achieve it?
how much time to achieve it is acceptable?

When you have the answers to THOSE questions, then you can actually begin to think about specifics of how to do it. The reason you need to answer those questions first is that the answers may well rule out some implementation paths that would prove to be blind alleys if you pursue them without first answering the important questions.

Failure to clearly answer those questions at the outset is the cause of the failure of many technological projects.
OK! Fair point. I have another, more practical question in relation to this same topic of discussion. It is to do with something that has already happened and has been achieved using supercomputers.

I read an article previously which talked about a Supercomputer reading scientific books in 2 hours, which would take a lifetime for a human to read, due to the sheer quantities of books. What I want to know is how did the supercomputer achieve such feat? What is it about the computer that allowed it to read the books as fast as it did? How was the computer set up to achieve that feat?

Thanks in advance!
 
  • #19
Tabaristiio said:
OK! Fair point. I have another, more practical question in relation to this same topic of discussion. It is to do with something that has already happened and has been achieved using supercomputers.

I read an article previously which talked about a Supercomputer reading scientific books in 2 hours, which would take a lifetime for a human to read, due to the sheer quantities of books. What I want to know is how did the supercomputer achieve such feat? What is it about the computer that allowed it to read the books as fast as it did? How was the computer set up to achieve that feat?

Thanks in advance!
"Read" in this context is very vague. I assume the supercomputer gained NO actual knowledge from its "reading" (but possibly a catalog of facts). This kind of "reading" is just optical character recognition. People read things to get knowledge, not to just have the characters on the page pass through their eyeballs and into their memory with zero understanding of what is actually meant by the words.
 
  • #20
phinds said:
"Read" in this context is very vague. I assume the supercomputer gained NO actual knowledge from its "reading" (but possibly a catalog of facts). This kind of "reading" is just optical character recognition. People read things to get knowledge, not to just have the characters on the page pass through their eyeballs and into their memory with zero understanding of what is actually meant by the words.
Oh
phinds said:
"Read" in this context is very vague. I assume the supercomputer gained NO actual knowledge from its "reading" (but possibly a catalog of facts). This kind of "reading" is just optical character recognition. People read things to get knowledge, not to just have the characters on the page pass through their eyeballs and into their memory with zero understanding of what is actually meant by the words.
Oh I see. Thanks for clarifying.
 
  • #21
sophiecentaur said:
Memory lane time: At my place of work, they were trying to analyse reverberation characteristics of studios. The computer (an Eliot 803) used 5hole punched paper tape for its input but. they couldn't get a 5 hole punch to work fast enough (i.e. not a high enough sample rate) to get the decay pattern. Solution was to record with an 8 hole tape punch (just fast enough) and build a machine to read 8 holes and transcribe the data onto 5 holes for the computer to digest. That was only 50 years ago.
bold by me
How time changes technology. Your example just shows that the time spent on what one learns, as @phinds wrote ("You would need to study both hardware (computer architecture) and software and each take at least a few years of study ..."), for the most part, will become obsolete in a few years.
 
  • #22
dlgoff said:
bold by me
How time changes technology. Your example just shows that the time spent on what one learns, as @phinds wrote ("You would need to study both hardware (computer architecture) and software and each take at least a few years of study ..."), for the most part, will become obsolete in a few years.

Although the actual technology gets left behind, the logic and Maths doesn't. Serial vs parallel data, word length, instruction length and general purpose / application specific will always be relevant choices and we forget past lessons at our peril.
 
  • Like
Likes dlgoff
  • #23
sophiecentaur said:
Although the actual technology gets left behind, the logic and Maths doesn't. Serial vs parallel data, word length, instruction length and general purpose / application specific will always be relevant choices and we forget past lessons at our peril.
Absolutely.
 
  • Like
Likes dlgoff

1. What factors affect the processing speed/power of a computer?

There are several factors that can affect the processing speed/power of a computer, including the processor (CPU) speed, amount of RAM (memory), and the type of hard drive used. Additionally, the number and complexity of programs running simultaneously can also impact the speed of a computer.

2. How can I increase the processing speed/power of my computer?

There are several ways to increase the processing speed/power of a computer. These include upgrading the CPU or RAM, optimizing the computer's settings, and regularly performing maintenance tasks such as clearing out temporary files and running disk defragmentation.

3. Does adding more RAM always increase processing speed/power?

No, adding more RAM does not always guarantee an increase in processing speed/power. If the computer's CPU is already the bottleneck, adding more RAM will not have a significant impact. However, if the CPU is not the limiting factor, adding more RAM can help improve the computer's overall performance.

4. Can overclocking a CPU increase processing speed/power?

Yes, overclocking a CPU can increase processing speed/power. Overclocking involves increasing the clock speed of the CPU, allowing it to process more instructions per second. However, it also increases the temperature and can potentially damage the CPU if not done properly.

5. Are there any software programs that can improve processing speed/power?

Yes, there are software programs that claim to improve processing speed/power. These programs usually work by optimizing system settings and clearing out unnecessary files. However, their effectiveness may vary and they should be used with caution as they can also delete important system files.

Similar threads

  • Electrical Engineering
2
Replies
53
Views
2K
Replies
61
Views
6K
  • Electrical Engineering
Replies
9
Views
774
  • Electrical Engineering
Replies
11
Views
219
  • Computing and Technology
Replies
27
Views
1K
  • Computing and Technology
Replies
8
Views
5K
  • Atomic and Condensed Matter
Replies
1
Views
828
  • Quantum Physics
Replies
14
Views
1K
Replies
1
Views
46
Replies
6
Views
2K
Back
Top