Computer hardware is the collection of physical elements that comprise a computer system.

learn more… | top users | synonyms

5
votes
5answers
2k views

What is the absolute minimum set of instructions required to build a Turing complete processor

I have a general idea of how the processor handles instructions but spend my time working in mostly high level languages. Maybe somebody who works closer to the iron can provide some valuable insight. ...
7
votes
2answers
209 views

How exactly does a program talk to a device driver?

So I'm confused on how exactly we as the programmers talk to devices on the computer. Now I'm not talking the big ideas. I know that there are device drivers that sit atop the hardware so that ...
1
vote
5answers
250 views

Making an automotive system more 'modular' in terms of software?

I am working on an automotive project that we are supposed to make more modular. I am a software specialist and I have very little knowledge of automotive hardware. I don't have any requirements or ...
41
votes
4answers
6k views

Is there a good reason to run 32-bit software instead of 64-bit on 64-bit machines?

Is there any good reason to supply a 32-bit version along with a 64-bit version of any software targeted at modern desktop machines, running modern 64-bit operating systems on 64-bit hardware? It ...
5
votes
4answers
451 views

Avoiding hangs when calling a native API

Background We have a piece of programmable hardware here at work that we integrate into almost all of our systems. This piece of hardware came with a native Windows DLL (for which we do not have the ...
3
votes
5answers
236 views

How can Jeff Dean's “latency numbers every programmer should know” be accurate in the context of varying hardware implementations?

I'm referring this chart of latency numbers, attributed to Jeff Dean at Google. The thing I don't understand is, do these numbers not vary from one set of hardware to the next? How can these be ...
2
votes
1answer
142 views

In a polled interface, is it okay for an object representing hardware to start a task responsible for the polling?

I am a hardware/test engineer currently writing a C# application for a device that does not have any event/interrupt mechanisms. Because of this I am forced to poll the device's internal control ...
1
vote
2answers
536 views

Hardware accelerated text processing

Graphics processing units (GPUs) are very common and allow for efficient, parallel processing of floating point numbers. PPUs (Physics Processing Units) used to be a buzzword several years ago but ...
38
votes
19answers
4k views

Would you purchase hardware with your own money to use at work to do your job better? [closed]

At work, I was given a reasonably-spec'ed machine (dual quad 2GHz, 4GB RAM, 160GB 7200RPM drive, Win7), but it was lacking in a few places (HDD / RAM). The IT staff was OK with me replacing hardware ...
2
votes
1answer
56 views

Hardware under MIT license?

I have some VHDL design that I plan to release as open source. I like MIT License for its simplicity and would like to use it for my code. However, I am not sure if it is OK to use it with hardware ...
0
votes
1answer
1k views

When does it become mandatory to sign up with the Bluetooth Special Interest Group (SIG)?

My company is looking to add Bluetooth functionality to our hardware, so that we can integrate connectivity to our products with various tablet devices. To do this, we are looking to purchase an all-...
3
votes
3answers
592 views

Why (most?) retro computer emulators are single threaded?

All real computer hardware works in parallel. So why most emulators of retro systems (like NES) are single threaded (or I'm not right?)? You have main loop and you counting CPU cycles and after ...
13
votes
4answers
790 views

Isn't functional paradigm too divergent with underlying hardware to be generally efficient?

Inspired by a question from SO: http://stackoverflow.com/questions/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell It can be a long debate about FP's numerous advantages and disadvantages, but ...
3
votes
3answers
248 views

How to maintain modularity in C?

I am writing C code with multiple modules like LCD display, flash memory, and GSM module etc. The project consists of thousands of lines of code, in different files. The behavior of the system can be ...
5
votes
0answers
761 views

Slow developer machines - approach with vmware good? [duplicate]

we are using slow developer notebooks. They come equipped with vista and 2 gb rams, which slows down everything. Someone decided a good resolution would be to use vmware clients instead of faster pc ...
5
votes
4answers
587 views

What are the reasons for great performance differences running the same program?

I wrote a Python program that has to perform some expensive spatial searches while holding lots of data in memory. I tried to improve the performance, that is tried different approaches (see my ...
40
votes
9answers
3k views

Looking for meaningful, strong argument in favor of antivirus software on development machines [closed]

When forming opinions, it is a good practice to follow scholastic tradition - think as hard as you can against the opinion you hold and try to find counter-arguments. However, no matter how hard I ...
6
votes
7answers
4k views

What parts of my computer should I upgrade first to speed up development? [closed]

I use Eclipse, and the two most noticeable slowdowns caused by my computer are waiting for compiling and waiting for intellisense. I already have a fast SSD drive and 3GB of ram. I'm guessing that ...
11
votes
1answer
241 views

What are the absolute, minimal requirement for containing SE Asian charsets for an embedded system project?

I work for a company that has begun integrating embedded computer systems into our products that we manufacture. We have a pretty wide range of products and they are distributed across the globe. ...
2
votes
3answers
104 views

Data padding for different hardware support?

Some hardware cannot read non-aligned data. For example Bitmap images are aligned to 4-bytes from the header and with each scan line in order to maintain device independence. For example you can ...
28
votes
4answers
2k views

How to efficiently troubleshoot or test new code when hardware setup to reproduce bugs is difficult or impossible to obtain?

I work at a mid-sized company (150ish employees, ~10 size engineering team), and most of my projects involve interfacing with lab equipment (oscilloscopes, optical spectrum analyzers, etc) for the ...
-4
votes
2answers
169 views

How do you learn a language without actual tools? [closed]

I will bring a concrete case here. I have a project involving Sketch and Arduino. Since I was they only guy willing in the group, I had to take the Sketch part. The problem is that our informatics ...
51
votes
6answers
28k views

What is the history of why bytes are eight bits?

What where the historical forces at work, the tradeoffs to make, in deciding to use groups of eight bits as the fundamental unit ? There were machines, once upon a time, using other word sizes, ...
19
votes
3answers
4k views

How do people define the minimum hardware requirements for software?

How do people define the minimum hardware requirements for software? For example: how can a software development company tell the customer that they will need 8 GB of RAM to run the program properly?
42
votes
15answers
10k views

How have languages influenced CPU design? [closed]

We are often told that the hardware doesn't care what language a program is written in as it only sees the compiled binary code, however this is not the whole truth. For example, consider the humble ...
5
votes
1answer
291 views

Designing interfaces to hardware

I am writing a library in C++ that is used by customers to interface with hardware. There are many different devices that I need to support. For the sake of simplicity, assume I have 2 Widgets, ...
3
votes
2answers
277 views

Cross device testing for web development

Currently, I do not have a fixed process for cross device testing other than randomly asking the people around my co-working space to test my site on whatever device they have on-hand. This is quite a ...
1
vote
0answers
74 views

Is conversion from C/C++ to Verilog/VHDL for FPGA a derivative work? [duplicate]

Say I have a C/C++ software licensed under GPL that gets converted into hardware design. By this conversion I mean that the exact functionality of the original software is being programmed into an ...
51
votes
25answers
24k views

Thoughts on Development using Virtual Machines [closed]

I'll be working as a development lead for a startup and I've suggested that we use VMs for development. I'm not talking about each developer having a desktop with VMs for testing/development, I mean ...
0
votes
3answers
152 views

How do web servers deal with issues that arise when a machine has been on for a long time?

It seems to be accepted that computers that have been powered on for a long time and have any sort of complex software (ie and OS) running on them they tend to develop random errors and problems. ...
0
votes
1answer
1k views

How can I test my camera-dependent android app on most devices? [duplicate]

We are developing an app for taking photos faster. We do this by actually taking videos instead of photos and processing the individual images in the video on the fly and combine them to create a high-...
3
votes
6answers
1k views

What are memory addresses? [closed]

I have more or less 0 knowledge in low-level topics, so forgive my possible ignorance. I know that in languages such as C, pointers hold 'memory addresses', i.e. strings (or binary data?) written in ...
0
votes
2answers
139 views

How do we add software to a machine? [duplicate]

When we build a new machine, how do we add software to that machine? I know we have assemblers and compilers that convert the high-level code into machine code for it to understand. But having ...
1
vote
1answer
286 views

Hardware-control on one computer. But how about several?

For a while I have been pondering the question of, given a standard interface specification, whether there is a way to allow multiple programs to control multiple hardware devices across the network. ...
0
votes
1answer
305 views

How to learn new technologies in short period of time? [duplicate]

The title says it all. I'm a .NET programmer, working mostly on WPF applications with C#. But I need to be familiar with latest web development technologies, JavaScript, HTML5, CSS, ASP.NET MVC, ...
0
votes
1answer
249 views

Why XML is meant to be Software and Hardware independent?

While studying the features of XML, I got to know that XML is software and hardware independent. Can anyone explain me why it is meant like that?
2
votes
2answers
220 views

How faster could a dedicated chip do sequential squaring modulo operations to break a time crypto capsule?

I'm facing a very real problem and, sadly, I cannot find the answer on my own: I'm hitting my limit as a programmer because my hardware knowledge is not sufficiently advanced at all. It's an issue I'...
1
vote
1answer
103 views

DDD / Optimizing a specific service belonging to a specific bounded context regarding hardware

Well known is the split of a whole application into several bounded contexts to emerge an Ubiquitous language. while practicing Domain-Driven Design. In general, 1 bounded context = 1 archive file ...
1
vote
1answer
234 views

How to implement RGBA in 8-bit microcontroller?

I have successfully connected my microcontroller to my TV via through VGA adapter i made that convert digital to analog signals with the help of resistors. Currently i am utilizing 8 pins that I am ...
1
vote
1answer
291 views

Using GPL software with closed-source hardware

Does it violate the GPL v3 if I were to use a gpl licensed firmware with my closed-source hardware that I am selling? Or do both have to be open-source, or do I just have to make the firmware source ...
30
votes
1answer
933 views

Performance of single-assignment ADT oriented code on modern CPUs

Working in immutable data with single assignments has the obvious effect of requiring more memory, one would presume, because you're constantly creating new values (though compilers under the covers ...
0
votes
1answer
103 views

Pythonic design for controlling multiple devices through an I2C bus

I'm writing a piece of software in python that will communicate with a bunch of devices via an I2C bus. Each of these devices are going to need some sort of a module or class to handle the ...
5
votes
2answers
498 views

Why isn't exponentiation hardware-implemented?

Why is there no exponentiation operation in hardware, even though many languages have builtin operators for it? Is it because even hardware implementations would need to use the same algorithm as ...
6
votes
3answers
683 views

What is the gain from 64-bit architecture?

I played with 8-bit machines (C64), I used 16-bit machines (Win 3.1), I enjoyed flat 32-bit address space (Linux). Every time as a user (which was also means being a developer for fun or profit) I ...
7
votes
2answers
3k views

How long is a typical modern microprocessor pipeline?

I learnt some about pipelining but those were 4-stage and 5-stage and I think that modern pipelining typical is much longer and more complicated in practice. How long are typical pipelines and how ...
59
votes
12answers
19k views

How Do Computers Work? [closed]

This is almost embarrassing ask...I have a degree in Computer Science (and a second one in progress). I've worked as a full-time .NET Developer for nearly five years. I generally seem competent at ...
2
votes
1answer
595 views

Can we illustrate a CPU pipeline with a UML sequence diagram?

I study multicore pipelining and the diagrams are not UML sequence diagrams for instance Why not remake this diagram like an UML sequence diagram, would not that be more clear so that we can see ...
6
votes
1answer
258 views

Hardware that accelerates pointer dereferencing?

Most modern languages make a heavy use of pointers / references: a typical OOP language uses VMT lookups, a typical functional language builds key data structures out of pointers, etc. Even typical C ...
9
votes
3answers
1k views

Why don't computers come with specialized hardware such as sorting networks?

Instead of programming the way we do, why don't we make specifications of common tasks such as "sorting", and then let the environment compile it to make best use of it's hardware? This way, we could ...
2
votes
4answers
364 views

idquantique .vs. rdrand

We are currently looking at using the idquantique random number generator device to provide random numbers. There are some issues though. We would only be using one device and we have at least 5 ...