*[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.
<imgsrc="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*
<imgsrc="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*
*[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.
<imgsrc="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*
<imgsrc="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*