Compare commits
5 commits
9c54da414f
...
6add77eba0
Author | SHA1 | Date | |
---|---|---|---|
Sebastian Wendel | 6add77eba0 | ||
Sebastian Wendel | 4e11620f2d | ||
Sebastian Wendel | f53276c1e8 | ||
Sebastian Wendel | ba1ebb0c0d | ||
Sebastian Wendel | f5c2da7eac |
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -9,5 +9,6 @@ node_modules
|
|||
*.log
|
||||
|
||||
# personal environment configuration
|
||||
.direnv
|
||||
.env.*
|
||||
.env
|
16
.vscode/extensions.json
vendored
16
.vscode/extensions.json
vendored
|
@ -1 +1,15 @@
|
|||
{}
|
||||
{
|
||||
"recommendations": [
|
||||
"arrterian.nix-env-selector",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
"ecmel.vscode-html-css",
|
||||
"formulahendry.auto-complete-tag",
|
||||
"jnoortheen.nix-ide",
|
||||
"kamadorueda.alejandra",
|
||||
"mblode.pretty-formatter",
|
||||
"mikestead.dotenv",
|
||||
"ms-vscode.live-server",
|
||||
"stylelint.vscode-stylelint",
|
||||
],
|
||||
"unwantedRecommendations": []
|
||||
}
|
||||
|
|
22
.vscode/settings.json
vendored
Normal file
22
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"alejandra.program": "alejandra",
|
||||
"nix.serverPath": "nil",
|
||||
"nix.enableLanguageServer": true,
|
||||
"files.associations": {
|
||||
"flake.lock": "json"
|
||||
},
|
||||
"[html]": {
|
||||
"editor.defaultFormatter": "mblode.pretty-formatter"
|
||||
},
|
||||
"[css]": {
|
||||
"editor.defaultFormatter": "mblode.pretty-formatter"
|
||||
},
|
||||
"[nix]": {
|
||||
"editor.defaultFormatter": "kamadorueda.alejandra",
|
||||
"editor.formatOnSave": true,
|
||||
"editor.insertSpaces": true,
|
||||
"editor.tabSize": 2,
|
||||
"editor.codeLens": true
|
||||
},
|
||||
"editor.linkedEditing": true,
|
||||
}
|
11
css/srx.css
11
css/srx.css
|
@ -3,7 +3,12 @@
|
|||
src: url('../font/WORKBENCH-REGULAR.ttf') format('truetype');
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font:inherit;
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font: inherit;
|
||||
font-family: workbench;
|
||||
}
|
||||
}
|
||||
|
|
64
flake.lock
Normal file
64
flake.lock
Normal file
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706830856,
|
||||
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1707956935,
|
||||
"narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1706550542,
|
||||
"narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
43
flake.nix
Normal file
43
flake.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
description = "HCS Coding Challenge";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
};
|
||||
|
||||
outputs = inputs @ {flake-parts, ...}:
|
||||
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||
systems = ["x86_64-linux" "aarch64-darwin" "x86_64-darwin"];
|
||||
|
||||
perSystem = {
|
||||
pkgs,
|
||||
config,
|
||||
system,
|
||||
inputs',
|
||||
self',
|
||||
...
|
||||
}: {
|
||||
devShells.default = pkgs.mkShell {
|
||||
nativeBuildInputs = with pkgs; [
|
||||
# ide
|
||||
vscodium
|
||||
|
||||
# formater
|
||||
alejandra
|
||||
nodePackages_latest.prettier
|
||||
|
||||
# lsp
|
||||
nil
|
||||
tailwindcss-language-server
|
||||
nodePackages_latest.vscode-html-languageserver-bin
|
||||
nodePackages_latest.vscode-css-languageserver-bin
|
||||
|
||||
# node
|
||||
nodePackages_latest.nodejs
|
||||
nodePackages_latest.yarn
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
128
index.html
128
index.html
|
@ -1,67 +1,75 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>What is Magnetic-core memory?</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="description" content="HTML & CSS Course Examples.">
|
||||
<meta name="author" content="Sebastian Wendel"/>
|
||||
<meta name="created" content="2024-02-09T14:14:22.450262740"/>
|
||||
<!-- TODO: Checkout the full list of Open Graph Data tags -->
|
||||
<meta property="og:title" content="What is Magnetic-core memory?" />
|
||||
<meta property="og:description" content="HTML & CSS Course Examples." />
|
||||
<meta property="og:image" content="/image.png" />
|
||||
<script src="./js/tailwindcss.js?plugins=forms,typography,aspect-ratio,line-clamp"></script>
|
||||
<link rel="stylesheet" href="./css/srx.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="relative overflow-hidden bg-white">
|
||||
<div class="pb-80 pt-16 sm:pb-40 sm:pt-24 lg:pb-48 lg:pt-40">
|
||||
<div class="relative mx-auto max-w-7xl px-4 sm:static sm:px-6 lg:px-8">
|
||||
<div class="sm:max-w-lg">
|
||||
<h1 class="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl">What is Magnetic-core memory?</h1>
|
||||
<p class="mt-4 text-xl text-gray-500" >Core memory uses <a href="https://en.wikipedia.org/wiki/Toroid">toroids</a>
|
||||
(rings) of a <a href="https://en.wikipedia.org/wiki/Hard_magnetic_material">hard
|
||||
magnetic material</a> (usually a <a href="https://en.wikipedia.org/wiki/Ferrite_(magnet)#Semi-hard_ferrites">semi-hard
|
||||
ferrite</a>). Each core stores one <a href="https://en.wikipedia.org/wiki/Bit">bit</a>
|
||||
of information. Two or more wires pass through each core, forming an
|
||||
X-Y array of cores. When an electrical current above a certain
|
||||
threshold is applied to the wires, the core will become magnetized.
|
||||
The core to be written is selected by powering one X and one Y wire
|
||||
to half of the required power, such that only the single core at the
|
||||
intersection is written. Depending on the direction of the currents,
|
||||
the core will pick up a clockwise or counterclockwise magnetic field,
|
||||
storing a 1 or 0.
|
||||
|
||||
This writing process also causes electricity to be <a href="https://en.wikipedia.org/wiki/Electromagnetic_induction">induced</a>
|
||||
into nearby wires. If the new pulse being applied in the X-Y wires is
|
||||
the same as the last applied to that core, the existing field will do
|
||||
nothing, and no induction will result. If the new pulse is in the
|
||||
opposite direction, a pulse will be generated. This is normally
|
||||
picked up in a separate "sense" wire, allowing the system
|
||||
to know whether that core held a 1 or 0. As this readout process
|
||||
requires the core to be written, this process is known as <i>destructive
|
||||
readout</i>, and requires additional circuitry to reset the core to
|
||||
its original value if the process flipped it.
|
||||
<head>
|
||||
<title>What is Magnetic-core memory?</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<meta name="description" content="HTML & CSS Course Examples.">
|
||||
<meta name="author" content="Sebastian Wendel"/>
|
||||
<meta
|
||||
name="created" content="2024-02-09T14:14:22.450262740"/>
|
||||
<!-- TODO: Checkout the full list of Open Graph Data tags -->
|
||||
<meta property="og:title" content="What is Magnetic-core memory?"/>
|
||||
<meta property="og:description" content="HTML & CSS Course Examples."/>
|
||||
<meta property="og:image" content="/image.png"/>
|
||||
<script src="./js/tailwindcss.js?plugins=forms,typography,aspect-ratio,line-clamp"></script>
|
||||
<link rel="stylesheet" href="./css/srx.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="relative overflow-hidden bg-white">
|
||||
<div class="pb-80 pt-16 sm:pb-40 sm:pt-24 lg:pb-48 lg:pt-40">
|
||||
<div class="relative mx-auto max-w-7xl px-4 sm:static sm:px-6 lg:px-8">
|
||||
<div class="sm:max-w-lg">
|
||||
<h1 class="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl">What is Magnetic-core memory?</h1>
|
||||
<p class="mt-4 text-xl text-gray-500">Core memory uses
|
||||
<a href="https://en.wikipedia.org/wiki/Toroid">toroids</a>
|
||||
(rings) of a
|
||||
<a href="https://en.wikipedia.org/wiki/Hard_magnetic_material">hard
|
||||
magnetic material</a>
|
||||
(usually a
|
||||
<a href="https://en.wikipedia.org/wiki/Ferrite_(magnet)#Semi-hard_ferrites">semi-hard
|
||||
ferrite</a>). Each core stores one
|
||||
<a href="https://en.wikipedia.org/wiki/Bit">bit</a>
|
||||
of information. Two or more wires pass through each core, forming an
|
||||
X-Y array of cores. When an electrical current above a certain
|
||||
threshold is applied to the wires, the core will become magnetized.
|
||||
The core to be written is selected by powering one X and one Y wire
|
||||
to half of the required power, such that only the single core at the
|
||||
intersection is written. Depending on the direction of the currents,
|
||||
the core will pick up a clockwise or counterclockwise magnetic field,
|
||||
storing a 1 or 0.
|
||||
|
||||
This writing process also causes electricity to be
|
||||
<a href="https://en.wikipedia.org/wiki/Electromagnetic_induction">induced</a>
|
||||
into nearby wires. If the new pulse being applied in the X-Y wires is
|
||||
the same as the last applied to that core, the existing field will do
|
||||
nothing, and no induction will result. If the new pulse is in the
|
||||
opposite direction, a pulse will be generated. This is normally
|
||||
picked up in a separate "sense" wire, allowing the system
|
||||
to know whether that core held a 1 or 0. As this readout process
|
||||
requires the core to be written, this process is known as
|
||||
<i>destructive
|
||||
readout</i>, and requires additional circuitry to reset the core to
|
||||
its original value if the process flipped it.
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="mt-10">
|
||||
<div aria-hidden="true" class="pointer-events-none lg:absolute lg:inset-y-0 lg:mx-auto lg:w-full lg:max-w-7xl">
|
||||
<div class="absolute transform sm:left-1/2 sm:top-0 sm:translate-x-8 lg:left-1/2 lg:top-1/2 lg:-translate-y-1/2 lg:translate-x-8">
|
||||
<div class="flex items-center space-x-6 lg:space-x-8">
|
||||
<div class="grid flex-shrink-0 grid-cols-1 ">
|
||||
<div class="h-64 w-44 overflow-hidden rounded-lg">
|
||||
<img class="h-full w-full object-cover object-center" src="./img/IMG_20240205_00.webp" alt="A Core memory Module showing the detailed structure of ferrite cores and copper wires.">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="mt-10">
|
||||
<div aria-hidden="true" class="pointer-events-none lg:absolute lg:inset-y-0 lg:mx-auto lg:w-full lg:max-w-7xl">
|
||||
<div class="absolute transform sm:left-1/2 sm:top-0 sm:translate-x-8 lg:left-1/2 lg:top-1/2 lg:-translate-y-1/2 lg:translate-x-8">
|
||||
<div class="flex items-center space-x-6 lg:space-x-8">
|
||||
<div class="grid flex-shrink-0 grid-cols-1 ">
|
||||
<div class="h-64 w-44 overflow-hidden rounded-lg">
|
||||
<img class="h-full w-full object-cover object-center" src="./img/IMG_20240205_00.webp" alt="A Core memory Module showing the detailed structure of ferrite cores and copper wires.">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue