Questions tagged [hardware]

Programming questions related to the physical components of a computer. Please specify the model of your hardware in your question.

Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, mouse, keyboard, computer data storage, hard drive disk (HDD), system unit (graphic cards, sound cards, memory, motherboard and chips), etc. all of which are physical objects that can be touched. Source: Wikipedia

Hardware by itself is very broad and there are many tags for specific hardware version which may be more appropriate. Eg, flash-memory, etc.

Tags related to implementing hardware,

  • - a language to create digital logic hardware.
  • - another language to create digital logic hardware.
  • - generic tag for digital logic programming languages.
  • - tag for software that simulates hardware (especially CPUS).
2823 questions
161
votes
17 answers

Multithreading: What is the point of more threads than cores?

I thought the point of a multi-core computer is that it could run multiple threads simultaneously. In that case, if you have a quad-core machine, what's the point of having more than 4 threads running at a time? Wouldn't they just be stealing time…
Nick Heiner
  • 108,809
  • 177
  • 454
  • 689
105
votes
14 answers

What's the difference between a word and byte?

I've done some research. A byte is 8 bits and a word is the smallest unit that can be addressed on memory. The exact length of a word varies. What I don't understand is what's the point of having a byte? Why not say 8 bits? I asked a prof this…
user796388
82
votes
4 answers

software threads vs hardware threads

What is the difference between software threads, hardware threads and java threads? Are software threads, java threads and hardware threads independent or interdependent? I am asking this because, I know Java threads are created inside a process…
Bhadri
  • 1,409
  • 3
  • 16
  • 14
77
votes
4 answers

How should I get started on writing device drivers?

I would like to learn how to write device drivers because I think it would be fun. I use a Mac OS X Macbook, but I also have an Ubuntu machine (running on a Mac Min). I am pretty familiar with C and currently am reading this book. I have found some…
Bjorn
  • 60,553
  • 37
  • 128
  • 161
75
votes
5 answers

Difference between nVidia Quadro and Geforce cards?

I'm not a 3D or HPC guy, but I've been tasked with doing some research into those fields for a possible HPC application. Reading benchmarks, comparisons and specs between nVidia Quadro and Geforce cards, it seems that for similar generation…
kmelvn
  • 2,332
  • 1
  • 23
  • 28
67
votes
6 answers

C# little endian or big endian?

In the documentation of hardware that allows us to control it via UDP/IP, I found the following fragment: In this communication protocol, DWORD is a 4 bytes data, WORD is a 2 bytes data, BYTE is a single byte data. The storage format is little…
TimothyP
  • 18,775
  • 23
  • 88
  • 141
56
votes
16 answers

CUDA or FPGA for special purpose 3D graphics computations?

I am developing a product with heavy 3D graphics computations, to a large extent closest point and range searches. Some hardware optimization would be useful. While I know little about this, my boss (who has no software experience) advocates FPGA…
Fredriku73
  • 3,020
  • 4
  • 33
  • 32
54
votes
18 answers

Why is number of bits always(?) a power of two?

We have 8-bit, 16-bit, 32-bit and 64-bit hardware architectures and operating systems. But not, say, 42-bit or 69-bit ones. Why? Is it something fundamental that makes 2^n bits a better choice, or is just about compatibility with existing systems?…
Joonas Pulakka
  • 34,943
  • 25
  • 103
  • 165
50
votes
7 answers

Why is writing to memory much slower than reading it?

Here's a simple memset bandwidth benchmark: #include #include #include #include int main() { unsigned long n, r, i; unsigned char *p; clock_t c0, c1; double elapsed; n = 1000 * 1000 *…
bobcat
  • 9,713
  • 6
  • 34
  • 72
48
votes
10 answers

What is the difference between a 32-bit and 64-bit processor?

I have been trying to read up on 32-bit and 64-bit processors (http://en.wikipedia.org/wiki/32-bit_processing). My understanding is that a 32-bit processor (like x86) has registers 32-bits wide. I'm not sure what that means. So it has special…
user485498
46
votes
5 answers

How to fast get Hardware-ID in C#?

I need in my program to tie a license to a hardware ID. I tried use WMI, but it still slow. I need, for example, CPU, HDD, and motherboard info.
guaike
  • 2,335
  • 9
  • 30
  • 42
45
votes
1 answer

Why do we use CPUs for ray tracing instead of GPUs?

After doing some research on rasterisation and ray tracing. I have discovered that there is not much information on how CPUs work for ray-tracing available on the internet. I came across and article about Pixar and how they pre-rendered Cars 2 on…
oodle600
  • 591
  • 1
  • 4
  • 8
44
votes
15 answers

Cool Hardware/Devices that can be programmed in .NET?

I'd love to start writting managed code for external devices and sensors. Are there any devices that come to mind that can be coded against using .NET? Any suggestions? Edit: The main thing I'm trying to do is learn how device programming works. …
Achilles
  • 10,653
  • 7
  • 58
  • 112
43
votes
6 answers

Android: Programmatically detect if device has hardware menu button

I'm currently struggling with this issue. I need to check if the device, where the app is installed, has a hardware menu key. Because it is not existing on some devices like Galaxy Nexus, I'm showing it directly in the UI in this case. I have…
NiThDi
  • 999
  • 1
  • 8
  • 22
43
votes
12 answers

What are the ascii values of up down left right?

What are the ASCII values of the arrow keys? (up/down/left/right)
Laz
  • 5,236
  • 9
  • 37
  • 53
1
2 3
99 100