1,885
edits
Changes
→Common Elements in Modern Computer Design
* A central processing unit (CPU) which reads binary [[Machine Language|machine language]] instructions from memory and executes them. The CPU contains multiple [[Register|registers]]. Instructions are executed according to a [[Clock|clock]] pulse, which synchronizes activity across the system.
* RandomMemory, including random-access memory (RAM), which consists of multiple [[Word|words]] of memory which are individually [[Address|addressable]] -- words can be individually written to or read from each address. Memory is used to store both instructions and data. Memory is generally [[Volatile|volatile]], but some non-volatile memory is usually provided for system startup. * Some memory may be is connected to two the CPU as well as one or more devices for "memory mapped" input/output -- the CPU as one device, and a peripheral such as a video system or disk controller as the second device. Most modern computers use a [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka11516.html Von Neuman] architecture, with one memory space for both instructions (software) and data.In some systems, devices may be accessed through a separate address range (designated for I/O ports), which acts like memory-mapped I/O but has a distinct addressing scheme. Devices can get the CPU's attention using an [[Computer_Architecture#Interrupts_and_Exceptions|Interrupt]] scheme. Devices include:** Storage, which is addressable in sectors or blocks, and is used for [[Volatile|non-volatile]], long-term storage of instructions and data.* I/O ports * Human interface devices (HID), such as keyboards, pointing devices (mice, touchscreens, trackpads, and so forth), and busesfingerprint readers. These are typically low-speed devices (e.g., people type at 6 characters per second or less).** Video, used which typically uses a region of memory as a framebuffer to connect store the image being displayed. The video system may also be able to peripheralsperform hardware-accelerated operations such as bit-blitting, fills, video overlays, and 3D operations.** Audio, which typically uses a region of memory as an audio sample buffer.** Connectivity, including network, serial, and radio (including WiFi and Cellular) connections.
However, there is an enormous amount of variation even within this general design.