INVITATION TO CYBERSECURITY 20 even when the computer is powered off. In most computers storage takes the form of either a hard disk drive (HDD) or a solid state drive (SSD). HDDs store data on spinning metal platters that look similar to CDs and DVDs. SDDs store data in cells and have no moving parts, therefore, they are much faster than HDDs but are also more expensive. A typical laptop computer contains hundreds of GBs of storage. 2.2.3 CPU The CPU performs all of the calculations in a computer. At every clock tick it performs a fetch-decode-execute cycle. It fetches a block of data from memory, decodes that data as a machine instruction, and then executes the instruction. Then the CPU fetches the next instruction, decodes and executes it, and so on. Executing an instruction may involve storing data in memory, loading data from memory, or performing a calculation on values stored in registers. Registers are a type of extremely fast memory that act as a scratchpad for CPU calculations. They are even closer to the CPU than memory and are constantly updated. Modern laptops may have between sixteen 32-bit registers and thirty-two 64-bit registers. A CPU on a modern computer may also have multiple cores. A core is a processing unit controlled by the CPU capable of executing instructions. Having multiple cores allows tasks to be parallelized, improving the performance of a computer. 2.2.4 I/O Devices In order to be useful, computers also must have I/O devices. These devices are the mechanisms for interacting with a computer. Common input devices are keyboards, mouses, and microphones. Common output devices are computer monitors and speakers. Many of the devices we plug into USB ports on our computer perform both input and output such as memory sticks. The operating system mediates access to the I/O devices in a user-friendly way. It is only through I/O devices that we have visibility into what is going on inside a computer. Through I/O devices we are able to input data, instruct a computer what to do, and see the results. 2.3 Computer Software “The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform. It can follow analysis; but it has no power of anticipating any analytical relations or truths. Its province is to assist us to making available what we are already acquainted with.” - Ada Lovelace, the world’s first programmer Software is the instructions that the computer hardware executes. It is specified and fed into the computer. Unlike hardware it is malleable—it can be easily shaped to perform any computational task. Ultimately, all software runs on hardware—on the billions of tiny circuits and switches inside the computer. By modifying the 1s and 0s in memory and combining the simple instructions that CPUs are hard-wired to execute on binary strings,
RkJQdWJsaXNoZXIy MTM4ODY=