Font size
WorksheetsLecture 13
Total questions: 48
Worksheet time: 48mins
A computer instruction is a structured package of agreed-upon (a)
before an instruction can be executed, it must first be (a) into its micro-codes
Next, each micro-code is (a) to its designated hardware circuitry (ALU, registers) within the CPU ¤ Where it tells the device how to partake in the overall instruction execution
In each (a) (cycle) of the program’s execution:
¤ The CPU fetches a binary machine instruction from the instruction memory,
¤ Decodes it, and ¤ Executes it
As a side effect of the instruction’s execution, the (a) also figures out which instruction to fetch and execute next
¤ The CPU fetches a binary machine instruction from the instruction memory,
¤ Decodes it, and
¤ Executes it.
This repetitive process is sometimes referred to as the (a) cycle
Dividing up a single program so that it can be parallelized to make use of multiple CPUs is an (a) problem in the general case ¤ Although it works well for several classes of problems
A (a) is a hardware communication system used by computer components
In the early days of computers, a bus was simply a set of ______ _______, each carrying an electrical signal ¤ This allowed multiple bits of data to be transferred in parallel; the voltage on each wire represented a single bit
(a)
An (a) bus selects the memory address that the CPU wishes to access
The (a) bus transmits a value read from (or to be written to) memory
A (a) bus manages the operations happening over the other two buses
Limitations of the bus structure from the earlier slide. As processors and memories got faster
¤ Ability of a single bus to handle all traffic (a) considerably
Limitations of the bus structure from the earlier slide.
¨ Result?
¤ Additional buses were (a)
¤ For faster I/O devices and CPU-memory traffic
There are two main (a) standards
¨ Original IBM PC ISA (Industry Standard Architecture)
¨ PCI (Peripheral Component Interconnect) ¤ From Intel
The (a) bus
¨ Runs at 8.33 MHz
¨ Transfers 2 bytes at once
¨ Maximum speed = 16.67 MB/sec
¨ Included for backward compatibility
¤ Older and slower I/O cards
The (a) bus
¨ Can run at 66 MHz
¨ Transfer 8 bytes at once
¨ Data transfer rate: 528 MB/sec
¨ Most high-speed I/O devices use PCI
¨ Newer computers have an updated version of PCI
¤ PCI Express
Other specialized buses:
(a)
¨ Attach slow I/O devices to the computer
¤ Keyboard, mouse etc
¨ Uses a small 4-wire connector
¤ Two supply electrical power to the USB devices
¨ Centralized bus ¤ Root device polls I/O devices every millisecond
- Check if they have any traffic
Other specialized buses: bus
¨ For attaching peripheral devices
¤ CD-ROMs and Disks
¨ Grew out of the disk controller interface
(a)
All USB devices share a (a) USB device driver ¤ No need to install a driver for each device ¤ Can be added to computer without need to reboot
All GPU devices are connected to the processor via the (a) bus ¤ To get data from the processor, we need to go through the Northbridge device over the slow FSB (front-side bus)
The FSB can run anything up to (a) MHz clock rate, although in many designs it is much slower
The (a) chipset deals with all the high-speed components ¤ Memory, CPU, PCI-E bus connections, etc.
The (a) chip deals with the slower devices such as hard disks, USB, keyboard, network connections, etc
Computers interact with their external environments using a great variety of (a) devices
A reason why we don’t concern ourselves with these I/O devices
¨ Every one of them represents a (a) piece of machinery, requiring a unique knowledge of engineering
For that very same reason, computer scientists have devised clever schemes
¤ For abstracting away this complexity and
¤ Making all I/O devices look exactly the same to the computer
¨ The key element in this abstraction is called (a)
The basic idea is to create a (a) of the I/O device
¤ Making it appear to the CPU as if it were a regular linear memory segment
Making it appear to the CPU as if it were a regular linear memory segment ¨
How?
¤ By allocating, for each I/O device, a designated area in the computer’s memory that acts as its memory (a)
In the case of an input device like a keyboard, the memory map is made to continuously reflect the (a) state of the device:
¤ When the user presses a key on the keyboard, a binary code representing that key appears in the keyboard’s memory map
In the case of an output device like a screen, the screen is made to continuously reflect the state of its designated (a)
¤ When we write a bit in the screen’s memory map, a respective pixel is turned on or off on the screen
The I/O devices and the memory maps are (a) , or synchronized, many times per second ¤ So, the response time from the user’s perspective appears to be instantaneous
Programmatically, the key implication is that low-level computer programs can access any (a) ¤ By manipulating its designated memory map
The data that drives each I/O device must be (a) , or mapped, onto the computer’s memory ¤ Hence the name memory map
Each I/O device is required to support an agreed-upon ____ ______
¤ So that programs will be able to access it in a predictable manner
¤ For example, it should be decided which binary codes should represent which keys on the keyboard
(a)
The computer system is totally (a) of the number, nature, or make of the I/O devices that interact, or may interact, with it
Whenever we want to connect a new I/O device to the computer, all we have to do is allocate to it a new _____ ____ and take note of the map’s base address
¤ These one-time configurations are carried out by installer programs
(a)
Another necessary element is a ____ _____ program, which is added to the computer’s operating system
(a)
The device driver program ________ _____
¤ Between the I/O device’s memory map data and the way this data is actually rendered on, or generated by, the physical I/O device
(a)
All high-level languages rely on a suite of (a) for reducing high-level code all the way down to machine-level instructions
The (a) could be
¤ Compiler/ interpreter
¤ Virtual machine
¤ Assembler
Some high-level languages are interpreted rather than compiled, and some don’t use a virtual machine
¤ But the big picture is essentially the same
This observation is a manifestation of a fundamental computer science principle, known as the (a)
¤ At its core, all computers are essentially equivalent
The cognitive ability to “____ ________” a complex system into manageable modules is key
(a)
Abstractions vs Implementations:
(a) describes what the module does
Abstractions vs Implementations:
(a) describes how it does it
When using any module as a building block you are to focus exclusively on the module’s (a) , ignoring its implementation details
Whenever your implementation uses a lower-level hardware or software module ¤ You are to treat this module as an off-the-shelf, (a) abstraction
This ________ _______ helps developers manage complexity and maintain sanity:
¤ By dividing an overwhelming system into well-defined modules, we create manageable chunks of implementation work n And localize error detection and correction
¤ This is the most important design principle in hardware and software construction projects
(a)
