日韩欧美亚洲一区SWAG

  • <dd id="kgqm6"></dd>
  • <menu id="kgqm6"><tr id="kgqm6"></tr></menu>
  • 侵權投訴

    嵌入式Linux系統CPU控制常見辦法測試

    FPGA開發圈 ? 2020-11-26 14:17 ? 次閱讀

    01 測試環境?

    Xilinx ZCU106 單板
    Xilinx VCU TRD2020.1

    02 介紹

    嵌入式Linux系統中,Linux直接管理所有CPU。默認情況下,系統的目標是提高吞吐率,而不是實時性。為了保證實時性,可以根據應用場景,對CPU實行更加精確的控制。常見的辦法有,進程CPU隔離、CPU親和、中斷CPU親和、進程優先級。

    03 工具?

    嵌入式Linux系統中,一般使用busybox中的ps、top等工具。它們小巧,但是功能有限。如果需要更強大的工具,可以從Ubuntu文件系統ubuntu-base-20.04.1-base-arm64.tar.gz中提?。c擊"閱讀原文”查看鏈接)。

    本測試中,從Ubuntu文件系統提取了ps、top等工具,并改名為u-ps、u-top,以和busybox中的ps、top區別。

    04 CPU隔離

    Linux還是可能把一個進程調度到任意一個CPU上,從而導致普通進程影響實時進程的性能??梢圆捎肔inux內核的命令行參數isolcpus,實現CPU隔離,完全禁止Linux調度進程到某些CPU上,從而保證實時進程的響應時間。

    在U-Boot下,執行下列命令,可以使Linux不再調度進程到CPU2和CPU3上。

    setenv bootargs "earlycon clk_ignore_unused consoleblank=0 cma=1700M uio_pdrv_genirq.of_id=generic-uio isolcpus=2,3"

    Linux啟動后,可以通過命令“cat /proc/cmdline” 查看Linux內核的命令行參數。

    root@vcu_trd:~# cat /proc/cmdline earlycon clk_ignore_unused consoleblank=0 cma=1700M uio_pdrv_genirq.of_id=generic-uio isolcpus=2,3

    再使用Ubuntu文件系統中的ps工具的psr選項,查看系統所有進程運行的CPU。下面輸出的第二列,就是CPU號??梢钥吹?,大部分進程,運行在在CPU0和CPU1上。運行在CPU2和CPU3上的進程,都是通過taskset設置了CPU親和的進程。其中的u-ps是來自于軟件包[ubuntu-base-20.04.1-base-arm64.tar.gz]。

    root@vcu_trd:~# u-ps -axo pid,psr,cmd,ni PID PSR CMD NI 1 1 init 0 2 1 [kthreadd] 0 3 0 [rcu_gp] -20 4 0 [rcu_par_gp] -20 6 0 [kworker/0:0H-kblockd] -20 8 0 [mm_percpu_wq] -20 9 0 [ksoftirqd/0] 0 10 1 [rcu_sched] 0 11 0 [migration/0] - 12 0 [cpuhp/0] 0 13 1 [cpuhp/1] 0 14 1 [migration/1] - 15 1 [ksoftirqd/1] 0 17 1 [kworker/1:0H-kblockd] -20 18 2 [cpuhp/2] 0 19 2 [migration/2] - 20 2 [ksoftirqd/2] 0 21 2 [kworker/2:0-events] 0 22 2 [kworker/2:0H] -20 23 3 [cpuhp/3] 0 24 3 [migration/3] - 25 3 [ksoftirqd/3] 0 26 3 [kworker/3:0-events] 0 27 3 [kworker/3:0H] -20 28 0 [kdevtmpfs] 0 29 1 [netns] -20 30 1 [kauditd] 0 32 1 [oom_reaper] 0 33 0 [writeback] -20 34 1 [kcompactd0] 0 35 1 [khugepaged] 19 37 0 [kworker/0:1-events] 0 38 1 [kworker/u8:1-events_unboun 0 87 1 [kblockd] -20 88 0 [blkcg_punt_bio] -20 89 0 [edac-poller] -20 90 1 [watchdogd] - 91 1 [rpciod] -20 92 0 [kworker/u9:0] -20 93 1 [xprtiod] -20 94 1 [cfg80211] -20 95 1 [kswapd0] 0 96 1 [ecryptfs-kthrea] 0 97 0 [nfsiod] -20 100 0 [irq/60-a00d0000] - 107 1 [ion_system_heap] - 108 2 [irq/61-a00d1000] - 109 0 [kpktgend_0] 0 110 1 [kpktgend_1] 0 111 2 [kpktgend_2] 0 112 3 [kpktgend_3] 0 113 1 [ipv6_addrconf] -20 114 0 [krfcommd] -10 115 2 [kworker/2:1-events] 0 116 3 [kworker/3:1-events] 0 117 0 [kworker/0:2-events_power_e 0 118 0 [irq/47-fd4a0000] - 120 1 [scsi_eh_0] 0 121 1 [scsi_tmf_0] -20 122 1 [scsi_eh_1] 0 123 1 [scsi_tmf_1] -20 125 1 [spi0] 0 128 1 [sdhci] -20 129 0 [irq/41-mmc0] - 134 0 [mmc_complete] -20 135 0 [kworker/0:1H-mmc_complete] -20 165 1 [kworker/1:1H-kblockd] -20 181 0 /sbin/udevd -d 0 231 1 [irq/63-xilinx-v] - 238 1 [xilinx-hdmi-rx] -20 242 1 [irq/54-xilinx-h] - 246 1 [irq/52-xilinx-h] - 419 0 [irq/62-a0220000] - 420 2 [irq/62-a0200000] - 808 0 udhcpc -R -b -p /var/run/ud 0 815 1 /usr/bin/dbus-daemon --syst 0 818 0 /usr/sbin/haveged -w 1024 - 0 827 1 xinit /etc/X11/Xsession -- 0 831 0 /usr/bin/Xorg :0 -br -pn -1 836 1 matchbox-window-manager -th 0 841 1 dbus-launch --sh-syntax --e 0 842 1 /usr/bin/dbus-daemon --sysl 0 862 0 /usr/sbin/dropbear -r /etc/ 0 864 0 /usr/libexec/at-spi-bus-lau 0 874 0 /usr/libexec/gconfd-2 0 882 0 /usr/bin/dbus-daemon --conf 0 885 1 /usr/sbin/inetd 0 888 0 /usr/bin/settings-daemon 0 898 0 /sbin/syslogd -n -O /var/lo 0 901 0 /sbin/klogd -n 0 910 0 matchbox-desktop 0 911 0 matchbox-panel --start-appl 0 921 0 /usr/sbin/tcf-agent -d -L- 0 929 0 /bin/sh /bin/start_getty 11 0 930 0 /sbin/getty 38400 tty1 0 934 1 /usr/libexec/at-spi2-regist 0 940 1 /usr/sbin/console-kit-daemo 0 1025 0 /bin/login -- 0 1050 1 -sh 0 1055 0 /usr/sbin/dropbear -r /etc/ 0 1057 0 -sh 0 1063 0 /usr/sbin/dropbear -r /etc/ 0 1065 0 -sh 0 1071 0 top 0 7174 0 /usr/sbin/dropbear -r /etc/ 0 7176 0 -sh 0 22378 0 /usr/sbin/dropbear -r /etc/ 0 22380 0 -sh 0 22588 0 /usr/sbin/dropbear -r /etc/ 0 22590 0 -sh 0 22600 1 [kworker/1:0-events] 0 22601 1 [kworker/u8:0-events_unboun 0 22602 1 [kworker/1:2-events_power_e 0 22603 1 [kworker/u8:2-events_unboun 0 22606 0 u-ps -axo pid,psr,cmd,ni 0

    05 進程CPU親和

    設置進程CPU親和時,需要知道進程號(PID)。ps和top等工具,可以查看進程號(PID)。
    工具taskset可以查看和控制進程的CPU親和。通過‘-p選項,指定進程號(PID),可以查看對應進程的CPU親和。

    root@vcu_trd:~# taskset -p 815 pid 815's current affinity mask: 1

    采用如下腳本,可以檢查所有進程的CPU親和。

    #!/bin/sh u-ps -axo pid,psr,cmd,ni | grep -v "gst" | grep -v "xilinx" | grep -v "irq" | grep -v "kworker" | grep -v "grep" | grep -v "awk" | awk '{print $1}' > process_list.txt echo -e " Read process list file:" ; cat process_list.txt | while read line do # echo "CPU affinity for process ID: $line" taskset -p $line done

    Linux系統中進程數量繁多,也可以采用如下腳本,設置所有進程的CPU親和。

    #!/bin/sh u-ps -axo pid,psr,cmd,ni | grep -v "grep" | grep -v "awk" | awk '{print $1}' > process_list.txt cat process_list.txt | while read line do echo -e " Check process ID: $line" if [ $line -gt 500 ]; then # echo "Original CPU affinity for process ID: $line" # taskset -p $line echo "Set priority for process ID: $line" taskset -a -p 1 $line # echo "New CPU affinity for process ID: $line" # taskset -p $line fi done

    對于新的任務,可以在啟動時,就指定進程CPU親和。taskset的幫助信息如下:

    taskset [options] [mask | cpu-list] [pid|cmd [args...]]

    如果要指定進程CPU親和,可以采用下列命令啟動新的任務。

    taskset -a cpu-list cmd

    比如以命令“ taskset -a 8 top”執行top,可以看到它確實運行在CPU-3上。

    root@vcu_trd:~# u-ps -axo pid,psr,cmd,ni | grep top | grep -v grep | grep -v match 22629 3 top

    06 中斷CPU親和

    默認情況下,Linux使用CPU0處理普通外設的中斷。通過更改/proc/irq/irq_number/smp_affinity,可以改變處理中斷的CPU。也可以查看/proc/interrupts,顯示系統中各個CPU處理的中斷數量。

    Linux系統中的中斷也很多,也可以采用如下腳本,設置所有中斷的CPU親和。中斷和CPU的對應關系,可以根據場景更改。

    #!/bin/sh cat /proc/interrupts > interrupts_list_all.txt cat /proc/interrupts | grep -v "CPU" | grep -v "IPI" | grep -v "Err" | awk '{print $1}' > interrupts_list.txt echo -e " Read interrupts list file:" ; cat interrupts_list.txt | while read line do # remove colon : line_new=${line/:/} echo -e " Check interrupt: $line_new" ls -l -h /proc/irq/$line_new/smp_affinity # 48: GICv2 122 Level xilinx_framebuffer # 52: GICv2 123 Level xilinx-hdmi-rx # 54: GICv2 125 Level xilinx-hdmitxss # 55: GICv2 127 Level xlnx-mixer # 61: GICv2 139 Level a00d1000.sync_ip # 62: GICv2 128 Level a0200000.al5e, a0220000.al5d # 63: GICv2 124 Level xilinx-vphy if [ $line_new -eq 48 ]; then echo -e " Set CPU:1 affinity for interrupt: $line_new" echo 2 > /proc/irq/$line_new/smp_affinity elif [ $line_new -eq 52 ]; then echo -e " Set CPU:1 affinity for interrupt: $line_new" echo 2 > /proc/irq/$line_new/smp_affinity elif [ $line_new -eq 54 ]; then echo -e " Set CPU:1 affinity for interrupt: $line_new" echo 2 > /proc/irq/$line_new/smp_affinity elif [ $line_new -eq 55 ]; then echo -e " Set CPU:1 affinity for interrupt: $line_new" echo 2 > /proc/irq/$line_new/smp_affinity elif [ $line_new -eq 61 ]; then echo -e " Set CPU:2 affinity for interrupt: $line_new" echo 4 > /proc/irq/$line_new/smp_affinity elif [ $line_new -eq 62 ]; then echo -e " Set CPU:2 affinity for interrupt: $line_new" echo 4 > /proc/irq/$line_new/smp_affinity elif [ $line_new -eq 63 ]; then echo -e " Set CPU:2 affinity for interrupt: $line_new" echo 2 > /proc/irq/$line_new/smp_affinity else echo -e " Set CPU:0 affinity for interrupt: $line_new" echo 1 > /proc/irq/$line_new/smp_affinity fi echo -e " New CPU affinity for interrupt: $line_new" cat /proc/irq/$line_new/smp_affinity done

    設置中斷后,查看/proc/interrupts,可以看到CPU2/CPU3,處理了中斷48、52、54、55、61、62。

    root@vcu_trd:~# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 3: 115462 135783 31811 204151 GICv2 30 Level arch_timer 6: 0 0 0 0 GICv2 67 Level zynqmp_ipi 7: 0 0 0 0 GICv2 175 Level arm-pmu 8: 0 0 0 0 GICv2 176 Level arm-pmu 9: 0 0 0 0 GICv2 177 Level arm-pmu 10: 0 0 0 0 GICv2 178 Level arm-pmu 12: 349750 0 0 0 GICv2 156 Level zynqmp-dma 13: 0 0 0 0 GICv2 157 Level zynqmp-dma 14: 0 0 0 0 GICv2 158 Level zynqmp-dma 15: 0 0 0 0 GICv2 159 Level zynqmp-dma 16: 0 0 0 0 GICv2 160 Level zynqmp-dma 17: 0 0 0 0 GICv2 161 Level zynqmp-dma 18: 0 0 0 0 GICv2 162 Level zynqmp-dma 19: 0 0 0 0 GICv2 163 Level zynqmp-dma 20: 0 0 0 0 GICv2 164 Level Mali_GP_MMU, Mali_GP, Mali_PP0_MMU, Mali_PP0, Mali_PP1_MMU, Mali_PP1 21: 0 0 0 0 GICv2 109 Level zynqmp-dma 22: 0 0 0 0 GICv2 110 Level zynqmp-dma 23: 0 0 0 0 GICv2 111 Level zynqmp-dma 24: 0 0 0 0 GICv2 112 Level zynqmp-dma 25: 0 0 0 0 GICv2 113 Level zynqmp-dma 26: 0 0 0 0 GICv2 114 Level zynqmp-dma 27: 0 0 0 0 GICv2 115 Level zynqmp-dma 28: 0 0 0 0 GICv2 116 Level zynqmp-dma 30: 463312 0 0 0 GICv2 95 Level eth0, eth0 32: 525 0 0 0 GICv2 49 Level cdns-i2c 33: 113 0 0 0 GICv2 50 Level cdns-i2c 34: 0 0 0 0 GICv2 42 Level ff960000.memory-controller 35: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon 36: 181 0 0 0 GICv2 155 Level axi-pmon, axi-pmon 37: 28 0 0 0 GICv2 47 Level ff0f0000.spi 38: 0 0 0 0 GICv2 58 Level ffa60000.rtc 39: 0 0 0 0 GICv2 59 Level ffa60000.rtc 40: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] 41: 233 0 0 0 GICv2 81 Level mmc0 42: 133 0 0 0 GICv2 53 Level xuartps 44: 0 0 0 0 GICv2 84 Edge ff150000.watchdog 45: 0 0 0 0 GICv2 88 Level ams-irq 46: 12 0 0 0 GICv2 154 Level fd4c0000.dma 47: 0 0 0 0 GICv2 151 Level fd4a0000.zynqmp-display 48: 0 34920 0 0 GICv2 122 Level xilinx_framebuffer 49: 0 0 0 0 GICv2 141 Level xilinx_framebuffer 50: 0 0 0 0 GICv2 142 Level xilinx_framebuffer 51: 0 0 0 0 GICv2 143 Level xilinx_framebuffer 52: 0 1142094 0 0 GICv2 123 Level xilinx-hdmi-rx 53: 0 0 0 0 GICv2 121 Level xilinx_framebuffer 54: 17669 151552 0 0 GICv2 125 Level xilinx-hdmitxss 55: 17672 151552 0 0 GICv2 127 Level xlnx-mixer 56: 0 0 0 0 GICv2 136 Level xilinx-dma-controller 57: 0 0 0 0 GICv2 137 Level xilinx-dma-controller 58: 0 0 0 0 GICv2 138 Level xilinx-dma-controller 59: 0 0 0 0 GICv2 140 Level xilinx-dma-controller 60: 81 0 0 0 GICv2 126 Level a00d0000.i2c 61: 0 0 69841 0 GICv2 139 Level a00d1000.sync_ip 62: 4 0 279353 0 GICv2 128 Level a0220000.al5d, a0200000.al5e 63: 1184 163 0 0 GICv2 124 Level xilinx-vphy 64: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 67: 0 0 0 0 zynq-gpio 22 Edge sw19 IPI0: 64845 46081 35 663483 Rescheduling interrupts IPI1: 19 58 29 29 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts Err: 0

    07 進程優先級

    Linux下進程的優先級概念比較復雜。一般而言,可以通過工具renice設置進程的Nice值,來更改進程的優先級。Nice值越大,改進程的優先級越低。
    renice的常用格式為 renice PRIORITY -p pid。其中PRIORITY是Nice值,pid是進程ID。

    下面的腳本,可以把所有名字中含有關鍵字(腳本第一個參數,$1)的進程的優先級設置為第二個參數($2)的值。

    #!/bin/sh u-ps -axo pid,psr,cmd,ni u-ps -axo pid,psr,cmd,ni | grep $1 | grep -v "grep" | grep -v "awk" | awk '{print $1}' > process_list.txt echo -e " Read process list file:" ; cat process_list.txt | while read line do echo -e " Set PID: $line to priority-nice value: $2 " renice $2 -p $line done

    08 其它

    如果為了跟進一步提高實時性能,可以考慮為Linux內核增加Linux RT Patch

    責任編輯:PSY

    原文標題:【工程師分享】嵌入式Linux系統中的CPU控制

    文章出處:【微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

    原文標題:【工程師分享】嵌入式Linux系統中的CPU控制

    文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

    收藏 人收藏
    分享:

    評論

    相關推薦

    忘掉MCU吧 解析Cortex-M4的時代 8

    【這是一篇冠以cortem-M4 CPU一個比較全面介紹的文章,是一個常識性的文章,能夠對目前cortex-M4供應商有一個比較清晰地認識...
    發表于 12-15 09:28 ? 0次 閱讀
    忘掉MCU吧 解析Cortex-M4的時代 8

    Linux5.11為Modtronix LCD2S字符顯示器準備驅動程序

    lcd2s是Linux 5.11版本中新增的驅動程序,它支持通過SPI/I2C連接的20x4 LCD....
    的頭像 璟琰乀 發表于 12-14 16:41 ? 66次 閱讀
    Linux5.11為Modtronix LCD2S字符顯示器準備驅動程序

    我國國防預算穩定增長,軍工電子行業市場規模已達2927億元

    21世紀軍工行業所面臨的主要任務是滿足軍事需求和服務于國家經濟建設。先進的國防科學技術,不僅能保障國....
    的頭像 牽手一起夢 發表于 12-14 16:16 ? 144次 閱讀
    我國國防預算穩定增長,軍工電子行業市場規模已達2927億元

    Micro-Lab嵌入式開發調試工具介紹

    【產品介紹】 Micro-Lab可以稱得上是迄今為止最棒的嵌入式調試工具,在調試過程中遇到的所有痛點....
    發表于 12-14 15:47 ? 160次 閱讀
    Micro-Lab嵌入式開發調試工具介紹

    Linux 5.10 LTS正式發布,為近期最重要的內核版本之一

    正如人們所期待的那樣,Linus Torvalds今天正式發布了Linux 5.10。除了是2020....
    的頭像 璟琰乀 發表于 12-14 15:43 ? 110次 閱讀
    Linux 5.10 LTS正式發布,為近期最重要的內核版本之一

    CPU卡設計實例及程序設計

    /******************************************* 函數名稱:ExternVerify 函數功能:外部認證,卡和ESAM通用 輸入參數:c...
    發表于 12-14 15:14 ? 0次 閱讀
    CPU卡設計實例及程序設計

    AMD三代Milan霄龍CPU規格與跑分曝光 對陣英特爾Ice Lake

    預計 2021 年 1 季度,AMD 就要發布第三代 Milan 霄龍處理器。與此同時,英特爾也將推....
    的頭像 工程師鄧生 發表于 12-14 15:07 ? 298次 閱讀
    AMD三代Milan霄龍CPU規格與跑分曝光 對陣英特爾Ice Lake

    回顧嵌入式AI這個詞 什么樣的垂直場景更需要嵌入式AI

    作者:高靜宜 來源:機器之能 「嵌入式 AI」這個概念非?;?。不過,它到底是什么?更適合應用到哪些場....
    發表于 12-14 14:22 ? 101次 閱讀
    回顧嵌入式AI這個詞  什么樣的垂直場景更需要嵌入式AI

    新一代的DRAM將面臨哪些挑戰?

    10月6日,全球首款DDR5 DRAM正式由SK海力士推出。這款次世代的存儲器將數據傳輸速率提升到4....
    的頭像 我快閉嘴 發表于 12-14 11:33 ? 698次 閱讀
    新一代的DRAM將面臨哪些挑戰?

    RISC-V是中國集成電路領域彎道超車的機遇?

    集成電路是關系國家安全和國民經濟命脈的戰略性、基礎性和先導性產業,而在集成電路的產業鏈中,處理器芯片....
    的頭像 我快閉嘴 發表于 12-14 10:57 ? 225次 閱讀
    RISC-V是中國集成電路領域彎道超車的機遇?

    基于MSP430F1611單片機實現多功能電路保護裝置的設計

    電力系統的飛速發展對繼電保護不斷提出新的要求,電子技術、計算機技術與通信技術的飛速發展又為繼電保護技....
    的頭像 電子設計 發表于 12-14 10:14 ? 167次 閱讀
    基于MSP430F1611單片機實現多功能電路保護裝置的設計

    關于索尼PS5主機拆解報告介紹

    目前索尼PS5已經發售一段時間,也有不少玩家拿到了自己心儀的產品。而在近期,拆解機構iFixit也發....
    的頭像 lhl545545 發表于 12-14 10:08 ? 236次 閱讀
    關于索尼PS5主機拆解報告介紹

    微軟 Edge 瀏覽器削減桌面內存、CPU 和電池資源的大量使用

    外媒 Windows Latest 報道,微軟終于證實,它已經在 Chromium Edge 中加入....
    的頭像 工程師鄧生 發表于 12-14 09:27 ? 104次 閱讀
    微軟 Edge 瀏覽器削減桌面內存、CPU 和電池資源的大量使用

    西門子S7-200 SMART系列PLC的系統手冊免費下載

    S7-200 SMART 系列包括許多微型可編程邏輯控制器 (Micro PLC, Micro Pr....
    發表于 12-14 08:00 ? 28次 閱讀
    西門子S7-200 SMART系列PLC的系統手冊免費下載

    深入理解Linux網絡技術的內幕詳細說明

    本書這一部分的信息代表了你輕松理解本書其余部分所需的基本知識。如果您已經熟悉Linux內核,或者您是....
    發表于 12-14 08:00 ? 11次 閱讀
    深入理解Linux網絡技術的內幕詳細說明

    請問如何從斷電模式喚醒CPU?

    如何從斷電模式喚醒CPU?
    發表于 12-14 07:45 ? 0次 閱讀
    請問如何從斷電模式喚醒CPU?

    請問在斷電模式下UART能喚醒CPU嗎?

    在斷電模式下,UART能喚醒CPU嗎?
    發表于 12-14 06:19 ? 0次 閱讀
    請問在斷電模式下UART能喚醒CPU嗎?

    《賽博朋克2077》性能太菜?教你優化

    這幾天很多人都沉迷于《賽博朋克2077》不能自拔,這款游戲實在太火了。對玩家來說,游戲的最大難題應該....
    的頭像 如意 發表于 12-13 11:18 ? 1103次 閱讀
    《賽博朋克2077》性能太菜?教你優化

    基于計算機技術實現投影機遠程控制系統的設計

    在小型、零星或分散的多媒體教室里,如果吊裝投影機后,再配置一套多媒體教室設備網絡集成中央控制系統(簡....
    的頭像 電子設計 發表于 12-13 10:11 ? 476次 閱讀
    基于計算機技術實現投影機遠程控制系統的設計

    CPU為什么不做成巴掌大

    我們都知道,CPU的性能和芯片中所擁有的晶體管數量呈正相關??上攵?,在制程不變的前提下,只要芯片的....
    的頭像 Wildesbeast 發表于 12-12 11:30 ? 669次 閱讀
    CPU為什么不做成巴掌大

    中國臺灣6.7級地震未影響半導體生產

    昨晚中國臺灣出現了6.7級地震,整個島嶼都有明顯震感,不過地震并沒有帶來人員傷亡。此外,之前擔心的地....
    的頭像 lhl545545 發表于 12-12 11:08 ? 1067次 閱讀
    中國臺灣6.7級地震未影響半導體生產

    CPU是如何調度任務的?

    ②. 1 號核心讀取變量 A,由于 CPU 從內存讀取數據到 Cache 的單位是 Cache Li....
    的頭像 Linux愛好者 發表于 12-11 16:44 ? 216次 閱讀
    CPU是如何調度任務的?

    Linux進程間通信之管道(pipe)、命名管道(FIFO)與信號(Signal)

    隨后,每個進程關閉自己不需要的一個連接 (兩個黑色的箭頭被關閉; Process 1關閉從PIPE來....
    的頭像 Linux愛好者 發表于 12-11 16:41 ? 209次 閱讀
    Linux進程間通信之管道(pipe)、命名管道(FIFO)與信號(Signal)

    SO_REUSEADDR 與 SO_REUSEPORT是什么?

    3.9版本支持SO_REUSEPORT,作為Server的TCP Socket一旦綁定到了具體的端口....
    的頭像 Linux愛好者 發表于 12-11 16:38 ? 155次 閱讀
    SO_REUSEADDR 與 SO_REUSEPORT是什么?

    Linux Shell 中 ()、(())、[]、[[]]、{} 的作用

    符號前綴。括號內支持多個表達式用逗號分開。只要括號中的表達式符合 C 語言運算規則 , 比如可以直接....
    的頭像 Linux愛好者 發表于 12-11 16:34 ? 141次 閱讀
    Linux Shell 中 ()、(())、[]、[[]]、{} 的作用

    我最終決定永遠使用Ubuntu

    如果沒有裝操作系統,計算機就會變成毫無價值的設備,因為操作系統是連接用戶和硬件的中間接口。人們根據自....
    的頭像 Linux愛好者 發表于 12-11 16:32 ? 196次 閱讀
    我最終決定永遠使用Ubuntu

    Kali Linux 2020.4發布:ZSH設為默認Shell;進一步支持ARM

    新工具和更新。增加了一些新工具,并將 Linux 內核升級到其最新的 5.9 穩定版本,GNOME ....
    的頭像 Linux愛好者 發表于 12-11 16:23 ? 345次 閱讀
    Kali Linux 2020.4發布:ZSH設為默認Shell;進一步支持ARM

    Linux中誤刪文件的恢復操作

    因此,使用rm命令刪除文件的時候,一定要小心;重要的數據一定要有備份;并且恢復刪除的數據前,刪除文件....
    的頭像 Linux愛好者 發表于 12-11 16:19 ? 103次 閱讀
    Linux中誤刪文件的恢復操作

    Linux操作系統的采用率迎來了巨大的增長

    如果能夠運行 Linux,我絕對會喜歡這樣的設備。我對 11 英寸的 MacBook Air(估計為....
    的頭像 Linux愛好者 發表于 12-11 16:14 ? 208次 閱讀
    Linux操作系統的采用率迎來了巨大的增長

    什么是線程?線程與進程與有什么關系?

    大部分操作系統(如Windows、Linux)的任務調度是采用時間片輪轉的搶占式調度方式,也就是說一....
    的頭像 Linux愛好者 發表于 12-11 16:08 ? 116次 閱讀
    什么是線程?線程與進程與有什么關系?

    Linux中的32位與64位

    當然intel也很快開發出支持該指令集的CPU,不過intel將其稱為x64架構,而不是用amd64....
    的頭像 Linux愛好者 發表于 12-11 16:00 ? 135次 閱讀
    Linux中的32位與64位

    啟揚智能基于QY-IMX6主板的智能電子公交站牌解決方案

    當交通與城市共同被提起,那就不得不說到公交車與公交站牌。從八九十年代的隨叫隨停,到金屬牌上打印出線路....
    的頭像 Les 發表于 12-11 15:38 ? 229次 閱讀
    啟揚智能基于QY-IMX6主板的智能電子公交站牌解決方案

    驍龍888嚴控發熱和功耗,大幅提升手機游戲的體驗

    想要在玩手機游戲的時候成為游戲世界的絕對強者,需要在現實世界中配備最“強悍”的裝備。全新高通驍龍88....
    的頭像 科技觀察者 發表于 12-11 14:55 ? 186次 閱讀
    驍龍888嚴控發熱和功耗,大幅提升手機游戲的體驗

    深度deepin20.1(1005)系統開啟內測

    deepin 社區發布了深度操作系統 20.1 Beta(1005) 內測活公告,其表示:大家好,為....
    的頭像 璟琰乀 發表于 12-11 14:25 ? 187次 閱讀
    深度deepin20.1(1005)系統開啟內測

    基于QY-IMX6主板的智能電子站的應用方案

    當交通與城市共同被提起,那就不得不說到公交車與公交站牌。從八九十年代的隨叫隨停,到金屬牌上打印出線路....
    的頭像 牽手一起夢 發表于 12-11 14:18 ? 248次 閱讀
    基于QY-IMX6主板的智能電子站的應用方案

    基于芯原IP的視頻轉碼方案設計

    芯原副總裁,系統平臺解決方案部總經理 汪志偉在ICCAD 2020同期舉行的“IP與IC設計”專題論....
    的頭像 我快閉嘴 發表于 12-11 13:34 ? 181次 閱讀
    基于芯原IP的視頻轉碼方案設計

    EDA產業發展現狀與前景分析

    12月11日上午,在中國集成電路設計業2020年會之《EDA與IC設計創新論壇》上,行業各路大咖在會....
    的頭像 我快閉嘴 發表于 12-11 13:05 ? 342次 閱讀
    EDA產業發展現狀與前景分析

    微星AMD 400系列主板提供BIOS更新,以優化對AMD Ryzen 5000 CPU的支持

    微星方面昨日宣布,將為所有 AMD 400 系列主板提供 BIOS 更新,以優化對 AMD Ryze....
    的頭像 工程師鄧生 發表于 12-11 11:46 ? 850次 閱讀
    微星AMD 400系列主板提供BIOS更新,以優化對AMD Ryzen 5000 CPU的支持

    HarmonyOS社區之星-李?。毫囊涣那度胧脚c鴻蒙系統

    嘉賓介紹:李?。ㄕ搲~號: )嵌入式玩家、Linux愛好者,熱衷命令行和新奇的開發工具。對嵌入式軟硬件有著非常大的好奇心,喜...
    發表于 12-11 11:15 ? 665次 閱讀
    HarmonyOS社區之星-李?。毫囊涣那度胧脚c鴻蒙系統

    各種圍繞M1芯片的測評結果陸續出爐

    最近,隨著這一系列新產品的陸續解禁,各種圍繞 M1 芯片的測評結果也陸續出爐。國外知名硬件評測網站 ....
    的頭像 旺材芯片 發表于 12-11 11:15 ? 653次 閱讀
    各種圍繞M1芯片的測評結果陸續出爐

    三星員工爆料S21系列1月29日將于印度發售

    此前手機中國有報道過,三星S21系列的發布日期和銷售日期都將會提前到明年1月份。12月11日,三星在....
    的頭像 lhl545545 發表于 12-11 11:08 ? 347次 閱讀
    三星員工爆料S21系列1月29日將于印度發售

    基于Internet技術的連鎖超市監控系統的方案設計

    1.系統充分利用成熟的Internet技術,將分散在各處的連鎖超市進行統一監控管理。
    發表于 12-11 11:06 ? 275次 閱讀
    基于Internet技術的連鎖超市監控系統的方案設計

    2020年我國集成電路設計產業形勢全面梳理

    12月10日,“中國集成電路設計業2020年會暨重慶集成電路產業創新發展高峰論壇”召開。集成電路設計....
    的頭像 我快閉嘴 發表于 12-11 09:49 ? 412次 閱讀
    2020年我國集成電路設計產業形勢全面梳理

    基于EC3-1541CLDNA單板計算機和操作系統設計HIRFL_CSR前端控制系統

    介紹了一個基于WindowsCE 的嵌入式分布控制系統,系統基于以太網和現場總線連接,節點用嵌入式平....
    的頭像 電子設計 發表于 12-11 09:42 ? 420次 閱讀
    基于EC3-1541CLDNA單板計算機和操作系統設計HIRFL_CSR前端控制系統

    英特爾發布oneAPI工具包正式版

    英特爾于 12 月 9 日發布了 oneAPI 工具包正式版,即 11 月宣布將推出的英特爾 one....
    的頭像 璟琰乀 發表于 12-11 09:41 ? 211次 閱讀
    英特爾發布oneAPI工具包正式版

    PCB設計過程中AD使用流程詳解(超詳細)

    1.設計前期部分規則設定:Preference-system-file type關聯文件(所有關聯)PCB-editor-General-drc(在線drc,短路報錯)&nb...
    發表于 12-11 09:38 ? 212次 閱讀
    PCB設計過程中AD使用流程詳解(超詳細)

    電子入門學習的一些電路原理圖

    本文檔的主要內容詳細介紹的是電子入門學習的一些電路原理圖包括了:CPU模塊,復位晶振模塊,Schli....
    發表于 12-11 08:00 ? 59次 閱讀
    電子入門學習的一些電路原理圖

    Intel確認11代/12代酷睿桌面CPU發布時間

    日前,Intel執行副總裁、消費計算事業部總經理Gregory Bryant確認了新品計劃。 11代....
    的頭像 工程師鄧生 發表于 12-10 17:12 ? 969次 閱讀
    Intel確認11代/12代酷睿桌面CPU發布時間

    三星S21+的GeekBench 5跑分曝光

    日前,@三星Exynos 在推特上預告將于12月15日舉辦活動,將揭曉專門為粉絲準備的神秘驚喜,同時....
    的頭像 lhl545545 發表于 12-10 16:39 ? 911次 閱讀
    三星S21+的GeekBench 5跑分曝光

    發布14年的古董級賽揚單核CPU超頻到8.4GHz

    賽揚D 347是一款發布于2006年的單核處理器,現在早就被人遺忘了,但在超頻玩家手中,這顆處理器是....
    的頭像 工程師鄧生 發表于 12-10 16:15 ? 361次 閱讀
    發布14年的古董級賽揚單核CPU超頻到8.4GHz

    三星宣布推出110英寸MicroLED電視在韓國已開始預售

    三星近年來一直在推MicroLED電視。兩年以前,三星發布了第一臺MicroLED電視——The W....
    的頭像 lhl545545 發表于 12-10 16:03 ? 718次 閱讀
    三星宣布推出110英寸MicroLED電視在韓國已開始預售

    ram的結構和讀寫過程

      ram也叫主存,是與CPU直接交換數據的內部存儲器。它可以隨時讀寫(刷新時除外)且速度很快,通常作為操作系統或其他正在運...
    發表于 12-10 15:50 ? 0次 閱讀
    ram的結構和讀寫過程

    Xilinx7系列FPGA選擇資源用戶指南

    Xilinx7系列FPGA包括四個FPGA系列,它們都是為最低功耗而設計的,以使一個通用設計能夠跨系....
    發表于 12-10 15:27 ? 61次 閱讀
    Xilinx7系列FPGA選擇資源用戶指南

    Linux設備的主要類型

      字符設備(character device):指應用程序采用字符流方式訪問的設備。這些設備節點通常為傳真、虛擬終端和串口調制解調器、...
    發表于 12-10 15:13 ? 0次 閱讀
    Linux設備的主要類型

    超快嵌入式設計方法指南

    隨著全可編程SoC產品的推出,Xilinx為設計人員提供了一種快速、有效、可靠地構建更智能系統的強大....
    發表于 12-10 15:00 ? 64次 閱讀
    超快嵌入式設計方法指南

    AMD顯卡驅動可讓CPU核心100%負載運轉

    有時候你可能會遇到這樣的情況,雖然配置并不差,但是電腦的性能會變得越來越慢。對于程序員和 TechP....
    的頭像 璟琰乀 發表于 12-10 14:33 ? 177次 閱讀
    AMD顯卡驅動可讓CPU核心100%負載運轉

    Clocking Wizard v6.0 LogiCORE IP產品指南

    時鐘向導邏輯存儲器? IP簡化了為時鐘電路定制的HDL源代碼包裝器的創建,以滿足您的時鐘要求。向導將....
    發表于 12-10 14:20 ? 30次 閱讀
    Clocking Wizard v6.0  LogiCORE IP產品指南

    Xilinx 7系列FPGA時鐘資源

    Xilinx7系列FPGA包括四個FPGA系列,它們都是為最低功耗而設計的,以使一個通用設計能夠跨系....
    發表于 12-10 14:20 ? 36次 閱讀
    Xilinx 7系列FPGA時鐘資源

    單片機為什么要使用C語言

    將C向MCU(俗稱單片機)8051上的移植始于80年代的中后期??陀^上講,C向8051 MCU移植的難點不少。如: ·8051的非馮·諾...
    發表于 12-10 09:23 ? 303次 閱讀
    單片機為什么要使用C語言

    求linux下hex轉bin的方法?

    linux下hex轉bin的方法
    發表于 12-10 07:29 ? 0次 閱讀
    求linux下hex轉bin的方法?

    TMS320VC5501 定點數字信號處理器

    TMS320VC5501(5501)定點數字信號處理器(DSP)基于TMS320C55x™DSP生成CPU處理器內核。 C55x™DSP架構通過增加并行性和全面關注降低功耗來實現高性能和低功耗。 CPU支持內部總線結構,該結構由一個程序總線,三個數據讀總線,兩個數據寫總線以及專用于外設和DMA活動的附加總線組成。這些總線能夠在一個周期內執行最多三次數據讀取和兩次數據寫入。并行,DMA控制器可以獨立于CPU活動執行數據傳輸。 C55x™CPU提供兩個乘法累加(MAC)單元,每個單元能夠進行17位×17位乘法運算。單循環。額外的16位ALU支持中央40位算術/邏輯單元(ALU)。 ALU的使用受指令集控制,提供優化并行活動和功耗的能力。這些資源在C55x CPU的地址單元(AU)和數據單元(DU)中進行管理。 C55x DSP代支持可變字節寬度指令集,以提高代碼密度。指令單元(IU)從內部或外部存儲器執行32位程序提取,并為程序單元(PU)排隊指令。程序單元解碼指令,將任務指向AU和DU資源,并管理完全受保護的管道。預測分支功能可避免執行條件指令時的管道刷新。 5501外設...
    發表于 10-09 14:55 ? 285次 閱讀
    TMS320VC5501 定點數字信號處理器

    AM4379 AM437x ARM Cortex-A9 微處理器 (MPU)

    TI AM437x高性能處理器基于ARM Cortex-A9內核。 這些處理器通過3D圖形加速得到增強,可實現豐富的圖形用戶界面,還配備了協處理器,用于進行確定性實時處理(包括EtherCAT,PROFIBUS,EnDat等工業通信協議)。該器件支持高級操作系統(HLOS)?;贚inux的® 可從TI免費獲取。其它HLOS可從TI的設計網絡和生態系統合作伙伴處獲取。 這些器件支持對采用較低性能ARM內核的系統升級,并提供更新外設,包括QSPI-NOR和LPDDR2等存儲器選項。 這些處理器包含功能方框圖中顯示的子系統,并且后跟相應的“說明”中添加了更多信息說明。 處理器子系統基于ARM Cortex-A9內核,PowerVR SGX™圖形加速器子系統提供3D圖形加速功能以支持顯示和高級用戶界面。 可編程實時單元子系統和工業通信子系統(PRU-ICSS與ARM內核分離,允許單獨操作和計時,以實現更高的效率和靈活性.PRU-ICSS支持更多外設接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太網Powerlink,Sercos,EnDat等...
    發表于 09-25 11:51 ? 186次 閱讀
    AM4379 AM437x ARM Cortex-A9 微處理器 (MPU)
    日韩欧美亚洲一区SWAG
  • <dd id="kgqm6"></dd>
  • <menu id="kgqm6"><tr id="kgqm6"></tr></menu>