幫助中心 | 我的帳號 | 關於我們

電腦系統基礎(C語言視角RISC-V版慕課版高等學校信息技術人才能力培養系列教材)

  • 作者:編者:王浩然|責編:劉博
  • 出版社:人民郵電
  • ISBN:9787115565112
  • 出版日期:2022/10/01
  • 裝幀:平裝
  • 頁數:195
人民幣:RMB 59.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是一本向讀者介紹電腦系統的教材,可使讀者建立對電腦的系統級認識,從而理解C語言程序是如何在電腦中執行的。
    本書包括3個部分:第一部分(第1章?第3章)介紹電腦的基本工作原理,包括馮·諾依曼模型、電腦系統的抽象分層、數據在電腦中的表示和數字邏輯電路等;第二部分(第4章?第7章)介紹RISC-V電腦,包括RISC-V的基礎整數指令集RV32I、基本的RISC-V處理器、機器語言和彙編語言、子常式/子程序機制,以及簡單的輸入與輸出;第三部分(第8章?第10章)介紹C語言程序在電腦中是如何執行的,包括C函數在RISC-V電腦中的實現、指針和數組在RISC-V電腦中的實現,以及C函數、指針和數組在x86指令系統下的實現。
    本書適合電腦相關專業的初學者學習,讀者僅需要具備C語言程序設計基礎。本書可作為高等院校的教材,也可作為從事電腦軟體開發與應用的工程人員的參考書。

作者介紹
編者:王浩然|責編:劉博

目錄
第1章  電腦系統概述
  1.1  電腦與電腦系統
    1.1.1  通用電子數字電腦
    1.1.2  電腦系統
  1.2  馮·諾依曼模型
    1.2.1  存儲器
    1.2.2  處理單元
    1.2.3  控制單元
    1.2.4  I/O設備
  1.3  電腦系統的抽象分層
    1.3.1  程序
    1.3.2  語言處理
    1.3.3  操作系統
    1.3.4  指令集結構
    1.3.5  微處理器
    1.3.6  邏輯電路
    1.3.7  電子元件
  習題
第2章  數據的機器級表示
  2.1  位和數據類型
    2.1.1  信息的最小單位——位
    2.1.2  數據類型
  2.2  整數
    2.2.1  無符號整數
    2.2.2  有符號整數
    2.2.3  二進位補碼整數
    2.2.4  二進位一十進位轉換
    2.2.5  算術運算
  2.3  浮點數
  2.4  十六進位表示法
  2.5  ASCII
  2.6  C語言中的數據類型與二進位表示
    2.6.1  C語言中的數據類型
    2.6.2  數據類型轉換
    2.6.3  輸入和輸出的格式說明符
    2.6.4  十六進位字面常量
  習題
第3章  數字邏輯電路
  3.1  二進位邏輯運算
    3.1.1  與函數
    3.1.2  或函數
    3.1.3  非函數
    3.1.4  異或函數
    3.1.5  C語言的按位運算符
  3.2  晶體管
  3.3  門電路
    3.3.1  非門
    3.3.2  或非門、或門
    3.3.3  與門、與非門
  3.4  組合邏輯電路

    3.4.1  解碼器
    3.4.2  多路選擇器
    3.4.3  全加法器
    3.4.4  邏輯完備性
  3.5  基本存儲元件
    3.5.1  SR鎖存器
    3.5.2  門控D鎖存器
    3.5.3  寄存器
  3.6  時序邏輯電路
    3.6.1  有限狀態機
    3.6.2  示例:交通信號燈控制器
  3.7  存儲器
    3.7.1  地址空間
    3.7.2  定址能力
    3.7.3  一個4×2的存儲器
  習題
第4章  指令集結構
  4.1  RISC-V指令集結構
    4.1.1  內存
    4.1.2  寄存器
    4.1.3  CISC和RISC
    4.1.4  指令格式
  4.2  RV32I指令
    4.2.1  整數運算指令
    4.2.2  數據傳送指令
    4.2.3  示例:指令序列
    4.2.4  條件分支指令
    4.2.5  無條件跳轉指令
    4.2.6  示例:計算一列數之和
  4.3  RISC-V處理器
    4.3.1  數據通路
    4.3.2  控制器
  習題
第5章  機器語言與彙編語言
  5.1  機器語言程序設計
    5.1.1  結構化程序設計和控制指令
    5.1.2  機器語言程序示例
  5.2  彙編語言程序設計
    5.2.1  RISC-V彙編語言程序
    5.2.2  彙編語言指令
    5.2.3  彙編命令
    5.2.4  偽指令
  5.3  彙編過程
    5.3.1  兩趟掃描
    5.3.2  第一趟:構建符號表
    5.3.3  第二趟:生成機器語言程序
  5.4  從C程序到RISC
    5.4.1  從C程序到RISC-V示例
    5.4.2  switch語句的底層實現
    5.4.3  GNU工具鏈

  習題
第6章  子常式
  6.1  調用/返回機制
    6.1.1  jal/jalr指令
    6.1.2  示例:乘法運算
  6.2  子常式示例
    6.2.1  除法運算
    6.2.2  字元串逆序
    6.2.3  數據類型轉換
    6.2.4  寄存器的保存/恢復
  6.3  遞歸子常式
    6.3.1  示例:一個錯誤的Sn子常式
    6.3.2  棧——一種抽象數據類型
    6.3.3  示例:採用棧機制的Sn子常式
  習題
第7章  輸入和輸出
  7.1  自陷機制
    7.1.1  系統調用
    7.1.2  ecall/mret/csrrw指令
    7.1.3  操作系統自陷處理常式
  7.2  一個簡單的I/0設計
    7.2.1  匯流排結構
    7.2.2  I/O設備寄存器
    7.2.3  內存映射I/O
    7.2.4  非同步與同步
    7.2.5  輪詢
  7.3  操作系統服務常式
    7.3.1  輸入字元服務常式
    7.3.2  輸出字元服務常式
    7.3.3  輸入字元串服務常式
    7.3.4  輸出字元串服務常式
    7.3.5  寄存器的保存/恢復
  7.4  C語言中的I/O
    7.4.1  示例:一個輸入緩衝的例子
    7.4.2  I/O流
    7.4.3  getchar的底層實現
  習題
第8章  C函數的底層實現
  8.1  內存和寄存器的分配
    8.1.1  內存分配
    8.1.2  寄存器分配
    8.1.3  靜態數據區
    8.1.4  運行時棧
  8.2  函數調用過程
    8.2.1  棧幀
    8.2.2  函數調用約定
    8.2.3  寄存器的保存/恢復
  8.3  遞歸與循環
    8.3.1  運行時間
    8.3.2  棧溢出

  習題
第9章  C指針和數組的底層實現
  9.1  指針和數組的內存分配
    9.1.1  指針運算符的底層實現
    9.1.2  數組的底層實現
    9.1.3  數組和指針的關係
  9.2  參數傳遞:指針作參數
    9.2.1  示例1:一個錯誤的Swap函數
    9.2.2  示例2:使用指針的Swap函數
    9.2.3  示例3:一個錯誤使用指針的函數
  9.3  參數傳遞:數組名作參數
    9.3.1  示例1:BubbleSort函數在底層的實現
    9.3.2  示例2:StrCmp函數在底層的實現
    9.3.3  printf函數的參數傳遞
    9.3.4  scanf函數的參數傳遞
  9.4  編譯過程
    9.4.1  完整的編譯過程
    9.4.2  示例:HelloWorld.c的編譯過程
  習題
第10章  從RISC-V到×86
  10.1  x86指令集簡介
    10.1.1  寄存器
    10.1.2  指令格式
    10.1.3  常用指令
  10.2  從C到×86
    10.2.1  函數調用約定
    10.2.2  示例1:Swap函數在x86上的實現
    10.2.3  示例2:BubbleSort函數在x86上的實現
    10.2.4  示例3:編譯器與++/--運算符
  習題
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032