Módulo 4 de 7 · Texto
Sin título
Computers
4.1 Machines and computational modelling
- The input-process-output-model
- Input: To enter data into a computer.
- Process: To change the meaning or format of some data.
- Output: To display or output data that has been processed (or has been stored).
- A computer is a machine that takes some kind of input from its surroundings, processes the input according to given rules, and provide some kind of output.
- Computational models:
- Sequential: One in which instructions are executed one after another. There may be branches in the program, but the general principle is that each instruction follows on from the previous one.
- Parallel: One in which each program instruction is executed simultaneously on multiple processors in order to get the results faster. Using multi-cores in processors is an example of parallel computing. It is by using parallel processing that super computers are getting faster and faster.
- Multi-agent: one in which computer systems co-operate and co-ordinate with other agents to achieve their goals. Swarm robots are examples of multi-agents.
4.2 Hardware
- Stored programs: the von Neumann model
- Von Neumann architecture: Computer design in which the program is stored in memory with the data.
- Central processing Unit (CPU): hardware device that carries out the processing in a computer.
- Random-access memory (RAM): A temporary store for data and instructions.
- Bus: A group of connections between devices in a computer
- Fetch-decode-execute cycle: Sequence of steps carried out repeatedly by a CPU.
- Hardware components of a computer system RAM and ROM
- Writing: When the CPU sends data to memory to be stored at a given address.
- Reading: When the CPU retrieves the data stored at a given address.
- Memory address: A number that uniquely identifies a (memory) storage location.
- RAM is described as volatile (memory that is erased when the power is turned off).
- Read-only memory (ROM): Memory that cannot be altered and is not lost when the power is turned off. Is non-volatile (memory that is not lost when the power is turned off).
- Cache memory
- Third kind of memory.
- Small amount of fast, expensive memory that is used in-between two devices that communicate at different speeds.
- Cache: memory used to make up for the difference in speed between two internal components.
- Fetch-decode-execute: In detail
- Arithmetic/logic unit (ALU): The part of the CPU that performs calculations and logic operations.
- Register: A storage location inside the CPU used to hold an instruction, an address or other single item of data.
- Control unit: The part of the CPU that organises the actions of the other parts of the CPU.
- Clock: An electronic device inside a CPU that ‘ticks’ at regular intervals and is used to synchronise the actions of the other parts of the CPU.
- Secondary storage: Any kind of permanent storage to which the contents ROM/RAM are copied (usually a hard disk, optical or solid-state device).
- Magnetic storage: Secondary storage that works by magnetising parts of a substance as north and south poles to represent binary 1s and 0s.
- Optical storage: Secondary storage that works using differences in light reflection from a material.
- Solid-state storage: Secondary storage that works by storing charge.
- Cloud storage: Secondary storage often belonging to a third party, that is accessed via a network, usually the internet, and do is not in the same physical place as the machine’s RAM/ROM. Files stored ‘in the cloud’ can be accessed from anywhere via an internet connection.
- Virtualisation: Any process that hides the true physical nature of a computing resource, making it look different, usually to simplify the way it is accessed.
- Embedded systems: Are cheap, low-power computers that are dedicated to a specific task.
4.3 Logic
- Truth tables: A table showing all possible combinations of the inputs and outputs of an operator.
- Boolean: Something that can take only the values True or False; named after English mathematician George Boole.
- Logic circuit: An electronic circuit that has inputs and outputs that follow one of the Boolean operators.
- AND, OR and NOT are called logical or Boolean operators. They are used in selection statements such as IF.
- The order of precedence is: brackets, NOT, AND, OR.
4.4 Software
- Software: The set of programs run by a computer system.
- Application software: Software that performs a task that would otherwise be done by hand, perhaps with pen and paper.
- Operating software: Software designed for particular hardware and which manages other programs access to the hardware.
- Utility software: Software that does a useful job for the user that is not essential to the operating system and not the reason for using a computer in the first place.
- Operating system
- Scheduling; The algorithm that the OS uses to allow each running process to use the CPU.
- Paging: The algorithms the OS uses to move programs from RAM to disk and back again when needed once main memory is full.
- Concurrent: Processes that run apparently at the same time are described as being concurrent.
- Authentication: The process of proving to a computer system who you are.
- User interface: The way the user interacts with the operating system.
- Back-up: A copy of files in another location so that they are still available if the original copy is damaged or lost.
- Defragmenter: A utility that moves file clusters on a disk so they are closer to each other in order to speed up disk access.
- Virus: Software that is designed to make and distribute copies of itself, usually for a malicious purpose.
- Spyware: Software, possibly a virus, that is designed to be installed secretly on a computer and record private information as the user enters it.
- Firewall: A utility that controls program access to the network, both incoming and outgoing.
- Computer models
- Heuristic: A type of algorithm capable of finding a solution to a problem quickly and easily, by using a combination of trial and error and educated guesswork to cut corners and eliminate less likely alternatives.
- Monte Carlo methods: Carrying out a statistical analysis of a number of random samples in order to obtain approximate solutions to a problem.
- Neural methods: Processing information in a similar way to human brains and learning and adapting over time.
4.5 Programming language
- Low-level programming language: A programming language that is closely related to the CPU’s machine code.
- Instruction set: The list of all possible commands a particular CPU knows how to carry out.
- Machine code: The binary codes representing each of the instructions in the instruction set.
- Translator: A program that converts source code into machine code.
- Source code: The text of the program that a programmer writes.
- Assembly language: A low-level language written using mnemonics.
- Mnemonic: A short, simple, acronym that represents each of the instructions in a CPU’s instruction set.
- Compiler: A translator that converts high-level language source code into object code, often machine code.
- Interpreter: A translator that converts high-level language source code into object code, often machine code.
- Humans program computers mostly using a range of high-level languages, but sometimes in assembly language.