From b1f88e86364b58dfbb6b28b4d761174e70a2f424 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Fri, 19 Dec 2025 18:57:17 +0000 Subject: [PATCH] tidy up --- zk/Bus.md | 16 ++++++------ zk/CPU_architecture.md | 47 ++++++++++++++++------------------- zk/Chipset_and_controllers.md | 3 +-- zk/Filesystems.md | 13 +++++----- zk/Machine_code.md | 7 +++--- zk/The_kernel.md | 3 +-- zk/What_are_disks.md | 11 ++++---- 7 files changed, 46 insertions(+), 54 deletions(-) diff --git a/zk/Bus.md b/zk/Bus.md index ed0825f..c2dce8f 100644 --- a/zk/Bus.md +++ b/zk/Bus.md @@ -18,14 +18,14 @@ can mean: ## Main buses -| Bus type | Description | -| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| System bus | The primary pathway between the CPU and [memory](Memory.md). It comprises the **data bus** that transfers data from the memory to the CPU and the **address bus** which transmits requests from the CPU to memory. | -| Internal bus | Connects local devices for example the harddisk to the CPU. | -| External bus | Connects peripheral devices such as disks and printers to the [motherboard](Motherboard.md) | -| Expansion bus | Allows expansion boards to access the CPU and memory. | -| Frontside bus | Main computer bus that determines data transfer rate speed and is the primary data transfer path between the CPU, RAM and other [motherboard](Motherboard.md) devices. | -| Backside bus | Transfers secondary cache (L2 cache) data at faster speeds, allowing more efficient CPU operations | +| Bus type | Description | +| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| System bus | The primary pathway between the CPU and memory. It comprises the **data bus** that transfers data from the memory to the CPU and the **address bus** which transmits requests from the CPU to memory. | +| Internal bus | Connects local devices for example the harddisk to the CPU. | +| External bus | Connects peripheral devices such as disks and printers to the [motherboard](Motherboard.md) | +| Expansion bus | Allows expansion boards to access the CPU and memory. | +| Frontside bus | Main computer bus that determines data transfer rate speed and is the primary data transfer path between the CPU, RAM and other [motherboard](Motherboard.md) devices. | +| Backside bus | Transfers secondary cache (L2 cache) data at faster speeds, allowing more efficient CPU operations | ## Bus standards diff --git a/zk/CPU_architecture.md b/zk/CPU_architecture.md index fcf5663..1187104 100644 --- a/zk/CPU_architecture.md +++ b/zk/CPU_architecture.md @@ -8,10 +8,10 @@ tags: At the core of a computer sits the Central Processing Unit. This is the assembly of chips that execute all computation. Instructions are passed to the CPU along -the data bus part of the [system bus](Bus.md) from the -memory. The [kernel](The_kernel.md), also residing in memory, -sequences and schedules the sending of data to the CPU and manages requests from -the CPU for data in memory. +the data bus part of the [system bus](Bus.md) from the memory. The +[kernel](/zk/The_kernel.md), also residing in memory, sequences and schedules +the sending of data to the CPU and manages requests from the CPU for data in +memory. The CPU comprises three core components: @@ -29,13 +29,12 @@ The CPU comprises three core components: ## Registers This is the part of the CPU that stores data. The memory cells that comprise it -do not have [capacitors](Memory.md) (unlike RAM) -so they cannot store very much data but they work faster, which is what is -important. Because their memory capacity is so small, we measure the size of -registers in bits rather than bytes. +do not have capacitors (unlike RAM) so they cannot store very much data but they +work faster, which is what is important. Because their memory capacity is so +small, we measure the size of registers in bits rather than bytes. In terms of speed, registers sit at the top part of the overall -[memory hierarchy](Memory.md#the-memory-hierarchy). +[memory hierarchy](./The_memory_hierarchy.md). There are five main types of register in the CPU: @@ -49,15 +48,15 @@ There are five main types of register in the CPU: ## Arithmetic Logic Unit -See [Arithmetic Logic Unit](Arithmetic_Logic_Unit.md) +See [Arithmetic Logic Unit](././Arithmetic_Logic_Unit.md)) ## Control Unit -The CPU's [controller](Chipset_and_controllers.md). It -takes the instructions in binary form from RAM memory (separate from the CPU, -but connected) and then signals to the to ALU and memory registers what it is -supposed to do to execute the instructions. Think of it as the overseer that -gets the ALU and registers to work together to run program instructions. +The CPU's [controller](Chipset_and_controllers.md). It takes the instructions in +binary form from RAM memory (separate from the CPU, but connected) and then +signals to the to ALU and memory registers what it is supposed to do to execute +the instructions. Think of it as the overseer that gets the ALU and registers to +work together to run program instructions. ## The system clock @@ -73,11 +72,9 @@ cycle_. The clock's circuitry is based on a quartz crystal system like that used in watches. At precisely timed intervals, the clock sends out pulses of electricity that cause bits to move from place to place within -[logic gates](Logic_gates.md) or -between logic gates and -[registers](CPU_architecture.md#registers). This is -covered in greater detail in the discussion of -[clock signals in digital circuits](Clock_signals.md). +[logic gates](/zk/Logic_gates.md) or between logic gates and +[registers](./CPU_architecture.md). This is covered in greater detail in the +discussion of [clock signals in digital circuits](Clock_signals.md). Simple instructions such as add can often be executed in just one clock cycle, whilst complex operations such as divide will require a number of smaller steps, @@ -95,16 +92,14 @@ Hz a processor possesses. ## Processing cycles Each "cycle" is the execution of a process that commences once the -[kernel](The_kernel.md) hands control to the CPU. Each cycle -follows a sequence of events known as -[fetch, decode, and execute](Fetch_decode_execute.md). +[kernel](The_kernel.md) hands control to the CPU. Each cycle follows a sequence +of events known as [fetch, decode, and execute](Fetch_decode_execute.md). ## Electromagnetism: broader scientific context Hertz was the scientist who detected -[electromagentic waves](Electromagnetism.md). -We use Hertz as a measure of the frequency of electromatic wave cycles in a -signal. +[electromagentic waves](Electromagnetism.md). We use Hertz as a measure of the +frequency of electromatic wave cycles in a signal. ![](/img/hertz_wave_freq.gif) diff --git a/zk/Chipset_and_controllers.md b/zk/Chipset_and_controllers.md index 8cc0057..9f87635 100644 --- a/zk/Chipset_and_controllers.md +++ b/zk/Chipset_and_controllers.md @@ -10,8 +10,7 @@ A **controller** is simply a circuit that controls a process. The **chipset** is a combination of controllers placed on the same piece of silicon. The chipset manages the data flow between the different components that comprise -the [motherboard](Motherboard.md): processor, -[memory](Memory.md), +the [motherboard](Motherboard.md): processor, memory, [harddisk](What_are_disks.md) and peripherals. Buses run in and out of the chipset into these key motherboard components. The diff --git a/zk/Filesystems.md b/zk/Filesystems.md index cd7480f..c962c84 100644 --- a/zk/Filesystems.md +++ b/zk/Filesystems.md @@ -10,9 +10,9 @@ tags: We cannot yet mount or interact with the partitions we have created. This is because we have not added a filesystem to each partition. -> A filesytem is a form of [database](Basic_database_concepts.md); it -> supplies the structure to transform a simple block device into the -> sophisticated hierarchy of files and subdirectories that users can understand. +> A filesytem is a form of database; it supplies the structure to transform a +> simple block device into the sophisticated hierarchy of files and +> subdirectories that users can understand. Linux recognises many types of filesystems. The native Linux filesystem is the **ext4** (Fourth Extended Filesystem). Another common filesystem is **FAT** @@ -87,10 +87,9 @@ UUID=c53577b5-92ef-4a0a-9a19-e488bfdfa39c /home ext4 rw,relatime 0 2 ``` -It shows my root and home filesystems and my -[swap](Swap_space.md) file. Note that we use the UUID -to name the partition rather than its name in `/dev/`. The order of the -parameters is as follows: +It shows my root and home filesystems and my [swap](Swap_space.md) file. Note +that we use the UUID to name the partition rather than its name in `/dev/`. The +order of the parameters is as follows: - Device name or UUID - The mount point diff --git a/zk/Machine_code.md b/zk/Machine_code.md index 322f09e..560dabd 100644 --- a/zk/Machine_code.md +++ b/zk/Machine_code.md @@ -11,7 +11,8 @@ created: Monday, March 11, 2024 # Machine code No matter how a program was originally written, it eventually needs to execute -on a [[CPU_architecture|CPU]] as a series of machine language instructions. +on a [CPU architecture](/zk/CPU_architecture.md) as a series of machine language +instructions. ## Example machine instruction @@ -60,5 +61,5 @@ instruction: ## Difficulty Binary sequences are hard to understand, even if converted to the -[[Hexadecimal_number_system]]. We have a better way of managing operations on -the machine level: [assembly](Assembly.md) +[hexadecimal number system](./Hexadecimal_number_system.md). We have a better +way of managing operations on the machine level: [assembly](Assembly.md) diff --git a/zk/The_kernel.md b/zk/The_kernel.md index 6cbb491..480d614 100644 --- a/zk/The_kernel.md +++ b/zk/The_kernel.md @@ -65,8 +65,7 @@ It has the following jobs to manage: - Managing read-only memory - Allowing for the use of disk space as auxiliary memory -> Modern CPUs include a -> [memory management unit](Virtual_memory_and_the_MMU_in_Linux.md#the-memory-management-unit-mmu) +> Modern CPUs include a [memory management unit](./Memory_Management_Unit.md) > which provides the kernel with **virtual** memory. In this scenario, memory > isn't directly accessed by the process instead it works on the assumption that > is has access to the entire memory of the machine and this is then translated diff --git a/zk/What_are_disks.md b/zk/What_are_disks.md index 246a834..8c43346 100644 --- a/zk/What_are_disks.md +++ b/zk/What_are_disks.md @@ -6,8 +6,8 @@ tags: # What are disks? -A disk is a mass storage [block_device](Devices.md) which we -can write to and read from. +A disk is a mass storage [block_device](Devices.md) which we can write to and +read from. ## SCSI @@ -22,10 +22,9 @@ The following diagram represents the basic anatomy of a disk device. ![](/img/harddisk.png) -- A disk is divided up into [partitions](Partitions.md) - which are subsections of the overall disk. The kernel presents each partition - as a [block device](Devices.md) as it would with an entire - disk. +- A disk is divided up into [partitions](./Linux_disk_partitions.md) which are + subsections of the overall disk. The kernel presents each partition as a + [block device](Devices.md) as it would with an entire disk. - The disk dedicates a small part of its contents to a **partition table**: this defines the different partitions that comprise the total disk space. - The **filesystem** is a database of files and directories: this comprises the