Distinguish between random access memory (RAM) and read-only memory (ROM), and their use in primary memory
An important concept related to processor speed is keeping data flowing into the processor. Registers are a type of high-speed memory storage inside the processor. They are used to temporarily hold calculations, data, or instructions. The data or instruction the CPU needs to operate on is usually found in one of three places: cache memory, the motherboard memory (main memory), or the hard drive.
Students should be able to explain the effect of cache memory in speeding up the system as well as being able to explain how it is used.
Cache memory is a very fast type of memory designed to increase the speed of processor operations. CPU efficiency is increased when data continuously flows into the CPU. Cache provides the fastest access. If the information is not in cache, the processor looks for the data in motherboard RAM. If the information is not there, it is retrieved from the hard drive and placed into the motherboard memory or the cache. Hard drive access is the slowest of the three. Table 3.2 lists the types of cache.
Cache memory integrated into the processor
Cache in the processor packaging, but not part of the CPU; also called on-die cache
Usually found in the more powerful processors and can be located in the CPU housing (on-die) or on the motherboard
An analogy best explains this. Consider a glass of cold lemonade, a pitcher of lemonade, and a can of frozen lemonade concentrate. If you were thirsty, you would drink from the glass because it is the fastest and most easily accessible. If the glass were empty, you would pour lemonade from the pitcher to refill the glass. If the pitcher were empty, you would go to the freezer to get the frozen concentrate to make more lemonade.
Usually, the more cache memory a system has, the better that system performs, but this is not always true. System performance also depends on the efficiency of the cache controller (the chip that manages the cache memory), the system design, the amount of available hard drive space, and the speed of the processor. When determining memory requirements, you must consider the operating system used, applications used, and hardware installed. The Windows XP operating system takes a lot less memory than Windows 10. High-end games and desktop publishing take more RAM than word processing. Free hard drive space and video memory are often as important as RAM in improving a computer’s performance. Memory is only one piece of the puzzle. All of the computer’s parts must work together to provide efficient system performance.
That infinite space “between” what we humans feel as time is where computers spend all their time. It’s an entirely different timescale. The book Systems Performance: Enterprise and the Cloud has a great table that illustrates just how enormous these time differentials are. Just translate computer time into arbitrary seconds:
|1 CPU cycle||0.3 ns||1 s|
|Level 1 cache access||0.9 ns||3 s|
|Level 2 cache access||2.8 ns||9 s|
|Level 3 cache access||12.9 ns||43 s|
|Main memory access||120 ns||6 min|
|Solid-state disk I/O||50-150 μs||2-6 days|
|Rotational disk I/O||1-10 ms||1-12 months|
|Internet: SF to NYC||40 ms||4 years|
The late, great Jim Gray…also had an interesting way of explaining this. If the CPU registers are how long it takes you to fetch data from your brain, then going to disk is the equivalent of fetching data from Pluto.
Students should be able to reproduce a block diagram showing the relationship between the elements of the CPU, input and output and storage. The memory address register (MAR) and memory data register (MDR) are the only ones that need to be included.
This should include the role of data bus and address bus.
Control Unit: Will check that the ALU, MAR, and MDR are performing their functions properly. Memory Address Register: Connected to the address bus, this is how the CPU communicates with the address bus. The MAR either holds an instruction address or a data address
Memory Data Register: The MDR is used to temporarily store data read from or written to memory. All transfers that happen from the memory to the CPU go through the MDR. Loads data from data bus (reading data) or one of the CPU registers (storing data).
Buses: High speed data transfer between the different areas of a computer.
Storage of data/programs
Computation/processing of data
Information on the computer
Getting information into the computer
Ensures all parts perform tasks together
The following two registers enable communication between the memory and processing unit
The instruction that the CPU fetches from memory is used to determine what the CPU is to do. In the decode step, the instruction is broken up into parts that have significance to other portions of the CPU. The way in which the numerical instruction value is interpreted is defined by the CPU's instruction set architecture.
Often, one group of numbers in the instruction, called the op code, indicates which operation to perform.
The remaining parts of the number usually provide information required for that instruction, such as operands for an addition operation.
After the fetch and decode steps, the execute step is performed. During this step, various portions of the CPU are connected so they can perform the desired operation. If, for instance, an addition operation was requested, the arithmetic logic unit (ALU) will be connected to a set of inputs and a set of outputs.
The final step, write back, simply "writes back" the results of the execute step to some form of memory.
(a) Outline the function of the control unit [2 marks]
(b) Describe how the size of the registers is related to the size of primary memory. [2 marks]
Describe a disadvantage of the use of virtual memory. [2 marks]
Use this resource click here
Persistent storage is needed to store data in a non-volatile device during and after the running of a program.
This is confined to a single-user operating system. Technical details are not needed. For example, memory management should be described but how this is handled in a multitasking environment is not expected.
Figure 1: The Operating System in a Hierarchy
Application software should include word processors, spreadsheets, database management systems, email, web browsers, computer aided design (CAD) and graphic processing software.
Applications are programs written to carry out a specific task or set of tasks, for example: word processors, spreadsheets, accounting packages, media players and games.
Applications come in several different types:
• Graphical User Interface (GUI) • Icons • Pointer • Windows • Menus • Toolbars – Button • Dialog Boxes • Spell checkers • Alignment • Font and Font Sizes • Tables • Reports
Including toolbars, menus, dialogue boxes, graphical user interface (GUI) components. Students should understand that some features are provided by the application software and some by the operating system.
To include strings, integers, characters and colours. This should include considering the space taken by data, for instance the relation between the hexadecimal representation of colours and the number of colours available
Comparing the number of characters needed in the Latin alphabet with those in Arabic and Asian languages to understand the need for Unicode.
Use this resource click here
Computers are machines that do stuff with information. They let you view, listen, create, and edit information in documents, images, videos, sound, spreadsheets and databases. They let you play games in simulated worlds that don’t really exist except as information inside the computer’s memory and displayed on the screen. They let you compute and calculate with numerical information; they let you send and receive information over networks. Fundamental to all of this is that the computer has to represent that information in some way inside the computer’s memory, as well as storing it on disk or sending it over a network.
To make computers easier to build and keep them reliable, everything is represented using just two values. You may have seen these two values represented as 0 and 1, but on a computer they are represented by anything that can be in two states. For example, in memory a low or high voltage is used to store each 0 or 1. On a magnetic disk it's stored with magnetism (whether a tiny spot on the disk is magnetised north or south).
The idea that everything stored and transmitted in our digital world is stored using just two values might seem somewhat fantastic, but here's an exercise that will give you a little experience using just black and white cards to represent numbers. In the following interactive, click on the last card (on the right) to reveal that it has one dot on it. Now click on the previous card, which should have two dots on it. Before clicking on the next one, how many dots do you predict it will have? Carry on clicking on each card moving left, trying to guess how many dots each has.
The challenge for you now is to find a way to have exactly 22 dots showing (the answer is in the spoiler below). Now try making up other numbers of dots, such as 11, 29 and 19. Is there any number that can't be represented? To test this, try counting up from 0.
You may have noticed that each card shows twice as many dots as the one to its right. This is an important pattern in data representation on computers.
The number 22 requires the cards to be "white, black, white, white, black", 11 is "black, white, black, white, white", 29 is "white, white, white, black, white", and 19 is "white, black, black, black, white".
You should have found that any number from 0 to 31 can be represented with 5 cards. Each of the numbers could be communicated using just two words: black and white. For example, 22 dots is "white, black, white, white, black". Or you could decode "black, black, white, white, white" to the number 7. This is the basis of data representation - anything that can have two different states can represent anything on a digital device.
When we write what is stored in a computer on paper, we normally use “0” for one of the states, and “1” for the other state. For example, a piece of computer memory could have the following voltages:
low low high low high high high high low high low low
We could allocate “0” to “low”, and “1” to “high” and write this sequence down as:
0 0 1 0 1 1 1 1 0 1 0 0
While this notation is used extensively, and you may often hear the data being referred to as being “0’s and 1’s”, it is important to remember that a computer does not store 0’s and 1’s; it has no way of doing this. They are just using physical mechanisms such as high and low voltage, north or south polarity, and light or dark materials.
Every file you save, every picture you make, every download, every digital recording, every web page is just a whole lot of bits. These binary digits are what make digital technology digital! And the nature of these digits unlock a powerful world of storing and sharing a wealth of information and entertainment.
Computer scientists don't spend a lot of time reading bits themselves, but knowing how they are stored is really important because it affects the amount of space that data will use, the amount of time it takes to send the data to a friend (as data that takes more space takes longer to send!) and the quality of what is being stored. You may have come across things like "24-bit colour", "128-bit encryption", "32-bit IPv4 addresses" or "8-bit ASCII". Understanding what the bits are doing enables you to work out how much space will be required to get high-quality colour, hard-to-crack secret codes, a unique ID for every device in the world, or text that uses more characters than the usual English alphabet.
This chapter is about some of the different methods that computers use to code different kinds of information in patterns of these bits, and how this affects the cost and quality of what we do on the computer, or even if something is feasible at all.
For example, Maria won’t go to school if it is cold and raining or she has not done her homework. Not more than three inputs are used.
Challenge 1 Logic Operators
Translate the the following logical expression into both a Truth Table
(a OR b) AND ( a NAND b)
Q1 Identify a single logical operator that is the equivalent
Q2 Create truth tables for the following sets of Boolean logic
Precedence NOT=high AND medium OR low
Challenge 2 Logic Programming operators
Problems will be limited to an output dependent on no more than three inputs. The gate should be written as a circle with the name of the gate inside it. For example: OR LINK Thinking logically
Spend time changing the inputs to each gate, stop when you feel confident in what will happen based on the inputs for each gate ( practice link below ) ( this may not work if not proceed to next step )
Practice with Logic Gate Click Here
The Logic Gate can be expressed into X or Y.
The YES = 1
NO = 0
For Example, a burglar came into the house and the alarm will go off EITHER WAY IF the door is open OR the window is smashed.
This can be constructed into a truth table;
Where X = The door is open
and Y = The window is smashed.
You can see that if one of the X Y is 1 (YES), the Alarm will go off. If 0 for both X and Y, the alarm will not go off.
Enter your text here...
Great concise resource for revision with lots of images click here
CPU ( Central Processing Unit)
ALU ( arithmetic Logic Unit )
Processed by CPU
Long Term Storage
Magnetic ( typical Hard Drive)