parent
0c749eff41
commit
0ae6028c18
@ -9,12 +9,12 @@ Patt](https://users.ece.utexas.edu/~patt/) and [Sanjay J.
|
|||||||
Patel](https://sjp.ece.illinois.edu/) to teach their students about computer
|
Patel](https://sjp.ece.illinois.edu/) to teach their students about computer
|
||||||
architecture.
|
architecture.
|
||||||
|
|
||||||
The processors in this family are extremely simple and they all feature a
|
The processors in this group are extremely simple and they all feature a
|
||||||
*very* [RISC](https://en.wikipedia.org/wiki/RISC) instruction set; they all
|
*very* [RISC](https://en.wikipedia.org/wiki/RISC) instruction set; they all
|
||||||
have a 16-bit address bus and a 16-bit data bus, except for the latest
|
have a 16-bit address bus and a 16-bit data bus, except for the latest
|
||||||
architecture of the group -- the LC-3b -- which has an 8-bit data bus.
|
architecture of the series -- the LC-3b -- which has an 8-bit data bus.
|
||||||
|
|
||||||
The most famous ISA of this category is without a doubt the LC-3, the third
|
The most famous ISA of this family is without a doubt the LC-3, the third
|
||||||
iteration of the architecture: on this specific ISA people made a
|
iteration of the architecture: on this specific ISA people made a
|
||||||
[subreddit](https://reddit.com/r/lc3), a [Wikipedia
|
[subreddit](https://reddit.com/r/lc3), a [Wikipedia
|
||||||
page](https://en.wikipedia.org/wiki/Little_Computer_3), an [online
|
page](https://en.wikipedia.org/wiki/Little_Computer_3), an [online
|
||||||
@ -24,12 +24,12 @@ using a search engine.
|
|||||||
## Why am I doing this?
|
## Why am I doing this?
|
||||||
|
|
||||||
The goal of this project is to make more people know about this family of ISAs,
|
The goal of this project is to make more people know about this family of ISAs,
|
||||||
which I believe is ideal for teaching computer architecture, operating systems
|
which I believe is ideal for learning about computer architecture, operating
|
||||||
and programming languages.
|
systems and programming languages.
|
||||||
|
|
||||||
Naturally, the focus will be on the last two ISAs of the series, the LC-3 and
|
Obviously, the focus will be on the last two iteration of the series, the LC-3
|
||||||
LC-3b, as they are the most recent, the most comprehensive, and, in my opinion,
|
and LC-3b, as they are the most recent, the most comprehensive, and, in my
|
||||||
the most interesting.
|
opinion, the most interesting.
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ The first step is to create a comprehensive documentation with a lot of
|
|||||||
sources.
|
sources.
|
||||||
|
|
||||||
There isn't much information available about these architectures, so it is
|
There isn't much information available about these architectures, so it is
|
||||||
necessary to refer to the original books and save what can be found online
|
essential to refer to the original books and save what can be found online
|
||||||
using the [WayBack Machine](https://web.archive.org/).
|
using the [WayBack Machine](https://web.archive.org/).
|
||||||
|
|
||||||
### ◻️ Creation of a Developement Suite
|
### ◻️ Creation of a Developement Suite
|
||||||
@ -51,26 +51,27 @@ tools, such as an emulator and an assembler.
|
|||||||
|
|
||||||
### ◻️ Developement of a GUI Learning Environment
|
### ◻️ Developement of a GUI Learning Environment
|
||||||
|
|
||||||
After developing the basic developement tools, we can create a graphical tool
|
After developing a basic developement suite, we can create a graphical learning
|
||||||
that can replace the outdated software created by the original authors.
|
environment that can replace the outdated software created by the original
|
||||||
|
authors.
|
||||||
|
|
||||||
It would be great to create an environment where users can both write assembly
|
It would be great to create an environment where users can both write assembly
|
||||||
and execute it, rather than having two separate apps.
|
and execute it, rather than having two separate apps.
|
||||||
|
|
||||||
### 💪🏻 Physical CPU with an FPGA
|
### 💪🏻 Physical CPU with an FPGA
|
||||||
|
|
||||||
Inspired by [Ben Eater's series on the 6502](https://eater.net/6502), once the
|
Inspired by [Ben Eater's series on the 6502](https://eater.net/6502), we could
|
||||||
GUI development environment is ready, we could take the program and load it
|
take the program and load it into an EEPROM to be executed by a physical
|
||||||
into an EEPROM to be executed by a physical copy of our CPUs!
|
version of our CPUs, maybe on a breadboard!
|
||||||
|
|
||||||
Also, it would be interesting to create a motherboard with some sort of I/O
|
It would be interesting to create a small custom motherboard with some sort of
|
||||||
interface to enable our computer to communicate with the outside world.
|
I/O interface to enable our computer to communicate with the outside world.
|
||||||
|
|
||||||
### 💪🏻 Development of an LLVM Backend
|
### 💪🏻 Development of an LLVM Backend
|
||||||
|
|
||||||
Let's access more modern programming languages such as C and Rust!
|
Let's access more modern programming languages such as C and Rust!
|
||||||
|
|
||||||
### 💪🏻 Creation of a UNIX-like Operating System
|
### 💪🏻 Creation of a small UNIX-like Operating System
|
||||||
|
|
||||||
### 💪🏻 Software Porting
|
### 💪🏻 Software Porting
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user