* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Von Neumann Machines The Von Neumann Architecture Model for designing and building computers, based on the following three characteristics: 1) The computer consists of four main sub-systems: • Memory • ALU (Arithmetic/Logic Unit) • Control Unit • Input/Output System (I/O) 2) Program is stored in memory during execution. 3) Program instructions are executed sequentially. 3 The Von Neumann Architecture System Bus Processor Memory Control Unit ALU Store data and program Execute program Do arithmetic/logic operations requested by program Input-Output Communicate with "outside world", e.g. • Screen • Keyboard • Storage devices • ... 4 All data and instructions are stored in the Main Memory. Instructions are sent to the Processor along the System Bus to be executed Any input and output (such as printing and entering instruction) is performed by I/O devices with the data travelling from the I/O devices to the Processor and Main Memory by means of the System Bus: System Bus Processor Memory Control Unit Input-Output ALU Consider a program stored on a DVD, to get the machine to run it, you will have to input the data from the DVD to the memory using the system bus. Once the program is loaded into memory the instructions it will be sent to the Processor line by line using the system bus and executed there. Any things to be printed or shown on a screen will be sent to the Output box. The Processor The heart of a modern electronic computer is the processor: The processor is one of the most complex parts of any computer system. The processor executes programs and supervises the operation of the rest of the system. Single chip processors are otherwise known as microprocessors. Multicore microprocessors are now very popular, where the processor will have several cores allowing for multiple programs or threads to be run at once. The PlayStation 3 has 7 cores. Transistors make 1s and 0s Main Memory Main memory is used to store program instruction and data, using the System Bus to communicate with Processor. Main memory is often created using Random Access Memory (or RAM) or Read Only Memory (ROM). Modern computers will have gigabytes of RAM, meaning that large programs can run and multiple programs can run at once. The more main memory that you have the larger the number of programs you can run at once. Types of Main Memory All computers have main/internal memory chips to store programs and data while the computer is running. There are two types, ROM and RAM. Accessing data or running software from a memory chip is much faster than from backing storage such as a hard drive. RAM (Random Access Memory) chips are described as volatile, the contents are lost when the computer is switched off. When a computer is started up, the operating system (i.e. Windows Vista) is copied into the RAM. Any software that is run (such as a word processor) is also loaded into RAM and run from there. When a file is loaded (such as a word processor document) that is also loaded into RAM. ROM (Read Only Memory) chips are described as non-volatile, the contents cannot be changed by a program or user and are not lost when the computer is switched off. They are used to store the programs used to start the hardware running (an example is the BIOS chip which permanently stores the software needed to start a computer's hardware and operating system). Both types of memory are referred to as Immediate Access Storage (IAS) because the hardware can access the data so quickly compared to data in backing storage. What Memory Does Main memory consists of data stored in addresses, in general, the more main memory you have the more addresses you'll have and vice versa. Address Contents 1024 Cabbage 1025 Celery 1026 Courgette 1027 Carrot 1028 Cucumber 1029 Chard The Von Neumann Architecture System Bus Processor Memory Control Unit ALU Store data and program Execute program Do arithmetic/logic operations requested by program Input-Output Communicate with "outside world", e.g. • Screen • Keyboard • Storage devices • ... 11 Input/Output Subsystem • Handles devices that allow the computer system to: – Communicate and interact with the outside world • Screen, keyboard, printer, ... – Store information (mass-storage) • Hard-drives, floppies, CD, tapes, … • Mass-Storage Device Access Methods: – Direct Access Storage Devices (DASDs) • Hard-drives, floppy-disks, CD-ROMs, ... – Sequential Access Storage Devices (SASDs) • Tapes (for example, used as backup devices) I/O Controllers • Speed of I/O devices is slow compared to RAM – RAM ~ 50 nsec. – Hard-Drive ~ 10msec. = (10,000,000 nsec) • Solution: – I/O Controller, a special purpose processor: • Has a small memory buffer, and a control logic to control I/O device (e.g. move disk arm). • Sends an interrupt signal to Processor when done read/write. – Data transferred between RAM and memory buffer. – Processor free to do something else while I/O controller reads/writes data from/to device into I/O buffer. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 13 The System Bus A Bus is a connection between different devices. This connection will normally consist of multiple wires along which signals, instructions and data will be carried. Address Bus A single-directional bus that carries address signals from the Processor to Main Memory and I/O devices. This might involve the Processor requesting some data from Main Memory, sending the address of the data to Main Memory, then Main Memory returning the data along the data bus. Address Bus Let's take a look at some code: LDA 23 This code is asking to load the data from memory address 23 into the Processor. The address bus does not send addresses to the processor, but only sends them from the processor. To do this the Processor would send 23 along the Address Bus, and the value from memory location 23 would be sent along the Data Bus back to the Processor. The size of the Address Bus can dictate how much Main Memory you can have in your system. For example, if you had an Address Bus of 3 bits, then: Maximum value = 111 = 7 Range of values = 000 001 010 011 100 101 110 111 This would mean that your Main Memory could only have 8 different addressable blocks. Data Bus A bi-directional bus, typically consisting of 32 wires, used to transport data and instructions between the three components of the three-box model. The larger the Data Bus the more data can be transported at one time. For example if we have an 8 bit Data Bus, the maximum value we could send along the Bus would be: 1111 1111 = 255 The larger the Data Bus the more data we can send at once and the more complex instructions we can use. Control Bus A bi-directional bus, typically consisting of more than 16 wires, used to transport control signals between the three components of the threebox model. The control bus is used to carry important information such as messages to say when a device has finished a job or when a device has just been plugged in. A simple example would be when you plug in your USB key and after a few moments a screen pops up asking you what you want to do with it. The control bus also contains interrupt signals which allow devices (printers, keyboards, disks, etc.) to signal that they have finished a request. The Processor temporarily suspends its current program, services the device and then resumes the previous program.