Please enable JavaScript.
Coggle requires JavaScript to display documents.
Revision for CS - Topic 4 - Coggle Diagram
Revision for CS - Topic 4
Hardware and Software
Hardware is the physical components of the computer, such as the central processing unit (CPU), hard disk, monitor, keyboard and mouse.
We can see and touch Hardware
Software is the programs that run on a computer.
We cannot see or touch software
The relationship between these 2 things is very close and one wouldn't run without the other
Logic Gates
OR Gate: Outputs a 1 if one or both of the inputs are 1 Represented by +
Truth Table:
NOT Gate: Outputs the opposite of the input. Represented by ‾
Truth Table:
AND Gate: Outputs a 1 if both inputs are 1 Represented by .
Truth Table:
XOR Gate: Only outputs a 1 if one of the inputs is 1 (not both). Represented by ⊕
Truth Table:
Software classification
System Software
Any parts of a computer system that aren't physical. This Software is in the actual computer and is used to make it work.
Application Software
A kind of software that performs specific functions for the end user by interacting directly with it. It is put onto the computer yourself and isn't to do with the computer actually working
Operating Systems
An operating system is a collection (or suite) of programs that manages and controls the computer.
Operating Systems handle the management of the following...
Input/Output devices
the pieces of hardware used by a human (or other system) to communicate with a computer
Applications
a type of computer program that performs a specific personal, educational, and business function
Memory
allows the CPU to access the data it needs to run processes
Security
to ensure the confidentiality, integrity, and availability of data and resources managed by the operating system
Processors
A processor (CPU) is the logic circuitry that responds to and processes the basic instructions that drive a computer
Classification of programming languages and translators
Low level Language: processor-specific assembly languages and machine code.
Assembly language provides a higher level of control over the system, allowing direct manipulation of memory locations, register values, and system calls. Machine language, on the other hand, only allows direct manipulation of the binary code.
Assembly languages: Low-level and must be translated. Assembly language provides a higher level of control over the system
Machine code: Low-level and is expressed in binary and is specific to a processor or family of processors.
High level language: Such as Python, Java and C++. Humans find it easier to write programs in languages that are suited to the type of problem they are trying to solve and that look more like normal languages. This is why high-level languages were invented.
Must be translated into binary.
The primary difference between low and high-level languages is that any programmer can understand, compile, and interpret a high-level language feasibly as compared to the machine. The machines, on the other hand, are capable of understanding the low-level language more feasibly compared to human beings.
advantages and disadvantages of low-level language programming compared with high-level language programming:
Overall, low-level languages provide a closer interaction with the computer's hardware and offer more control over the system, but require more time and effort from the programmer and can be more error-prone compared to higher-level languages.
Translators: Compilers convert high-level code into machine code all at once, making programs run faster. Interpreters translate and execute code line by line, helping with debugging. Assemblers convert assembly language into machine code, often for low-level hardware tasks. Each serves different programming needs.
Interpreters
translate source code into machine code line by line
Assemblers
convert assembly language into machine code.
Compilers
convert high-level code into machine code all at once, making programs run faster. This is a complex translation as a single instruction can result in many machine code instructions.
Systems Architecture
CPU (Central Processing Unit)
The CPU processes data and instructions and controls the computer system.
Inside the CPU there are many different parts with different jobs...
ALU (Arithmetic Logic Unit)
Performing arithmetic and logical operations. It performs tasks like addition, subtraction, bitwise operations, and comparisons. The ALU receives inputs from registers and produces outputs based on the instruction it receives.
Control Unit
Coordinating and directing the execution of instructions.
Clock
The speed at which the CPU can carry out instructions is called the clock speed. This is controlled by a clock. With every tick of the clock, the CPU fetches and executes. one instruction.
Register
Registers are small amounts of high speed memory. contained within the CPU. They are used by the processor to store small amounts of data that are needed during processing, such as: the address of the next instruction to be executed.
Bus
System buses are used to transfer data between the CPU and main memory.
Performance of the CPU
Clock Speed - Clock speed refers to the rate at which a computer's central processing unit (CPU) executes instructions.
Cache Size - A cache is a software or hardware used to temporarily store information, often data, in a computer system.
Number of Processor Cores - In computing, a 'Core' refers to an individual processing unit within a CPU (Central Processing Unit), responsible for executing instructions and performing calculations.
What is a Fetch - Decode - Execute Cycle?
An instruction or data is fetched from memory. The instruction is decoded. The instruction is executed. The cycle repeats billions of times per second.
Different Types of Memory in the Computer
ROM
Read only memory (ROM) This is non-volatile memory or storage containing data that cannot be changed.
RAM
Random access memory (RAM) This is volatile memory that is constantly being written to and read from.
Cache
A cache is a software or hardware used to temporarily store information, often data, in a computer system.
Register
Registers are small amounts of high speed memory. contained within the CPU.
Main Memory and Secondary Memory
Main memory (sometimes called primary storage) refers to storage locations that are directly accessible by the processor.
Secondary storage is used to store programs and data that the computer is not currently using.
Types of secondary storage
Optical Storage
Optical storage devices use light to store and read data. A laser burns marks into the reflective surface of the disc as the disc spins around. These marks are called pits and do not reflect light and represent 0s. The gaps between them are called lands and reflect light and represent 1s.
Advantages: Portable, very small, cheap and reliable
Disadvantages: Expensive for large capacities, easily scratched slow read speeds and limited reusability
Magnetic Storage
Magnetic storage also uses discs to store data. These platters are covered in a special material. Sections of this material can be magnetised(1s) and demagnetised(0s) to represent the data. A read/write head attached to an arm applies a magnetic field to specific sections to read/write.
Advantages: Cheap for large capacities Infinitely rewritable Reliable for long periods of time Faster read speeds than optical
Disadvantages: Damaged if dropped or exposed to a magnetic field Slower read speeds than solid state Require a lot of power to run
Solid State Storage
use electronic circuits to store data.
They function very similarly to RAM, but are non-volatile.
Advantages: Has fast read and write speeds, Is durable, Is silent when running, Require less power than other devices
Disadvantages: Still slower than RAM, very expensive per GB, lower capacity than magnetic storage, and can be unreliable
Cloud Storage
Cloud storage is a mode of computer data storage in which digital data is stored on servers in off-site locations
Disadvantages: Requires internet, bad privacy, Lack of total control
Advantages: Data can be accessed anywhere, Low cost, Security, You only pay for the amount of storage you need
Embedded Systems: Embedded systems are specialised, they can only do a limited number of things, but they do them very well.
how an embedded system differs from a non-embedded system.:
The software of an embedded system is custom-written, to work with its specific hardware. Non-embedded systems are more general-purpose.
General Purpose Systems: devices that have a variety of uses, the user chooses the task for the system to complete.