Update home with syncrim authored by Olle Ronstad's avatar Olle Ronstad
Welcome to Microcomputer Engineering
====================================
* [[Home]]
* [[General Info]]
* MIPS
* [[MIPS 33000 Manual|MIPS/MIPS 33000 Manual]]
* [[MIPS Programming|MIPS/MIPS Programming]]
* [[MIPS opcodes|MIPS/MIPS opcodes]]
* [[MIPS registers|MIPS/MIPS registers]]
* [[The SyncSim simulator]]
* [[Git instructions]]
* [[Lab environment]]
* [[How to Linux in Windows]]
* [[Setting Up the Lab Environment]]
* [[Setting up MIPS GCC (Lab 4)]]
* [[ThinLinc Lab environment (A3019)]]
* [[Computer lab environment (A3011, A3012, A3017)]]
---
* [[Lectures]]
* [[Assignments]]
* Labs
* [Lab0a](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab0a): Introduction to MIPS
* [Lab0b](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab0b): Reversing a String
* [Lab1a](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab1a): Using a frame pointer
* [Lab1b](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab1b): Decrypting a String
* [Lab2](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab2): Pipelined MIPS
* [Lab3a](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab3a): User code and a kernel
* [Lab3b](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab3b): A simple multi-processing kernel
* [Lab4](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab4): From C code to assembly
* [Lab4_rust](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab4_rust): From Rust code to assembly
----
Microcomputer Engineering gives a broad introduction to modern computer architecture with a focus on embedded systems. The course primary targets the hardware/software interface, where the realms of logic design, computer architecture, and programming meets. The course covers aspects of data representation, computer arithmetic, memory hierarchy, and I/O and introduces the concept of an operating system. Labs and assignments deal with logic and architecture design, low-level programming (both in assembly language and C), operating system implementation, and the relation between lower- and higher-level languages.
The assignments are a part of the laboratories, and thus they are **obligatory**.
Course schedule can be found [here](https://cloud.timeedit.net/ltu/web/schedule1/ri1Q7.html). General support will be provided through [Discord](https://discord.com/invite/2zB47eQS?utm_source=Discord%20Widget&utm_medium=Connect).
Labs
====
All labs will be mandatory except 0a and 0b. All labs except 0a and 0b will contain a peer review.
From lab 1a the submissions will follow this schedule.
The first submission will be at Wednesdays at **23:59**. Peer review on Fridays at **23:59**. Final submission on Mondays **23:59**.
Course Material
===============
Besides the literature (see below), course material will be distributed through this web page: lecture planning/slides, reading advice, lab instructions, etc.
<img src="uploads/77545018841974672eb12d800c9978e4/image.png" alt="4th ed cover" width="200"/>
David A. Patterson, John L. Hennessy
*Computer Organization and Design: The Hardware/Software Interface, Fourth Edition*
Morgan Kaufmann; ISBN: 978-0-12-374750-1
Available [ONLINE](http://app.knovel.com/web/toc.v/cid:kpCODTHSI3/viewerType:toc/root_slug:computer-organization/url_slug:kt0094MEA1?cid=kt0094MEA1&page=1&b-toc-cid=kpCODTHSI3&b-toc-root-slug=undefined&b-toc-url-slug=undefined&b-toc-title=Computer%20Organization%20and%20Design%20-%20The%20Hardware%2FSoftware%20Interface%20(4th%20Edition)) (if the link does not work, make a search at http://www.ltu.se/lib)
*OR*
<img src="uploads/24ff1a3d15676f7d9830c8845a886a58/image.png" alt="3rd ed cover" width="200"/>
David A. Patterson, John L. Hennessy
*Computer Organization and Design: The Hardware/Software Interface, Third Edition*
Welcome to Microcomputer Engineering
====================================
* [[Home]]
* [[General Info]]
* MIPS
* [[MIPS 33000 Manual|MIPS/MIPS 33000 Manual]]
* [[MIPS Programming|MIPS/MIPS Programming]]
* [[MIPS opcodes|MIPS/MIPS opcodes]]
* [[MIPS registers|MIPS/MIPS registers]]
* [[SyncRim]]]]
* [[The SyncSim simulator]]
* [[Git instructions]]
* [[Lab environment]]
* [[How to Linux in Windows]]
* [[Setting Up the Lab Environment]]
* [[Setting up MIPS GCC (Lab 4)]]
* [[ThinLinc Lab environment (A3019)]]
* [[Computer lab environment (A3011, A3012, A3017)]]
---
* [[Lectures]]
* [[Assignments]]
* Labs
* [Lab0a](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab0a): Introduction to MIPS
* [Lab0b](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab0b): Reversing a String
* [Lab1a](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab1a): Using a frame pointer
* [Lab1b](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab1b): Decrypting a String
* [Lab2](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab2): Pipelined MIPS
* [Lab3a](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab3a): User code and a kernel
* [Lab3b](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab3b): A simple multi-processing kernel
* [Lab4](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab4): From C code to assembly
* [Lab4_rust](https://vesuvio-git.neteq.ltu.se/d0013e-microcomputer-engineering/lab4_rust): From Rust code to assembly
----
Microcomputer Engineering gives a broad introduction to modern computer architecture with a focus on embedded systems. The course primary targets the hardware/software interface, where the realms of logic design, computer architecture, and programming meets. The course covers aspects of data representation, computer arithmetic, memory hierarchy, and I/O and introduces the concept of an operating system. Labs and assignments deal with logic and architecture design, low-level programming (both in assembly language and C), operating system implementation, and the relation between lower- and higher-level languages.
The assignments are a part of the laboratories, and thus they are **obligatory**.
Course schedule can be found [here](https://cloud.timeedit.net/ltu/web/schedule1/ri1Q7.html). General support will be provided through [Discord](https://discord.com/invite/2zB47eQS?utm_source=Discord%20Widget&utm_medium=Connect).
Labs
====
All labs will be mandatory except 0a and 0b. All labs except 0a and 0b will contain a peer review.
From lab 1a the submissions will follow this schedule.
The first submission will be at Wednesdays at **23:59**. Peer review on Fridays at **23:59**. Final submission on Mondays **23:59**.
Course Material
===============
Besides the literature (see below), course material will be distributed through this web page: lecture planning/slides, reading advice, lab instructions, etc.
<img src="uploads/77545018841974672eb12d800c9978e4/image.png" alt="4th ed cover" width="200"/>
David A. Patterson, John L. Hennessy
*Computer Organization and Design: The Hardware/Software Interface, Fourth Edition*
Morgan Kaufmann; ISBN: 978-0-12-374750-1
Available [ONLINE](http://app.knovel.com/web/toc.v/cid:kpCODTHSI3/viewerType:toc/root_slug:computer-organization/url_slug:kt0094MEA1?cid=kt0094MEA1&page=1&b-toc-cid=kpCODTHSI3&b-toc-root-slug=undefined&b-toc-url-slug=undefined&b-toc-title=Computer%20Organization%20and%20Design%20-%20The%20Hardware%2FSoftware%20Interface%20(4th%20Edition)) (if the link does not work, make a search at http://www.ltu.se/lib)
*OR*
<img src="uploads/24ff1a3d15676f7d9830c8845a886a58/image.png" alt="3rd ed cover" width="200"/>
David A. Patterson, John L. Hennessy
*Computer Organization and Design: The Hardware/Software Interface, Third Edition*
Morgan Kaufmann; ISBN: 1-55860-604-1
\ No newline at end of file