Fundamentals of Computer Architecture

Brought by: Coursera

Overview

This course introduces several topics for the learners about the fundamentals of computer architecture. After completing this course, the students will have the basic knowledge of:
• Computer Performance and Benchmarks
• Summarizing Performance
• Amdahl’s law
• Introduction to Embedded Systems

Learning Outcome:
• After completing this course, the learners will have the tools to evaluated different computer architectures as well as the software executing on them.
• The learners of this course will have knowledge about modern microprocessors and the design techniques used to increase their performance.

Skills Gained:
• Basic skills to evacuate the performance of computer systems

Syllabus

Introduction
This week we first present a definition of computer architecture and the overall objectives of this specialization. Then we will learn how to measure and summarize performance, and about Amdahl's famous law. Finally we will give an introduction to embedded systems.

ISA Design and MIPS64
The set of instructions supported by a processor is called its Instruction Set Architecture (ISA). This week we will learn the MIPS64 ISA, which will be used for code examples throughout this specialization. We will also learn some basic code optimizations that reduce the number of instructions.

Review of Pipelining
This week we will learn about pipelining, which is a technique that overlaps the execution of several instructions. Pipelining is a key implementation technique to make CPUs fast. Using the canonical 5-stage pipeline for illustration, we will learn about pipelining hurdles called hazards and how they can be solved.

Multicycle Operations and Pipeline Scheduling
This week we extend the canonical 5-stage pipeline with multicycle operations; operations that require multiple cycles to execute. Thereafter we learn how instructions can be scheduled in order to reduce the number of pipeline stalls.

Cache Basics
To bridge the gap between processor speed and memory speed, modern processors employ caches. Caches are high-speed memories that contain recently used code and data. This week we will learn the basics of caches (how they are organized, how data is found in the cache, etc.). In addition, we will learn the average memory access time (AMAT) equation as well as 5 basic cache optimizations that aim at reducing the AMAT.

Taught by

Juha Plosila

Fundamentals of Computer Architecture
Go to course

Fundamentals of Computer Architecture

Brought by: Coursera

  • Coursera
  • Free
  • English
  • Certificate Available
  • Certain days
  • All
  • N/A
8.1.2PHP Version327msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (206ms)
    • Application (120ms)
    • 1 x Booting (63.14%)
      206.16ms
      1 x Application (36.61%)
      119.55ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed6.67ms
      • select * from `courses` where `slug_en` = 'fundamentals-of-computer-architecture' limit 1
        5.13ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. fundamentals-of-computer-architecture
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-05 15:48:29' where `id` = 2533
        740μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-05 15:48:29
        • 1. 2533
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (1)
        190μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        130μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (47) and `institutions`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        140μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2524 limit 1
        190μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2524
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        yc37b3IiyvISpFjGJudwZBrDFdT3eIrkDYtdtQy0
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/fundamentals-of-computer-architecture" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/fundamentals-of-computer-architecture
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.135.206.145" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.135.206.145" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94b0d0807dcdeaf3-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.135.206.145" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "3.135.206.145" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94b0d0807dcdeaf3-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "52402" "REMOTE_ADDR" => "172.71.254.165" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/fundamentals-of-computer-architecture" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1749138509.157 "REQUEST_TIME" => 1749138509 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 05 Jun 2025 15:48:29 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ilk1bGxiNHZ3RUptN1pEWnJPa0FveGc9PSIsInZhbHVlIjoiTi85Tjh1bGMxOUJOdFY3VlNxWXlTSTFXZ3NkWlQ1Q1E2MDQySzFVQ3YzQXdEbjhqMnlRWVYxdjRMQW9IbUh6eG83OFh5WHpHTkxYYnc2UXd2TitHVThHWWZsNUtZOW1wZXhCUEdNWDlTa0JIOVNBWTZ2WEdJMWpRd1lvc3dDR0siLCJtYWMiOiI1OWEzMjI4ZjU3YjdlZWJmMzdkNzliMzU1ZTNjMmZmZjJiNTgxYzVmNGE4ODQzNjhmOTk2MjA2MjQ0NmI1MzQ5IiwidGFnIjoiIn0%3D; expires=Thu, 05 Jun 2025 17:48:29 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ilk1bGxiNHZ3RUptN1pEWnJPa0FveGc9PSIsInZhbHVlIjoiTi85Tjh1bGMxOUJOdFY3VlNxWXlTSTFXZ3NkWlQ1Q1E2MDQySzFVQ3YzQXdEbjhqMnlRWVYxdjRMQW9IbUh6eG83OFh5W" 1 => "laravel_session=eyJpdiI6ImJvYVJzSTZaRVlGTUU5Tkhtcy9nWUE9PSIsInZhbHVlIjoiMlZMSjFrWVFpbXozanAzY2ZuUjJzOG9SOHRvZkVzMWlMVm9KUVNjYnBtZ1pmbDlCekRTZWtDdXNveXhiUS96MmpPOUVlMUJDbkFCWjdDMFVpeDhUY3pHWGNobGVEUU9JK2w4QzZPZ0Jud2ZHanE5REkzb3l3TFcrcER4bUQ0ckkiLCJtYWMiOiI1OTJlZTcxMjFiOGE3ZWY0ZTVhYTIwMGNmMDlkM2ZkOWNkZWRhODNmYmMzNTM5YjdlYmEyOGZjM2JkMmZmNGUyIiwidGFnIjoiIn0%3D; expires=Thu, 05 Jun 2025 17:48:29 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImJvYVJzSTZaRVlGTUU5Tkhtcy9nWUE9PSIsInZhbHVlIjoiMlZMSjFrWVFpbXozanAzY2ZuUjJzOG9SOHRvZkVzMWlMVm9KUVNjYnBtZ1pmbDlCekRTZWtDdXNveXhiUS96MmpP" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ilk1bGxiNHZ3RUptN1pEWnJPa0FveGc9PSIsInZhbHVlIjoiTi85Tjh1bGMxOUJOdFY3VlNxWXlTSTFXZ3NkWlQ1Q1E2MDQySzFVQ3YzQXdEbjhqMnlRWVYxdjRMQW9IbUh6eG83OFh5WHpHTkxYYnc2UXd2TitHVThHWWZsNUtZOW1wZXhCUEdNWDlTa0JIOVNBWTZ2WEdJMWpRd1lvc3dDR0siLCJtYWMiOiI1OWEzMjI4ZjU3YjdlZWJmMzdkNzliMzU1ZTNjMmZmZjJiNTgxYzVmNGE4ODQzNjhmOTk2MjA2MjQ0NmI1MzQ5IiwidGFnIjoiIn0%3D; expires=Thu, 05-Jun-2025 17:48:29 GMT; path=/XSRF-TOKEN=eyJpdiI6Ilk1bGxiNHZ3RUptN1pEWnJPa0FveGc9PSIsInZhbHVlIjoiTi85Tjh1bGMxOUJOdFY3VlNxWXlTSTFXZ3NkWlQ1Q1E2MDQySzFVQ3YzQXdEbjhqMnlRWVYxdjRMQW9IbUh6eG83OFh5W" 1 => "laravel_session=eyJpdiI6ImJvYVJzSTZaRVlGTUU5Tkhtcy9nWUE9PSIsInZhbHVlIjoiMlZMSjFrWVFpbXozanAzY2ZuUjJzOG9SOHRvZkVzMWlMVm9KUVNjYnBtZ1pmbDlCekRTZWtDdXNveXhiUS96MmpPOUVlMUJDbkFCWjdDMFVpeDhUY3pHWGNobGVEUU9JK2w4QzZPZ0Jud2ZHanE5REkzb3l3TFcrcER4bUQ0ckkiLCJtYWMiOiI1OTJlZTcxMjFiOGE3ZWY0ZTVhYTIwMGNmMDlkM2ZkOWNkZWRhODNmYmMzNTM5YjdlYmEyOGZjM2JkMmZmNGUyIiwidGFnIjoiIn0%3D; expires=Thu, 05-Jun-2025 17:48:29 GMT; path=/; httponlylaravel_session=eyJpdiI6ImJvYVJzSTZaRVlGTUU5Tkhtcy9nWUE9PSIsInZhbHVlIjoiMlZMSjFrWVFpbXozanAzY2ZuUjJzOG9SOHRvZkVzMWlMVm9KUVNjYnBtZ1pmbDlCekRTZWtDdXNveXhiUS96MmpP" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "yc37b3IiyvISpFjGJudwZBrDFdT3eIrkDYtdtQy0" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/fundamentals-of-computer-architecture" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]