|
|
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 |