Computer Architecture and MIPS Assembly Language Programming

所在平台: Udemy

课程主页: https://www.udemy.com/course/computer-architectures-and-assembly-programming-mips/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:计算机架构与MIPS汇编语言编程 课程概述:欢迎来到计算机架构与MIPS汇编编程课程!此课程旨在阐述计算机的架构方面,重点关注计算机如何在硬件和汇编语言层面执行指令。学员将学习计算机的基本技术结构及其发展、基础硬件组件、MIPS指令集架构及其汇编语言,以及处理器微架构,特别是控制单元的工作原理。课程分为两个章节:软件和硬件。在软件部分,学员将学习如何为MIPS架构编写汇编语言程序;在硬件部分,将讲解MIPS处理器内部组件如何协同工作来执行程序。 课程强调理解计算机的工作原理,并为进一步学习计算机架构和软件奠定基础。MIPS处理器的架构设计良好,非常适合研究。课程不是为了将学员培养成MIPS程序员,而是希望学员能够理解所有计算机系统。 课程大纲包括: 1. MIPS汇编编程入门 2. MIPS编程实例学习 3. MIPS汇编语言中的函数 4. MIPS指令编码 5. 计算机架构:处理器数据通路,ALU和寄存器文件设计 6. MIPS架构的单周期数据通路 7. MIPS架构的多周期数据通路 8. 教程和作业 这门课程以实例为基础,几乎每个讲座和组件都直接关联到实践性实验作业,学员在MIPS硬件和软件上多多练习,会提高熟练度。同时,课程提供大量示例,分步引导,确保学员获得支持。课程不会浪费时间,第一时间即可开始项目,讲师也会为学员提供帮助,助力学员成功。 总之,课程旨在揭示硬件与软件之间的接口,涵盖指令集架构、汇编编程、计算机/内存组织、机器语言转换等重要主题。这为计算机及电子系统设计领域的工作提供了良好的基础,课程希望能对学员的职业发展有所帮助。

课程评论(0条)

课程详情

*NEW* Enroll in one course and receive a 100% free coupon to one of my other courses! Please contact me after registering in one of the courses and let me know which other course you prefer.Welcome to the Computer Architectures and MIPS Assembly Programming Course!* Updated in Feb 2024* Several Detailed Explanation Lecture Videos are Uploaded(more than 5 hours)This course's major purpose is to outline the architectural aspect of computers. In other words, it is concerned with how computers, as machines, execute instructions at many levels, including the hardware and assembly language levels. Students learn about the fundamental technological structure and evolution of computers, fundamental hardware components, MIPS instructions set architectures and its assembly language, and processor microarchitecture including the control unit (MIPS is used as an example).This course can be divided into 2 chapters: Software and Hardware. In the software chapter (Sections 1-3) you will learn how to write an assembly language program for MIPS architecture and in the hardware chapter (Sections 4-7), I will show you how the internal components of the MIPS processor work together to execute your program. Finally, I prepared several tutorials and assignments with their solutions to help you better understand this topic.The emphasis of the course is on understanding how computers work. This will provide a basis for further study of computer architecture and computer software. The MIPS processor, the subject of this course, has a well designed architecture and is particularly fruitful to study. However, the goal of the course is not to turn you into a MIPS programmer, but to give you an understanding of all computer systems.Course Outline1. Introduction to MIPS Assembly Programming Memory Operand: Load Word & Store Word in MIPS Assembly Language Immediate Addressing Mode & Signed/ Unsigned data in MIPS Assembly LanguageADD, ADDI, ADDU, ADDIU, SUB, LW, and SW Instructions in MIPSBranches and Jump Instruction in MIPS Assembly Language + how to read array[i]Loop Structure in MIPS Assembly LanguageThe Other Comparison Instruction + Logical Instructions in MIPSMIPS Alignment Restrictions:.align,.byte.half and.word Assembler's directiveHow Data will be Stored in Memory in the MIPS Architecture?MIPS System CallSimple I/O and MIPS System Calls: Hello World!Simple I/O and MIPS System Calls: Read 2 Numbers and Display their SummationSimple I/O and MIPS System Calls: an Example of IF-ELSE Structure in MIPSSimple I/O and MIPS System Calls: an Example of IF-ELSE-IF Structure in MIPSMIPS Divide Instruction + Determine whether the input number is odd or evenMIPS Example: Read 5 Numbers and Print Their AverageMIPS Multiplication InstructionMIPS Example: Display the Multiplication of 2 numbers + Factorial ExampleMIPS Example: Add Two Integer Numbers2. Learn MIPS Programming with ExamplesMIPS Example: Read a char and determine whether it is an uppercase, lowercase or etc. in MIPSMIPS Example: Determine the number of zeros in the binary notation of a numberMIPS Example: Read two numbers A and B and compute and print (A+2*B)/5MIPS Example: Convert C code to MIPS AssemblyMIPS Examples: Learn How to Divide and MultiplicationMIPS Example: Find the Maximum Element of an Array in MIPS Assembly LanguageMIPS Example: Find Both Maximum and Minimum of an Input Integer ArrayMIPS Example: Nested IF-ELSE IF StructureMIPS Example: Convert a capital letter to lowercase and vice versaMIPS Example: Check the input character and determine is it alphabet, digit or.MIPS Example: Read 2 operands and an operator and print the resultMIPS Example: Compute the sum of N integers: (1 + 2 +.+ N), While Structure3.Functions in MIPS Assembly Language with Several ExamplesFunctions in MIPS - Jump and Link (jal) & jump Register(jr) InstructionsFunctions in MIPS - How to Pass Arguments to the Functions?Functions in MIPS - Who saves the register? Spilling RegistersFunctions in MIPS - MIPS's conventions to split register spilling choresFunctions in MIPS - MIPS Stack and Push and Pop ImplementationsFunctions in MIPS - Factorial Function MIPS Example: Write a function to read N numbers and store them in an arrayMIPS Example: Write a function to reverse an input arrayMIPS Example: Write a function to count the number of divisors of an argument4.MIPS Instruction EncodingMIPS Instruction Encoding: R-Type InstructionsMIPS Instruction Encoding: I-Type InstructionsMIPS Instruction Encoding: J-Type Instruction5. Computer Architecture: Processor Datapath, ALU and Register File DesignGeneric Datapath and Register Files Part 1Generic Datapath and Register Files Part 2ALU Design Part 1ALU Design Part 26. Single-Cycle Datapath for MIPS ArchitectureMIPS Datapath OverviewDatapath for Fetching an Instruction and increment PC in MIPS ArchitectureDatapath for R-type Instruction in MIPS ArchitectureMIPS Datapath for Load Word (LW) and Store Word (SW) InstructionsDatapath for Branch Instructions in MIPS ArchitectureCombining the Datapaths of R-type Instructions and LW/SW InstructionsIntegrating the datapaths of R-Type, Memory and Branch Instructions in MIPS ArcR-Type + Memory Instructions Data PathControl Unit for the Single-cycle MIPS ProcessorALU Control Unit Design for MIPS Architecture7. Multi-Cycle Datapath for MIPS ArchitectureMulti-Cycle Datapath for MIPS Architecture Part 1Multi-Cycle Datapath for MIPS Architecture Part 2Multi-Cycle Datapath for MIPS Architecture Part 3Multi-Cycle Datapath for MIPS Architecture Part 48. Tutorials + AssignmentsTutorial + Assignment: Introduction to MARSTutorial + Assignment: Introduction to MIPS Assembly ProgrammingTutorial + Assignment: Integer ArithmeticTutorial + Assignment: Flow ControlTutorial + Assignment: Arrays and FilesTutorial + Assignment: Integer Multiplication and DivisionTutorial + Assignment: MIPS Functions and the Stack SegmentFibonacci sequenceCompute the summation of even numbers between 2 input numbersSimple I/O in MIPS Assembly LanguageIF-ELSE-IF Structure in MIPS Assembly LanguageSingle-Cycle Datapath Quiz with Video SolutionMulti-cycle DatapthThe course is Example-based. Almost every lecture and component of the course directly leads to a hands-on laboratory assignment with a solution. The more you practice with MIPS hardware and software, the more proficient you will become.I use lots and lots of examples. I take you step-by-step through the lessons - each time providing sample code and documentation to make sure you are supported through the course.The course does not waste your time. From the very beginning, we jump right into your first project - Let's Get Started.I am here to help. I am an educator with a singular focus on providing a meaningful experience for my students. And, while I cannot do the work for you, I am willing to work WITH you to help you succeed.The goal of this course is to shed light on the obscure interface layer between hardware and software. In this context, we will go over instruction set architectures, assembly programming, computer/memory organization, machine language conversion, data bus, and sub-routines, which are all important topics in computer architecture. This course teaches students about the core hardware components of a computer and how they interact with one another. It educates students about the computer's many layers, such as the application level, operating system level, assembly language level, and machine language level.Computer architectures, which I recommend to anyone working on electronic system design or computer programming and who is interested in processor design, have opened many doors for me in my own career. I hope you find this tutorial useful as well.

课程标签

0人关注该课程

主题相关的课程