This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:multiasm:cs:chapter_3_1 [2025/01/03 12:51] – ktokarz | en:multiasm:cs:chapter_3_1 [2025/11/28 09:02] (current) – [Buses] ktokarz | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Overall View on Computer Architecture: | ====== Overall View on Computer Architecture: | ||
| - | The computers | + | The computers we use every day are all designed |
| <figure compblock> | <figure compblock> | ||
| Line 8: | Line 8: | ||
| ===== Processor ===== | ===== Processor ===== | ||
| - | It is often called “the brain” of the computer. Although it doesn’t think, the processor is the element which controls all other units of the computer. The processor is the device that manages everything in the machine. Every hardware part of the computer is controlled more or less by the main processor. Even if the device has its own processor - for example keyboard - it works under the control of the main one. Processor | + | It is often called “the brain” of the computer. Although it doesn’t think, the processor is the element which controls all other units of the computer. The processor is the device that manages everything in the machine. Every hardware part of the computer is controlled more or less by the main processor. Even if the device has its own processor - for example, a keyboard - it works under the control of the main one. The processor |
| - | Processor is characterised by its main parameters including the frequency of operation, class, … | + | |
| - | Frequency is very important information which tells the user how many instructions can be executed in the time unit. To have the detailed information of a real number of instructions per second it must be combined with the average number of clock pulses required to execute the instruction. Older processors needed a few or even a dozen pulses of clock for a single instruction. Modern machines, thanks to parallel execution can achieve impressive results of a few instructions per single cycle. | + | |
| - | The class of the processor tells what is the number of bits in the data word. It means what is the size of the arguments of the data which the processor can calculate with a single arithmetic, logic or other operation. The still popular 8-bit machines have a data length of 8 bits, while most sophisticated can use 32 or 64-bit arguments. The class of the processor determines the size of its internal data registers, the size of arguments of instructions and the number of lines of the data bus. | + | |
| - | <info box> Some modern 64-bit processors have additional registers much longer than the ones in the main set. For example, in x64 architecture, | + | |
| + | A processor is characterised by its main parameters, including its operating frequency and class. | ||
| + | Frequency is crucial information which tells the user how many operations can be executed in a time unit. To have the detailed information of a real number of instructions per second, it must be combined with the average number of clock pulses required to execute the instruction. Older processors required a few or even a dozen clock pulses per instruction. Modern machines, thanks to parallel execution, can achieve impressive results of a few instructions per single cycle. | ||
| + | |||
| + | The processor' | ||
| + | <note info> Some modern 64-bit processors have additional registers much longer than the ones in the main set. For example, in the x64 architecture, | ||
| + | |||
| + | ===== Memory ===== | ||
| + | |||
| + | Memory is the element of the computer that stores data and programs. It is visible to the processor as a sequence of data words, where every word has its own address. Addressing allows the processor to access simple and complex variables and to read the instructions for execution. Although intuitively, | ||
| + | <note info> The byte is historically assumed as 8 bits of information and used as the base unit to express the size of data in the world of computers. </ | ||
| + | The size of the memory installed on the computer does not have to correspond to the size of the address space, the maximal size of the memory which is addressable by the processor. In modern machines, it would be impossible or hardly achievable. For example, for x64 architecture, | ||
| + | <note info> To learn more about paging please refer to https:// | ||
| + | |||
| + | ===== Peripherals ===== | ||
| + | Called also input-output (I/O) devices. There is a variety of units belonging to this group. It includes timers, communication ports, general-purpose inputs and outputs, displays, network controllers, | ||
| + | |||
| + | ===== Buses ===== | ||
| + | The processor, memory and peripherals exchange information using interconnections called buses. Although you can find in the literature and on the internet a variety of bus types and their names, at the very lowest level, there are three buses connecting the processor, memory, and peripherals. | ||
| + | |||
| + | **Address bus** delivers the address generated by the processor to memory or peripherals. This address specifies the single memory cell or peripheral register that the processor wants to access. The address bus is used not only to address the data which the processor wants to transmit to or from memory or a peripheral. Instructions are also stored in memory, so the address bus also selects the instruction that the processor fetches and later executes. The address bus is one-directional. The address is generated by the processor and delivered to other units. | ||
| + | <note info> If there is a DMA controller in the computer, in some circumstances, | ||
| + | The number of lines in the address bus is fixed for the processor and determines the size of the addressing space the processor can access. For example, if the address bus of some processor has 16 lines, it can generate up to 16^2 = 65536 different addresses. | ||
| + | |||
| + | **Data bus** is used to exchange data between the processor and the memory or peripherals. The processor can read the data from memory or peripherals, | ||
| + | <note info> In the systems with a DMA controller, the data bus is utilised to exchange data between memory and peripherals directly. Refer to the chapter with the DMA description. </ | ||
| + | The number of bits of the data bus usually corresponds to the class of the processor. It means that an 8-bit class processor has 8 lines of the data bus. | ||
| + | |||
| + | **Control bus** is formed by lines mainly used for synchronisation between the elements of the computer. In the minimal implementation, | ||
| + | The control bus can also include other signals specific to the system, e.g. interrupt signals, DMA control lines, clock pulses, signals distinguishing the memory and peripheral access, signals activating chosen modules and others. | ||