What is meant by the term "controller" within the realms of computer science and technology?

Hi Everyone;

       Often, the word "controller" is used which describing certain computer components.  For instance, words such as SATA or IDE Controller is often used to refer to the component on the motherboard which interfaces with the harddrive, CDROM, DVDROM, etc.  Or, the word USB controller is often used to describe the component which interfaces external USB devices like keyboards, mice, external harddrives, flash drives, etc. with the USB port of the computer.  While I understand interfacing aspect of controllers, I am still unclear on exactly what a controller is within the realms of computer science.

          Could someone give me a breakdown or easy to understand explanation of controllers?  I will look forward to any input to this question.

          Thank you

          George
GMartinAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

nobusCommented:
disk controller :  http://en.wikipedia.org/wiki/Disk_controller
pc :  http://en.wikipedia.org/wiki/Personal_computer   <--- check the other components
0
iceblockCommented:
A controller is part of a system that directs incoming and outgoing signals to the appropriate places.  In the context of a computer system, this would be the interface between any device and the mainboard, processor, or operating system.  This interface can be as simple as a single IC or as complex as an entire card with OS software helping direct the signals.  

0
TwisteddkCommented:
In general a controller is as you have figured out yourself, an interface between your "device" and the "hardware". However, a controller, unlike an interface has a second job to do, in that it translates information requests and responses according to whatever hardware it's interfaced with. This way an IDE controller can be placed on 15 different motherboards each with their own BIOS and method of accessing the interface/requesting information from it.

Historically the controller was required for the microcode to be able to execute identicaly on various types of computers with the same device attached, as simple binary commands would cause different results depending on what computer you executed it on. Today, however, the difference in coding is quite minimal, as the microcode governing the access to the data is pretty much identical from one manufacturer to another. However, even though the translation part of the controller is almost obsoleted, the name still sticks.

For more information about this subject, I would recommend readin up on the creatin of microcode in the first microcomputers. This will also give you some insight into why computer languages evolved the way they did, and why some components survived the test of time (so far).
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

GMartinAuthor Commented:
Hi Everyone;

          Thanks for the followup information.  Hopefully, I am not thinking into this too much, but, I am wondering about the translation function of the controller.  For instance, are the incoming and outgoing signals of an IDE controller have a different digital or binary code signature as compared to the incoming and outgoing signals of a USB controller?  I assume that to be true, otherwise, the USB controller would not be able to descipher the difference.  The processing or interpretation of the signals are also likely to be carried out by the processor which sends this information to the appropriate controller.  However, these are conjectures on my part.  

           Any followup to these points of this thread will be appreciated.  I should be ready to wrap up or conclude this thread once followups are given to these areas.

           Thank you

          George
0
nobusCommented:
the easiest way to think of a controller is as a black box
you know what you want to give as input, and know what you want as output (in terms of signals, protocols used, levels, timings etc..) all this is handled by the controller
0
iceblockCommented:
Sure, each device and controller type communicate differently, that's why they are governed by IEEE protocols.   Part of the controller's function is to normalize the device's signals so that devices from different manufacturers can interface with the mainboard without having to rebuild the board.
0
GMartinAuthor Commented:
Hi Everyone;

        First, I want to thank each person for their shared insights to this question.  Quite honestly, I found each shared view visionary to the behind the scenes operations of a controller.  Using the input collectively, I now have an enhanced understanding of the functions of a controller as expressed within the realms of computer technology.

        Many thanks once again for a job so well done.

        George
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Components

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.