亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

計算機組成教程:從零開始的入門指南

概述

计算机组成教程介绍了计算机各个硬件部分的结构和工作方式,涵盖了中央处理器(CPU)、内存、输入/输出设备(I/O设备)以及其他组件的功能。通过学习这些内容,可以更好地理解计算机内部的工作原理,对于设计、优化和解决问题具有重要意义。

计算机组成基础概念

计算机组成是指计算机各个硬件部分的结构和它们的工作方式。了解计算机组成的基础概念有助于理解计算机内部的工作原理,对于设计、优化以及解决问题具有重要意义。

什么是计算机组成

计算机组成是指计算机系统的物理结构及其功能。计算机系统可以分为硬件和软件两部分,硬件是计算机的物理实体,包括中央处理器(CPU)、内存、输入/输出设备(I/O设备)等;软件是运行在硬件上的各种程序,包括操作系统、应用程序等。计算机硬件的组成和结构决定了计算机可以支持的功能和性能。

计算机的基本组成部分

计算机的基本组成部分包括中央处理器(CPU)、内存(存储器)、输入/输出设备(I/O设备)和其他组件如总线系统、电源、机箱等。

  • 中央处理器(CPU):CPU是计算机的大脑,负责执行程序中的指令,进行数据处理和控制整个计算机系统的操作。
  • 内存(存储器):内存是计算机用来存储数据和程序的地方,分为随机存取存储器(RAM)和只读存储器(ROM)。
  • 输入/输出设备(I/O设备):包括键盘、鼠标、显示器、打印机等,用于计算机与用户之间的信息交换。
  • 总线系统:总线是连接计算机各部分的路径,负责数据、地址和控制信号的传输。
  • 电源:为计算机提供必要的电力,确保所有组件正常工作。
  • 机箱:用于容纳和保护计算机内部的各个组件。

计算机主要部件的功能介绍

  1. 中央处理器(CPU):CPU负责解释和执行计算机指令。它包含控制单元(CU)和算术逻辑单元(ALU)。控制单元负责读取指令并解释指令,而算术逻辑单元则执行算术运算和逻辑运算。
  2. 内存(存储器):内存分为RAM和ROM。RAM是一种易失性存储器,用于临时存储正在运行的程序和数据。一旦断电,RAM中的数据就会丢失。ROM是一种非易失性存储器,可以永久地存储数据和程序代码。
  3. 输入/输出设备(I/O设备):用于与用户交互。输入设备包括键盘、鼠标、扫描仪等,用于从用户获取输入数据。输出设备包括显示器、打印机等,用于向用户显示或输出结果。
  4. 总线系统:总线系统负责连接计算机的各个部件,包括数据总线、地址总线和控制总线。数据总线用于传输数据,地址总线用于定位存储器地址,控制总线用于控制信号传输。
  5. 电源:电源为计算机的各个部件提供稳定的电力供应,确保计算机能够正常运行。
  6. 机箱:机箱是计算机的外壳,用于容纳内部组件,同时提供散热和保护功能。

通过了解这些组成部分及其功能,可以更好地理解计算机的内部工作原理,有助于进行系统优化和故障排除。

中央处理器(CPU)

中央处理器(CPU)是计算机的核心部件,负责执行指令和控制计算机系统,是计算机的“大脑”。了解CPU的结构和工作原理对于理解计算机系统的性能和效率至关重要。

CPU的结构和工作原理

CPU由多个组件构成,包括控制单元(CU)、算术逻辑单元(ALU)、寄存器组、缓存、指令解码器等。

  1. 控制单元(CU):控制单元负责从内存读取指令并解释指令。它控制CPU的执行流程,包括取指、译码、执行、写回等操作。
  2. 算术逻辑单元(ALU):算术逻辑单元负责执行算术运算(如加法、减法、乘法和除法)和逻辑运算(如位与、位或、位异或和位移操作)。
  3. 寄存器组:寄存器是CPU内部的高速存储区域,用于临时存储数据和指令。常用的寄存器包括程序计数器(PC)、指令寄存器(IR)、通用寄存器、状态寄存器等。
  4. 缓存(Cache):缓存是高速存储器,用于存储频繁访问的数据,减少内存访问延迟,提高数据访问速度。
  5. 指令解码器:指令解码器负责将从内存读取的机器码指令转换为CPU能够理解的形式,并生成控制信号以执行指令。

流水线技术与并行处理

流水线技术通过将指令的执行过程分解为多个阶段并行执行,提高CPU的执行效率。

  • 流水线阶段:典型的流水线包括多个阶段,如取指(Fetch)、译码(Decode)、执行(Execute)、存储(Memory)和写回(Write Back)。
  • 并行处理:通过流水线技术,CPU可以在不同阶段同时执行多个指令,从而提高整体执行效率。

CPU性能指标及其意义

CPU性能指标包括时钟频率(Clock Speed)、指令集架构(ISA, Instruction Set Architecture)、缓存大小、并行处理能力等。

  1. 时钟频率:时钟频率表示CPU每秒执行的时钟周期数,通常以Hz(赫兹)为单位。较高的时钟频率意味着CPU可以更快地执行指令。
  2. 指令集架构:指令集架构定义了CPU可以执行的指令集,包括指令格式、寻址方式和数据类型等。常见的ISA包括x86、ARM、RISC等。
  3. 缓存大小:缓存大小反映了CPU内部存储数据的能力。较大的缓存可以减少内存访问延迟,提高数据访问速度。
  4. 并行处理能力:通过并行处理技术,CPU可以在多个核心上并行执行指令,提升整体执行效率。例如,多核心CPU可以在每个核心上同时执行不同的指令。

存储器系统

存储器系统是计算机的重要组成部分,负责存储数据和程序。了解存储器系统的结构和功能有助于优化计算机性能和数据管理。

内存与外存的区别

内存(主存储器)和外存(辅助存储器)是两种不同的存储类型,具有不同的特点和用途。

  1. 内存
    • 特点:内存是位于主板上的随机存取存储器(RAM),用于存储运行中的程序和数据。
    • 功能:提供高速的数据访问,支持程序的快速执行和数据的即时访问。
    • 分类:主要包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。
  2. 外存
    • 特点:外存包括硬盘、固态硬盘(SSD)、USB闪存驱动器等,用于长期保存数据。
    • 功能:提供持久的数据存储,即使在断电后数据也不会丢失,适合存储操作系统、应用程序和用户数据。
    • 分类:硬盘(HDD)和固态硬盘(SSD)是最常见的外存类型。

存储器的分类与功能

存储器可以分为随机存取存储器(RAM)和只读存储器(ROM)。

  1. 随机存取存储器(RAM)
    • 特点:RAM是一种易失性存储器,断电后数据会丢失。它允许随机访问存储器中的任何位置。
      ."功能":用于存储运行中的程序和数据,支持程序的快速读写操作。
    • 分类:DRAM(Dynamic RAM)和SRAM(Static RAM)是最常见的RAM类型。
  2. 只读存储器(ROM)
    • 特点:ROM是一种非易失性存储器,断电后数据不会丢失。它主要用于存储固定的程序代码和数据。
    • 功能:用于存储操作系统、固件等固定不变的数据。
    • 分类:PROM(可编程ROM)、EPROM(可擦可编程ROM)、EEPROM(电可擦可编程ROM)、闪存(Flash Memory)是常见的ROM类型。

存储器的容量单位与转换

存储器的容量单位包括比特(bit)、字节(Byte)、千字节(KB)、兆字节(MB)、吉字节(GB)等。

  • 转换关系:1 Byte = 8 bits,1 KB = 1024 Bytes,1 MB = 1024 KB,1 GB = 1024 MB。
  • 示例代码
    
    def convert_bytes_to_gb(bytes):
    return bytes / (1024 * 1024 * 1024)

bytes = 1073741824 # 1 GB
gb = convert_bytes_to_gb(bytes)
print(f"{bytes} bytes is equal to {gb} GB")


通过了解存储器的分类、功能和容量单位,可以更好地管理计算机的内存和外存,优化数据存储和访问效率。

### 输入输出系统(I/O)

输入输出系统(I/O)是计算机系统与外部设备交互的重要组成部分。了解I/O系统的功能、设备驱动和接口技术,有助于提升计算机的用户体验和数据处理效率。

#### I/O设备的类型与功能

输入/输出设备(I/O设备)是计算机与用户或外部设备进行信息交换的工具。常见的I/O设备包括键盘、鼠标、显示器、打印机、扫描仪和网络适配器等。

1. **输入设备**:
   - **键盘**:用于输入文本和命令。
   - **鼠标**:用于选择和操作屏幕上的元素。
   - **扫描仪**:用于将纸质文档转换为数字图像。
   - **摄像头**:用于捕获图像和视频。
2. **输出设备**:
   - **显示器**:用于显示计算机生成的图像和文本。
   - **打印机**:用于将数据输出为纸质文档。
   - **扬声器**:用于播放音频。
   - **投影仪**:用于将图像投影到屏幕上。

#### 设备驱动与接口技术

设备驱动(Device Driver)是操作系统和硬件设备之间的桥梁,负责控制和管理特定设备的操作。接口技术则定义了设备如何与计算机系统进行通信。

1. **设备驱动**:
   - **功能**:设备驱动程序提供了一种抽象层,使操作系统能够理解和控制特定设备。通过设备驱动,操作系统可以执行设备相关的操作,如读写数据、控制设备状态等。
   - **示例代码**:以下是一个简单的设备驱动程序示例,用于读取一个字符设备文件的数据。
     ```c
     #include <linux/module.h>
     #include <linux/kernel.h>
     #include <linux/fs.h>
     #include <linux/uaccess.h>
     #include <linux/cdev.h>
     #include <linux/device.h>

     static dev_t char_device_number;
     static struct cdev char_device;
     static struct class *char_device_class;

     static int char_open(struct inode *inode, struct file *file) {
         return 0;
     }

     static int char_release(struct inode *inode, struct file *file) {
         return 0;
     }

     static ssize_t char_read(struct file *file, char __user *buffer, size_t count, loff_t *offset) {
         char *data = "Hello, World!";
         copy_to_user(buffer, data, strlen(data));
         return strlen(data);
     }

     static ssize_t char_write(struct file *file, const char __user *buffer, size_t count, loff_t *offset) {
         char data[100];
         copy_from_user(data, buffer, count);
         return count;
     }

     static const struct file_operations char_fops = {
         .owner = THIS_MODULE,
         .read = char_read,
         .write = char_write,
         .open = char_open,
         .release = char_release
     };

     static int __init char_init(void) {
         alloc_chrdev_region(&char_device_number, 0, 1, "char_device");
         cdev_init(&char_device, &char_fops);
         cdev_add(&char_device, char_device_number, 1);
         char_device_class = class_create(THIS_MODULE, "char_device_class");
         device_create(char_device_class, NULL, char_device_number, NULL, "char_device");
         return 0;
     }

     static void __exit char_exit(void) {
         device_destroy(char_device_class, char_device_number);
         class_destroy(char_device_class);
         cdev_del(&char_device);
         unregister_chrdev_region(char_device_number, 1);
     }

     module_init(char_init);
     module_exit(char_exit);
     MODULE_LICENSE("GPL");
  1. 接口技术

    • 功能:接口技术定义了设备如何与计算机系统进行通信。常见的接口技术包括USB、HDMI、PCI等。
    • 示例代码:以下是一个简单的USB设备驱动程序示例,用于读取USB设备的数据。

      #include <linux/module.h>
      #include <linux/kernel.h>
      #include <linux/usb.h>
      
      static int usb_probe(struct usb_interface *intf, const struct usb_device_id *id) {
       printk(KERN_INFO "USB device detected\n");
       return 0;
      }
      
      static void usb_disconnect(struct usb_interface *intf) {
       printk(KERN_INFO "USB device disconnected\n");
      }
      
      static struct usb_device_id usb_device_ids[] = {
       { USB_DEVICE(0x1234, 0x5678) },
       { }
      };
      
      static struct usb_driver usb_driver = {
       .name = "usb_driver",
       .probe = usb_probe,
       .disconnect = usb_disconnect,
       .id_table = usb_device_ids,
      };
      
      static int __init usb_init(void) {
       return usb_register(&usb_driver);
      }
      
      static void __exit usb_exit(void) {
       usb_deregister(&usb_driver);
      }
      
      module_init(usb_init);
      module_exit(usb_exit);
      MODULE_LICENSE("GPL");

通过设备驱动程序和接口技术,可以实现设备的高效管理和数据传输,提高计算机的用户体验和数据处理效率。

总线系统

总线系统是计算机内部连接各个部件的路径,负责数据、地址和控制信号的传输。了解总线系统的定义、分类和传输方式,有助于深入了解计算机内部的通信机制。

总线的定义与分类

总线是计算机系统内部连接各个部件的路径,分为数据总线、地址总线和控制总线。

  1. 数据总线(Data Bus)

    • 功能:用于传输数据,支持数据在CPU和其他组件之间的传递。
    • 示例代码:以下是一个简单的数据总线示例,用于传输数据。

      #include <stdio.h>
      
      void data_bus_transfer(unsigned char data[]) {
       for (int i = 0; i < 10; i++) {
           printf("Data Bus: %d\n", data[i]);
       }
      }
      
      int main() {
       unsigned char data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
       data_bus_transfer(data);
       return 0;
      }
  2. 地址总线(Address Bus)

    • 功能:用于传输地址信息,支持CPU访问内存地址。
    • 示例代码:以下是一个简单的地址总线示例,用于传输地址。

      #include <stdio.h>
      
      void address_bus_transfer(unsigned int address) {
       printf("Address Bus: %x\n", address);
      }
      
      int main() {
       unsigned int address = 0x12345678;
       address_bus_transfer(address);
       return 0;
      }
  3. 控制总线(Control Bus)

    • 功能:用于传输控制信号,支持控制数据传输和操作。
    • 示例代码:以下是一个简单的控制总线示例,用于传输控制信号。

      #include <stdio.h>
      
      void control_bus_transfer(int signal) {
       if (signal == 0) {
           printf("Control Bus: Read Operation\n");
       } else if (signal == 1) {
           printf("Control Bus: Write Operation\n");
       } else {
           printf("Control Bus: Idle\n");
       }
      }
      
      int main() {
       int signal = 1;
       control_bus_transfer(signal);
       return 0;
      }

总线的传输方式与特点

总线的传输方式主要有同步传输和异步传输两种。

  1. 同步传输(Synchronous Transmission)

    • 特点:同步传输使用时钟信号进行数据传输,确保数据传输的准确定时。
    • 示例代码:以下是一个简单的同步传输示例,用于传输数据。

      #include <stdio.h>
      #include <unistd.h>
      
      void sync_transfer(unsigned char data[], int clock) {
       for (int i = 0; i < 10; i++) {
           printf("Clock: %d, Data: %d\n", clock, data[i]);
           sleep(1);
           clock++;
       }
      }
      
      int main() {
       unsigned char data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
       int clock = 0;
       sync_transfer(data, clock);
       return 0;
      }
  2. 异步传输(Asynchronous Transmission)

    • 特点:异步传输不使用时钟信号进行数据传输,通过额外的数据位进行同步。
    • 示例代码:以下是一个简单的异步传输示例,用于传输数据。

      #include <stdio.h>
      #include <unistd.h>
      
      void async_transfer(unsigned char data[], int parity) {
       for (int i = 0; i < 10; i++) {
           printf("Data: %d, Parity: %d\n", data[i], parity);
           sleep(1);
           parity++;
       }
      }
      
      int main() {
       unsigned char data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
       int parity = 0;
       async_transfer(data, parity);
       return 0;
      }

通过了解总线系统的定义、分类和传输方式,可以更好地理解计算机内部的通信机制和数据传输过程,有助于优化系统性能和提高数据传输效率。

总线标准与兼容性问题

总线标准定义了总线的电气特性、协议和接口,确保不同组件之间的兼容性和互操作性。常见的总线标准包括ISA(Industry Standard Architecture)、PCI(Peripheral Component Interconnect)、PCIe(PCI Express)、USB(Universal Serial Bus)等。

  1. ISA总线

    • 特点:ISA是较早的总线标准,主要用于早期的PC机。它是一种非同步传输方式,传输速度较慢。
    • 兼容性:ISA总线的兼容性较差,无法扩展到现代高性能计算机中。
    • 示例代码:以下是一个简单的ISA总线兼容性示例,用于展示如何解决兼容性问题。

      #include <stdio.h>
      #include <string.h>
      
      void isa_compatibility_check(void) {
       printf("ISA bus is not compatible with modern systems\n");
       printf("Use an adapter or bridge to connect ISA devices to modern systems\n");
      }
      
      int main() {
       isa_compatibility_check();
       return 0;
      }
  2. PCI总线
    • 特点:PCI总线是一种高性能的同步传输方式,支持高速数据传输和设备扩展。
    • 兼容性:PCI总线的兼容性较好,可以支持多种设备,如显卡、声卡、网络适配器等。
  3. PCIe总线

    • 特点:PCIe总线是PCI总线的升级版本,采用串行方式传输数据,支持更高带宽和更高速度。
    • 兼容性:PCIe总线的兼容性较强,支持多种设备,包括GPU、SSD等。
    • 示例代码:以下是一个简单的PCIe总线兼容性示例,用于展示如何解决兼容性问题。

      #include <stdio.h>
      #include <string.h>
      
      void pci_express_compatibility_check(void) {
       printf("PCIe bus can support modern devices\n");
       printf("Use compatible hardware and drivers for PCIe devices\n");
      }
      
      int main() {
       pci_express_compatibility_check();
       return 0;
      }
  4. USB总线

    • 特点:USB总线是一种低带宽的同步传输方式,主要用于连接外部设备,如键盘、鼠标、USB闪存驱动器等。
    • 兼容性:USB总线的兼容性较强,支持多种设备,具有即插即用功能。
    • 示例代码:以下是一个简单的USB总线兼容性示例,用于展示如何解决兼容性问题。

      #include <stdio.h>
      #include <string.h>
      
      void usb_compatibility_check(void) {
       printf("USB bus is widely compatible and supports various devices\n");
       printf("Use compatible USB drivers and ensure proper connection\n");
      }
      
      int main() {
       usb_compatibility_check();
       return 0;
      }

兼容性问题在总线标准中非常重要。兼容性问题通常涉及不同标准之间的互操作性、设备之间的兼容性以及新旧标准的过渡问题。为解决兼容性问题,可以采用以下方法:

  1. 标准化:制定统一的总线标准,确保不同厂商和设备之间的兼容性。
  2. 适配器:使用适配器将不同标准的设备连接到计算机。
  3. 桥接器:使用桥接器将不同标准的总线连接在一起,实现互操作性。
  4. 驱动程序:编写驱动程序以支持新标准的设备,确保设备能够正常工作。

通过了解总线标准和兼容性问题,可以更好地选择和配置计算机组件,确保系统的兼容性和互操作性。

实践与案例分析

了解计算机组成理论知识后,实际操作和案例分析可以帮助加深理解,提高解决问题的能力。以下是一些常见的实践示例和案例分析。

计算机组装与调试技巧

计算机组装和调试是将硬件组件组合成完整的计算机系统的过程。组装过程中需要注意以下几个方面:

  1. 确保静电防护
    • 使用防静电手环或触摸金属物体,避免静电放电损坏敏感的电子组件。
  2. 检查硬件兼容性
    • 确保所有组件相容,例如主板支持的CPU类型、内存规格、扩展卡等。
  3. 正确安装硬件
    • 在安装CPU时,确保其插槽与主板上的插槽匹配,并正确固定。
    • 在安装内存时,确保插槽与内存条的金手指对齐。
    • 在安装扩展卡时,确保卡与主板插槽匹配,并使用合适的螺丝固定。

常见问题解决方法

在组装和使用计算机过程中,可能会遇到各种问题。以下是一些常见的问题及解决方法:

  1. 计算机无法启动

    • 电源连接问题:检查电源线是否正确连接到主板和电源。
    • CPU安装问题:检查CPU是否正确安装在主板插槽上。
    • 内存安装问题:检查内存是否正确插入主板插槽。
    • BIOS设置问题:检查BIOS设置是否正确配置,如启动顺序、内存频率等。
    • 示例代码:以下是一个简单的BIOS设置示例,用于设置正确的启动顺序。

      #include <stdio.h>
      
      void configure_bios(void) {
       printf("Set boot order in BIOS settings\n");
       printf("Ensure hard drive is the first boot device\n");
      }
      
      int main() {
       configure_bios();
       return 0;
      }
  2. 计算机运行不稳定

    • 电源供应问题:检查电源供应是否稳定。
    • 内存兼容性问题:检查内存是否兼容。
    • 硬盘损坏问题:检查硬盘是否损坏。
    • 散热系统问题:检查散热系统是否正常工作。
    • 示例代码:以下是一个简单的散热系统检查示例,用于确保散热系统正常工作。

      #include <stdio.h>
      
      void check_cooling_system(void) {
       printf("Ensure CPU cooling system is functioning properly\n");
       printf("Check for any blockages or dust accumulation\n");
      }
      
      int main() {
       check_cooling_system();
       return 0;
      }
  3. 硬件组件损坏

    • 安装问题:检查是否安装正确。
    • 物理损坏:检查是否有物理损坏。
    • 驱动程序问题:检查是否使用了正确的驱动程序。
    • 示例代码:以下是一个简单的硬件驱动程序检查示例,用于确保正确安装驱动程序。

      #include <stdio.h>
      
      void check_device_drivers(void) {
       printf("Ensure compatible drivers are installed for all hardware components\n");
       printf("Update drivers if necessary\n");
      }
      
      int main() {
       check_device_drivers();
       return 0;
      }

案例分析与学习总结

通过实际案例分析,可以更好地理解和应用计算机组成知识。例如,以下是一个关于计算机组装和调试的案例:

案例背景
用户购买了一套新的计算机组件,包括Intel Core i7处理器、ASUS主板、16GB DDR4内存和NVMe SSD硬盘。在组装完成后,计算机无法正常启动。

问题分析

  1. 电源连接问题:检查电源线是否正确连接到主板和电源。
  2. CPU安装问题:检查CPU是否正确安装在主板插槽上。
  3. 内存安装问题:检查内存是否正确插入主板插槽。
  4. BIOS设置问题:检查BIOS设置是否正确配置,如启动顺序、内存频率等。

解决方案

  1. 重新检查电源连接:确保电源线紧固,连接到主板的24针电源插头和CPU的8针电源插头。
  2. 检查CPU安装:确保CPU安装在主板插槽上,金属触点与插槽对齐,然后轻轻按下CPU,并用螺丝固定到位。
  3. 检查内存安装:确保内存条插入主板内存插槽内,金手指与插槽对齐,轻轻按下内存条,直到卡槽咔嚓一声固定住。
  4. 调整BIOS设置:进入BIOS设置,检查启动顺序,确保硬盘为第一启动项。调整内存频率,确保与主板和内存条兼容。

学习总结
通过以上案例分析,可以总结出以下几点学习体会:

  1. 仔细检查每个步骤:组装过程中要仔细检查每个步骤,确保硬件安装正确。
  2. 了解硬件兼容性:确保所有硬件组件相容,例如主板支持的CPU类型、内存规格等。
  3. 检查BIOS设置:BIOS设置是计算机启动的关键,正确配置BIOS设置可以解决很多启动问题。
  4. 学习资料:通过阅读官方手册和在线资源,可以更好地了解硬件组件的安装和配置。

通过实际操作和案例分析,不仅可以更好地理解计算机组成知识,还可以提高实际问题解决能力。在组装和调试过程中,保持耐心,仔细检查每个步骤,确保所有组件正确安装和配置。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
PHP開發工程師
手記
粉絲
10
獲贊與收藏
56

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消