Go Back   AnandTech Forums > Hardware and Technology > Highly Technical

Forums
· Hardware and Technology
· CPUs and Overclocking
· Motherboards
· Video Cards and Graphics
· Memory and Storage
· Power Supplies
· Cases & Cooling
· SFF, Notebooks, Pre-Built/Barebones PCs
· Networking
· Peripherals
· General Hardware
· Highly Technical
· Computer Help
· Home Theater PCs
· Consumer Electronics
· Digital and Video Cameras
· Mobile Devices & Gadgets
· Audio/Video & Home Theater
· Software
· Software for Windows
· All Things Apple
· *nix Software
· Operating Systems
· Programming
· PC Gaming
· Console Gaming
· Distributed Computing
· Security
· Social
· Off Topic
· Politics and News
· Discussion Club
· Love and Relationships
· The Garage
· Health and Fitness
· Merchandise and Shopping
· For Sale/Trade
· Hot Deals with Free Stuff/Contests
· Black Friday 2013
· Forum Issues
· Technical Forum Issues
· Personal Forum Issues
· Suggestion Box
· Moderator Resources
· Moderator Discussions
   

Reply
 
Thread Tools
Old 06-01-2012, 12:19 PM   #1
sashankteja
Junior Member
 
Join Date: Jun 2012
Posts: 2
Default clarify my doubt

i am new to this forum so my question may be little silly for you
can anyone explain how video and image is understood by the cpu and how they are displayed on the screen in detail
sashankteja is offline   Reply With Quote
Old 06-01-2012, 01:06 PM   #2
uclabachelor
Senior Member
 
uclabachelor's Avatar
 
Join Date: Nov 2009
Posts: 334
Default

It's a little more complicated than this and I'm sure others that with experience in PCs and graphics field can chime in, but in a nutshell, I/O devices (a monitor is an output device) in a system have their own range of address space mapped to the device.

Think of the address space like a city: You have special areas in the city that's reserved to perform special tasks, such as city hall. When you need to get a permit, you go to city hall. With the processor, when it needs to update the monitor, it writes data to that address space.

The address space usually points to an external graphics controller, which provides the physical interface to the monitor, provides memory to store data from the main processor, and does housekeeping to keep everyone happy.

When the main processor is ready to "draw" on the monitor, it writes data to that special address space. After the burst of data is sent, the graphics controller takes care of the rest. What happens between the graphics controller and the monitor is a separate subject.

Well, what happens if the processor needs to constantly update the monitor so often that it's tied up doing it and cannot perform other tasks?

That's where a DMA controller comes in. In this case, instead of writing to the address space that's allocated for the graphics controller, the processor writes to an address space that's dedicated to its own memory. After sending out the data to memory, it tells the DMA controller to copy that data to the graphics controller. The processor is then free to do other tasks.

Writing to memory and having the DMA controller copy that to the graphics controller has an extra step, but that extra step is a small price to pay for not having to wait to write data to the graphics controller since that is taken care of by the DMA controller!

Last edited by uclabachelor; 06-01-2012 at 01:08 PM.
uclabachelor is offline   Reply With Quote
Old 06-01-2012, 02:47 PM   #3
ZeroRift
Member
 
ZeroRift's Avatar
 
Join Date: Apr 2005
Posts: 169
Default

To go a bit deeper:

A processor doesn't really "understand" an image at the hardware level. It only sees the data and memory locations uclabachelor described. The operating system is the part of the computer that understands the difference between an image and, say, a text file, and it is responsible for providing the appropriate instructions to the processor for a given set of data.

The operating system is not only responsible for drawing its own images (windows loading screens, desktop backgrounds, etc.), but is also responsible for telling the processor how to draw images from applications (web browsers, games, etc.). Those applications talk to the operating system through an API (for example: DirectX), which, in simplest terms, is just a set of commands that both the OS and the application can understand. The operating system then translates commands sent through the API into driver functions, and the drivers, in turn, translate those functions into information the processor can understand.

So the software / OS is responsible for "understanding" data, while the processor / hardware is responsible for running the OS code and doing what the OS says.

You could say that the OS is the "brain" of the computer, while the processor / hardware are the muscles and bones of the computer.
ZeroRift is offline   Reply With Quote
Old 06-01-2012, 02:56 PM   #4
Modelworks
Lifer
 
Modelworks's Avatar
 
Join Date: Feb 2007
Location: North Carolina
Posts: 16,237
Default

uclabachelor pretty much summed it up .
If you really want to understand it in full details you are best starting with the early VGA video cards and looking at what was involved then progressing to things like where cpu are graphics aware.

What I mean by graphics aware is in a cpu , video used to be just any other data, the cpu processed it the same way it processed a text document, it was just bits and bytes. Processors now have progressed to the point where they understand that data being sent is video data, not just bits from a text document, they have special instructions in the hardware to better process that information.

If you look at the older computers, the ones common in the home during the 1980's you can see the process of getting video onto a screen was really simple. .

All of those type of task now are integrated into a video controller chip so the main cpu is free to do other things, but even today people still find use in the old method of generating a video signal. For example it is possible to get a $3 chip and program it to output graphics to a display using the same timing technique from the 1980's.
Here is some examples with code that show how a cpu can be used to generate video for a display. In these the cpu is doing all the work, there is no video chips used, just re-purposing what the cpu already has in hardware.

http://www.javiervalcarce.eu/wiki/TV...r_with_Arduino
http://geoffg.net/Pong.html
http://www.pic24.ru/doku.php/en/osa/articles/vga_game
http://www.micro-examples.com/public...089-pic-pal-tv
Modelworks is offline   Reply With Quote
Old 06-02-2012, 09:00 AM   #5
sashankteja
Junior Member
 
Join Date: Jun 2012
Posts: 2
Default

thanks for the info regarding video if a file is of size some mb or gb wat does it exactly contain in that
sashankteja is offline   Reply With Quote
Old 06-02-2012, 09:59 AM   #6
BrightCandle
Diamond Member
 
BrightCandle's Avatar
 
Join Date: Mar 2007
Posts: 4,492
Default

I would recommend reading a book called "Code". Its not about programming code but the codes in use in computers and I think you'll find that quite interesting.

Computers are all about finding mappings from some human concept to binary. Text is defined with UTF-8 (or earlier ascii), colours are encoded in Red+Green+Blue into 24 bits. An image is just a collection of colours organised so we know which colour goes where. Its all just a "code".
__________________
i7 3930k @4.4, 2xMSI GTX 680, 16GB Corsair 2133 RAM, Crucial m4 500GB, Soundblaster Z
Custom watercooled by 2x MCR 320 and 1 MCR 480
Zowie Evo CL EC2, Corsair K70, Asus Rog Swift PG278Q
BrightCandle is offline   Reply With Quote
Old 06-29-2012, 04:46 AM   #7
Harivenkatesh
Junior Member
 
Join Date: Jun 2012
Posts: 1
Default

Hi
I am searching answer for one question which is a networks shortest paths topic.i.e what is Randomized Discretization and Path Delay Discretization.
what is descretization error?
I search in google finally I got it.

The randomized Discretization cancels out link errors along a path. The path delay Discretization works on the path delays instead of the individual link delays, which eliminates the problem of error accumulation.


But I got answer but I can't understood please any one explain with one real world example

thanks in advance
Harivenkatesh is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 04:07 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.