강의

멘토링

로드맵

Inflearn brand logo image
Hardware

/

Embedded IoT

Tổng quan về kiến trúc Armv8-A dành cho nhà phát triển mới (Bài giảng trực tiếp từ tác giả)

Nền tảng cơ bản của phần mềm hệ thống, tác giả của "Cấu trúc và nguyên lý của kiến trúc Arm để phát triển phần mềm hệ thống" sẽ giúp bạn nắm bắt chính xác cốt lõi của kiến trúc Arm mới nhất (Armv8-A)!

(5.0) 1 đánh giá

73 học viên

  • austinkim
임베디드리눅스
취업준비
이론 중심
ARM Architecture
Embedded
armv8
cpu-architecture

Dịch cái này sang tiếng Việt

  • Kiến trúc Arm và các đặc điểm của bộ xử lý Arm

  • Cách xử lý thanh ghi và lệnh hợp ngữ

  • Mức ngoại lệ (Exception Level) và các ngăn xếp phần mềm chạy ở từng mức ngoại lệ

  • Các loại và cơ chế hoạt động của Exception (Ngoại lệ)

  • Quy ước AAPCS (Quy ước gọi Arm), một quy ước cho việc gọi các chương trình con

  • Khái niệm về Non-secure World và Secure World cấu thành nên TrustZone

  • Nguyên lý hoạt động của ảo hóa và hypervisor

  • Rào cản (Barrier), bộ nhớ cache và nguyên lý hoạt động của hệ thống bộ nhớ ảo

<Thông báo>

Lộ trình bài giảng trực tiếp của tác giả về kiến ​​trúc Arm

Bài giảng này <Armv8-A Architecture for New Developers (Bài giảng trực tiếp của tác giả)> là một lộ trình 'Arm - khóa học cơ bản dành cho lập trình viên phần mềm hệ thống' Bài giảng này được bao gồm trong .

Nếu bạn muốn tìm hiểu kiến ​​trúc Arm (Armv8-A, Armv7-A) một cách có hệ thống, chúng tôi khuyên bạn nên sử dụng lộ trình (giảm giá 30% cho tất cả các bài giảng). Để tham khảo, lộ trình kiến ​​trúc Arm (bài giảng đầy đủ của tác giả) là Khóa học cơ bản Khóa học nâng cao Nó bao gồm hai phần.

Nhà phát triển phần mềm hệ thống
Kiến thức cần thiết, Kiến trúc cánh tay

Bộ xử lý Arm được sử dụng trong chất bán dẫn AI, xe điện (lái xe tự động, thông tin giải trí) và điện thoại thông minh cũng như TV kỹ thuật số đều là bộ xử lý Cortex-A 64 bit dựa trên Armv8-A (Cortex-A53, Cortex-A57, Cortex-A72, v.v.). Kiến thức cần thiết nhất trong ngành phần mềm hệ thống hiện nay có thể được coi là kiến ​​trúc Armv8-A .

Hoàn thành trong 9 giờ
Giới thiệu về Kiến trúc Core Armv8-A


Tôi đã viết một cuốn sách giải thích về kiến ​​trúc Armv8-A và cũng đã biên soạn hơn 60 giờ bài giảng cho Inflearn.

Tuy nhiên, đối với người mới học kiến ​​trúc Arm lần đầu, sẽ mất hơn 3 tháng để tiếp thu hết hơn 60 giờ bài giảng. Tất nhiên, cách tốt nhất là học từng bước một và tìm hiểu kiến ​​trúc Arm một cách có hệ thống. Tuy nhiên, thực tế là người tìm việc và lập trình viên mới vào nghề thường phải chuẩn bị cho các cuộc phỏng vấn kỹ thuật trong một thời gian ngắn, chẳng hạn như trong vòng một đến hai tuần . Để đáp ứng nhu cầu của những sinh viên này, chúng tôi đã cho ra mắt phần giới thiệu ngắn gọn nhưng thiết yếu về kiến ​​trúc Armv8-A .

Học sinh mục tiêu 💁‍♂

Người tìm việc trong lĩnh vực phần mềm hệ thống cần chuẩn bị cho buổi phỏng vấn kỹ thuật liên quan đến kiến ​​trúc Armv8-A trong thời gian ngắn

Các nhà phát triển mới và cấp cơ sở muốn nhanh chóng tìm hiểu nội dung cốt lõi của Armv8-A

Các nhà quản lý trong lĩnh vực phần mềm hệ thống muốn quản lý dự án bằng cách hiểu các tính năng cốt lõi của Armv8-A.

Điểm khác biệt của bài giảng

1⃣ Tóm tắt các tính năng chính của kiến ​​trúc Armv8-A có thể xuất hiện trong các cuộc phỏng vấn kỹ thuật

Trong các cuộc phỏng vấn kỹ thuật dành cho các nhà phát triển phần mềm hệ thống, rất có thể các câu hỏi về kiến ​​trúc Armv8-A sẽ được hỏi. Hầu hết các nhà phát triển phần mềm hệ thống Linux trong nước (không có nhà máy, phát triển nhúng) đều chỉ định kiến ​​trúc Arm là yêu cầu bắt buộc. Bạn có ít thời gian để chuẩn bị cho buổi phỏng vấn, nhưng gánh nặng phân tích các tài liệu thông số kỹ thuật đồ sộ của Arm là rất lớn. Bằng cách tham gia khóa học này, bạn sẽ có thể nhanh chóng hiểu được các khái niệm cốt lõi tạo nên kiến ​​trúc Armv8-A.

2⃣ Tóm tắt những điều mà các nhà phát triển mới phải biết

Nếu bạn đang làm việc trên một dự án kinh doanh, bạn cần phải hiểu rõ về kiến ​​trúc Arm. Nếu bạn không biết về kiến ​​trúc Arm, sẽ rất khó để tiến hành phát triển, cho dù bạn đang đưa nó vào sử dụng hay gỡ lỗi nó.

Các tính năng tạo nên kiến ​​trúc Armv8-A rất đa dạng. Tài liệu tham khảo liên quan dài hơn 2000 trang và rất khó để biết nội dung nào đang được sử dụng trong các dự án thực tế. Đây là bản tóm tắt hay về các tính năng thực tế của kiến ​​trúc Armv8-A mà các nhà phát triển mới cần biết.

3⃣ Giới thiệu về các nghiên cứu tình huống khác nhau

Chúng tôi sẽ đề cập đến cốt lõi của kiến ​​trúc Arm và cách tiến hành công việc phát triển trong các dự án thực tế. Chúng tôi cũng giải thích nhiều nghiên cứu điển hình (vấn đề thực tế của dự án) về cách áp dụng những kiến ​​thức đã học vào các dự án thực tế. Chúng tôi cũng đề cập đến hạt nhân Linux và bộ nạp khởi động triển khai các tính năng chính của kiến ​​trúc Arm.


Nếu bạn hoàn thành khóa học này, bạn sẽ có thể trở thành một nhà phát triển phần mềm hệ thống nâng cao.

Chúng tôi mong muốn bạn thăng tiến trong sự nghiệp với mức lương và vị trí cao hơn.

Tìm hiểu về những điều này 📕

Bài viết này giới thiệu về bộ xử lý Arm đồng thời giải thích quá trình phát triển chất bán dẫn hệ thống. Nó cũng giới thiệu các tính năng cơ bản tạo nên kiến ​​trúc Armv8-A.

Mô tả cấu trúc của thanh ghi và cung cấp nhiều ví dụ khác nhau về cách sử dụng thanh ghi.

Mô tả các thanh ghi đặc biệt và bao gồm luồng thực thi trong đó chúng được sửa đổi.

Chúng tôi giới thiệu quy trình khởi động và giải thích cách sử dụng hướng dẫn lắp ráp trong các dự án thực tế. Tiếp theo, chúng ta phân tích định dạng cơ bản và các lệnh thông thường của lệnh lắp ráp.


Nó phân tích các hướng dẫn lắp ráp một cách chi tiết theo nhiều cách khác nhau và giải thích cú pháp của các hướng dẫn một cách dễ hiểu.


Gỡ lỗi hướng dẫn lắp ráp bằng TRACE32, một chương trình gỡ lỗi thực tế. Chúng ta sẽ đi sâu vào cách sử dụng thanh ghi khi phân tích các hướng dẫn lắp ráp.

Giải thích các khái niệm về mức độ ngoại lệ và mức độ đặc quyền theo cách dễ hiểu.

Giải thích cách phần mềm thực thi ở các mức ngoại lệ khác nhau thông qua nhiều ví dụ khác nhau.

Phần này trình bày chi tiết cách thiết lập mức ngoại lệ trong quá trình khởi động. Giải thích cách kiểm tra mức độ ngoại lệ bằng cách sử dụng hướng dẫn lắp ráp.

Nó trình bày chi tiết bảng vectơ ngoại lệ và luồng thực thi thông qua đó các ngoại lệ được xử lý.

Ngắt được xử lý như một loại ngoại lệ trong kiến ​​trúc Armv8-A. Một lời giải thích đơn giản về cách xử lý các ngoại lệ ngắt IRQ thông qua nhiều luồng thực thi khác nhau.

Mô tả quá trình ngoại lệ được kích hoạt trong quá trình thực hiện lệnh gọi hệ thống. Nó cũng mô tả luồng thực thi các ngoại lệ cùng với bảng vectơ ngoại lệ.

Bài thực hành gỡ lỗi TRACE32 trình bày chi tiết cách lõi Arm phân nhánh đến địa chỉ vectơ ngoại lệ khi ngoại lệ được kích hoạt.

Mô tả các khái niệm cốt lõi cơ bản và luồng thực thi cho AAPCS, chỉ rõ cách phân nhánh thành các chương trình con như hàm.

Chúng tôi sẽ giải thích cách sử dụng ngăn xếp theo góc độ phần mềm và cung cấp các biện pháp tối ưu hóa có thể áp dụng trực tiếp vào các dự án thực tế.


Giải thích dễ hiểu về các khái niệm cốt lõi (thế giới không an toàn, thế giới an toàn) và luồng thực thi của TrustZone.

Giải thích nguyên lý hoạt động của lệnh gọi giám sát an toàn với thực hành gỡ lỗi TRACE32. Phần này mô tả chi tiết hành vi nhập EL3 khi thực hiện lệnh SMC trong EL1 và cũng phân tích chi tiết hành vi của các ngoại lệ xảy ra trong quá trình này.

Phần này giải thích cấu trúc và chức năng ảo hóa của chương trình quản lý ảo, được sử dụng rộng rãi trong phát triển xe điện (Ô tô).

Phần này giải thích quá trình nhập chương trình quản lý ảo từ hệ điều hành khách thông qua lệnh gọi chương trình quản lý ảo, đây là cốt lõi của kỹ thuật ảo hóa. Nó cũng mô tả luồng thực thi để tiếp nhận và xử lý các ngoại lệ từ trình quản lý ảo.


Thực hành gỡ lỗi TRACE32 giải thích chi tiết hoạt động nhập EL2 (trình quản lý ảo) bằng cách thực hiện các lệnh HVC trong EL1 (hệ điều hành khách). Nó cũng giải thích một cách đơn giản về cách các ngoại lệ được kích hoạt trong quá trình này hoạt động.

Giải thích các khái niệm cơ bản về bộ nhớ đệm và cung cấp lời giải thích dễ hiểu về cấu trúc cơ bản và chính sách của bộ nhớ đệm đa cấp.


Giải thích dễ hiểu về mô hình bộ nhớ và rào cản bộ nhớ.

Mô tả các thành phần tạo nên hệ thống bộ nhớ ảo và luồng thực thi thông qua đó các địa chỉ ảo được xử lý.

Dựa trên kinh nghiệm viết sách và giảng bài của tôi
Sâu sắc và chi tiết hơn bất kỳ ai khác!

Chưa từng có trong lĩnh vực phần mềm hệ thống trong nước! Tôi là tác giả của các cuốn sách 'Arm Architecture (Armv8-A, Armv7-A)' và 'Linux Kernel' . Ông cũng là một nhà phát triển có hiểu biết sâu sắc nhất về các xu hướng phần mềm hệ thống mới nhất (xe điện, hệ thống bán dẫn - phần mềm hệ thống) và là một nhà giáo dục tích cực nhất trong việc truyền bá kiến ​​thức trong lĩnh vực phần mềm hệ thống.

  • Tác giả của 'Cấu trúc và nguyên tắc của kiến ​​trúc Arm cho phát triển phần mềm hệ thống' ( 2024, Giải thưởng sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc )

  • Tác giả của 'Learning the Structure and Principles of the Linux Kernel through Debugging' ( Giải thưởng Sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc năm 2021 )

  • 'Khóa học dành cho lập trình viên: Chuyên gia về hệ thống và hạt nhân Linux' Giảng viên chính (buổi 1 và 2)

  • Tháng 6 năm 2022, Hội nghị máy tính Hàn Quốc (KCC2022) - Bài thuyết trình hướng dẫn [Chinh phục hạt nhân Linux bằng ftrace]

  • Giảng viên nội bộ về 'Linux Kernel' và 'Armv8 Architecture' của LG Electronics ( bao gồm các nhà phát triển trong và ngoài nước ) - (2020~2024)

Tôi có thể tự tin khẳng định rằng tôi là nhà giáo dục có thể giải thích các tính năng chính của kiến ​​trúc Armv8-A tốt hơn bất kỳ ai khác ở Hàn Quốc.

Đánh giá khóa học sống động được để lại bởi học viên

<Cấu trúc và nguyên tắc của kiến ​​trúc Arm cho phát triển phần mềm hệ thống - Phần 1/2 Bài giảng của tác giả>

Những điều cần lưu ý trước khi tham gia lớp học

Kiến thức và ghi chú của người chơi

  • Bài giảng này có thể được theo dõi mà không cần bất kỳ kiến ​​thức nào trước đó .

  • Biết được cấu trúc của hệ điều hành và máy tính sẽ giúp bạn hiểu bài giảng.

  • Trong bài giảng này, chúng tôi giả định rằng bạn biết ngữ pháp cơ bản của ngôn ngữ C và giới thiệu cũng như giải thích mã ví dụ.

  • Chương trình TRACE32 được sử dụng trong bài giảng này không được cung cấp.

    Nếu bạn muốn tải xuống chương trình thực hành giáo dục TRACE32 và hướng dẫn lắp ráp gỡ lỗi chi tiết, hãy tham khảo bài giảng do tác giả hướng dẫn về cấu trúc và nguyên tắc của kiến ​​trúc Arm để phát triển phần mềm hệ thống phân tán - Phần 1/2.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Một nhà phát triển trẻ muốn nâng cao năng lực trong lĩnh vực phần mềm hệ thống, bao gồm chất bán dẫn hệ thống (fabless), lĩnh vực xe điện (tự lái, hệ thống thông tin giải trí).

  • Lập trình viên từ các lĩnh vực khác muốn chuyển đổi sự nghiệp sang lĩnh vực phần mềm hệ thống.

  • Tôi là sinh viên mới tốt nghiệp muốn phát triển phần mềm hệ thống trong lĩnh vực bán dẫn hệ thống (fabless) và xe điện.

  • Sinh viên đại học có mục tiêu học lên cao học chuyên ngành phần mềm hệ thống (bộ nhớ, hệ thống tập tin, hệ điều hành).

  • Tôi là một nhà phát triển phần mềm hệ thống (bán dẫn hệ thống, xe điện) muốn biết cách gỡ lỗi trong thực tế bằng cách tận dụng các tính năng của kiến trúc Arm.

Cần biết trước khi bắt đầu?

  • Vi xử lý

  • CPU

  • Nhúng

  • Ngôn ngữ C

  • Hệ điều hành

  • Kiến trúc máy tính

Xin chào
Đây là

5,556

Học viên

156

Đánh giá

85

Trả lời

4.9

Xếp hạng

21

Các khóa học

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

강의문의 : austindh.kim@gmail.com

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

Chương trình giảng dạy

Tất cả

71 bài giảng ∙ (8giờ 31phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

1 đánh giá

5.0

1 đánh giá

  • wjdrbs09140521님의 프로필 이미지
    wjdrbs09140521

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    The explanations are detailed, and I really appreciate that you provide simple examples for each difficult topic.

    1.165.874 ₫

    Khóa học khác của austinkim

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!