introduction
play

Introduction 2 A Modern Computer iPhone XS Computer Systems and - PowerPoint PPT Presentation

Computer Systems and Networks ECPE 170 Jeff Shafer University of the Pacific Introduction 2 A Modern Computer iPhone XS Computer Systems and Networks Spring 2019 3 Applications Computer Systems and Networks Spring 2019 4


  1. ì Computer Systems and Networks ECPE 170 – Jeff Shafer – University of the Pacific Introduction

  2. 2 A Modern Computer – iPhone XS Computer Systems and Networks Spring 2019

  3. 3 Applications Computer Systems and Networks Spring 2019

  4. 4 Application – Pokemon Go ì Written in a high level language (Objective C) ì What resources does Pokemon Go need to run? (i.e. what does the executable file need to execute?) Hardware ì ì Processor(s) – Run program, display graphics, … ì Memory – Store programs, store data ì I/O – Touch screen, storage, network, 3-axis gyro, … Software - Operating system ì Computer Systems and Networks Spring 2019

  5. 5 Software - Operating System ì Apple iOS – Used in iPads, iPhones, iPods, Apple TV Variant of Mac OS X operating system used on ì traditional Macs ì What are some jobs of this operating system? Manage hardware ì Manage applications (multitasking) ì ì Written in high-level languages C, C++, Objective C (varies by component) ì Can we run this code directly on the processor? ì Computer Systems and Networks Spring 2019

  6. 6 Software - Compilers / Interpreters These are programs that build other programs! ì Goal: Convert high-level languages into machine code ì that can be directly executed by hardware Examples ì Apple Xcode ì Microsoft Visual ì Studio What’s the difference ì between a compiler and interpreter? Computer Systems and Networks Spring 2019

  7. 7 Hardware https://www.ifixit.com/Teardown/iPhone+XS+and+XS+Max+Teardown/113021 Computer Systems and Networks Spring 2019

  8. 8 Hardware Apple A12 64-bit Processor + 4GB of RAM (layered) Power Management Audio Amplifiers Power Management Battery Charger https://www.ifixit.com/Teardown/iPhone+XS+and+XS+Max+Teardown/113021 Computer Systems and Networks Spring 2019

  9. 9 iPhone XS Processor ì Apple A12 Processor Clock speed – 2.5GHz ì What do these mean? 6 cores ì 4GB RAM ì ì What does a processor do? Executes machine language instructions ì ì Machine language? How does the processor execute the instructions? ì Computer Systems and Networks Spring 2019

  10. 10 Microarchitecture Computer Systems and Networks Spring 2019

  11. 11 How Does It Work? Apple won’t tell us – trade ì secret! Experts can dissolve (with ì acid), burn, or grind off outer protective layers of chip and then peer inside: Need a really good ì microscope! Reverse Engineering in ì the Semiconductor Industry: http://www.scribd.com/doc/53 742174/Reverse-Engineering Computer Systems and Networks Spring 2019

  12. 12 Can see this level of detail with your own eyes… Divided into logic blocks with different functions: Processor • Cache memory • Memory • Controller Video (GPU) • Computer Systems and Networks https://www.anandtech.com/show/13393/techinsights-publishes-apple-a12-die-shot-our-take Spring 2019

  13. 13 SEM Cross-Section of (older) Apple A5 Computer Systems and Networks Spring 2019

  14. 14 Digital Logic Transistor Memory cell Computer Systems and Networks Spring 2019

  15. 15 Transistors ì You can still make assumptions at this level that the transistor is either “on” (1) or “off” (0) ì But below this are analog circuits Computer Systems and Networks Spring 2019

  16. 16 The Computer Level Hierarchy ì Level 6: The User Level – “Pokemon Go” User Level Program execution and user interface level ì High-Level Language ì Level 5: High-Level Language Level – “Objective C” Assembly Programming languages like C++, Java, Python, … ì ì Level 4: Assembly Language Level – “ARM Assembly” Program directly at this level, or … ì Use a compiler/interpreter to process/convert high- ì level code Computer Systems and Networks Spring 2019

  17. 17 The Computer Level Hierarchy ì Level 3: System Software Level - “iOS” User Level Controls active programs and manages system ì High-Level resources Language Assembly language instructions often pass through ì Assembly Level 3 without modification System ì Level 2: Machine Level Instruction Set Architecture (ISA) Level ì Machine Instructions are particular to the architecture of the ì specific machine (i.e. Intel processors, ARM processors, IBM processors…) Computer Systems and Networks Spring 2019

  18. 18 The Computer Level Hierarchy These levels are too hardware-oriented for ECPE 170… User Level ì Level 1: Control Level High-Level Decodes and executes instructions and moves data ì Language through the system Assembly ECPE 173 – Computer Organization & Architecture ì System ì Level 0: Digital Logic Level Digital circuits, gates and wires implement the ì Machine mathematical logic of all other levels Control ECPE 71 – Digital Design ì ECPE 174 – Advanced Digital Design Digital Logic Computer Systems and Networks Spring 2019

  19. 19 Hardware / Software “Stack” Terminal … Firefox LibreOffice Shell User-Space (Bash) (“Applications”) Kernel-Space Operating System (“OS”) Device Drivers Software Hardware … Storage CPU Memory GPU Network Disk, SSD Computer Systems and Networks Spring 2019

  20. 20 ì Course Overview Computer Systems and Networks Spring 2019

  21. 21 Motivating Question ì What do you, as a programmer, need to know about the underlying system (software and hardware) to write more efficient code? Role of the tools ì ì Compiler, assembler, linker, profiler Role of the operating system and its efficient usage ì Assembly programming (using the CPU efficiently) ì Memory hierarchy and its impact on performance ì Computer Systems and Networks Spring 2019

  22. 22 Course Goals Present a complete view of how computer systems are ì constructed From the CPU assembly programming level ì to the user application level Understand the relationship between computer ì software and hardware Lay the foundation for future courses ì Advanced Digital design / VLSI ì Operating systems ì Computer networking ì Application development ì Computer Systems and Networks Spring 2019

  23. 23 C Programming Language C Why not Python, Java, Ruby, ì Perl, PHP, …? High-level languages (especially ì interpreted, managed code…) try to hide the underlying machine from you ECPE 170 wants to reveal the ì underlying machine to you! Industry demand for systems ì programmers Computer Systems and Networks Spring 2019

  24. 24 Linux ì Course will be taught 100% in Linux Did you have to choose Linux for ECPE ì 170? No, not really, but… ì Too many Pacific graduates were ì escaping without a working knowledge! Feedback from co-op employers and ì graduates: “More Linux/Unix skills please!” Computer Systems and Networks Spring 2019

  25. 25 Linux Who here has used a Linux ì desktop/laptop/server before? Who here has used a Linux “device” ì before? I’d be surprised if it isn’t everyone… ì Android runs a Linux kernel ì Amazon Kindle runs a Linux kernel ì TiVO runs a Linux kernel ì Computer Systems and Networks Spring 2019

  26. 26 Discussion ì What is open-source? ì What is an operating system kernel ? Is the kernel everything you need from an OS? ì ì What is Linux? ì What is Ubuntu Linux? (RedHat? Debian? …) à Show family tree of distributions ß ì Computer Systems and Networks Spring 2019

  27. 27 Virtual Machine ì Course will be taught 100% from a virtual machine booting Linux that you install! Couldn’t you just give us remote access ì to a server someplace that is already configured? Yes, but… ì By installing it yourself you will have ì the skills to use it again in the future Computer Systems and Networks Spring 2019

  28. 28 Discussion ì What is a Virtual Machine? ì How is it different from dual booting? ì Which comes first, the virtual machine, or the OS? Answer: It depends! ì Typical desktop install: hosted virtualization ì Typical server install: bare-metal virtualization ì Computer Systems and Networks Spring 2019

  29. 29 Recommended Hosted Virtualization technique for ECPE 170 Computer Systems and Networks Spring 2019

  30. 30 Bare-Metal Virtualization More efficient, but not as easy to install. The virtual machine monitor acts like an operating system itself! Computer Systems and Networks Spring 2019

  31. 31 Version Control ì Course will use version control! Only way to get lab code or turn in ì assignments Did you have to mandate VCS for ECPE 170? ì No, not really, but… ì Too many Pacific graduates were avoiding ì learning this on their own! Feedback from co-op employers and ì graduates: “Only n00bs work without version control!” Used everywhere: Source code of all kinds! ì (C++, Python, Matlab, VHDL/Verilog, …) Computer Systems and Networks Spring 2019

  32. 32 Version Control Who here has used a version control ì system before? What system? ì Where at? ì What purpose? ì Computer Systems and Networks Spring 2019

  33. 33 Questions? ì Questions? ì Concerns? Computer Systems and Networks Spring 2019

  34. 34 ì Course Mechanics Computer Systems and Networks Spring 2019

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend