วันพุธที่ 12 กุมภาพันธ์ พ.ศ. 2557

WEEK6: คำถามเมื่อจะซื้อคอมพิวเตอร์

1. CPU ระดับเดียวกัน Intel หรือ AMD อันไหนเหมาะเล่นเกม?
2. ถ้าเล่นเกมหนักๆหรือตัดต่อมากๆควรใช้ CPU ระดับไหน เพราะอะไร?
3. ถ้าต้องใช้งานร่วมกับอุปกรณ์อื่นๆ ควรเลือกซื้อ CPU แบบไหน เพื่อใช้งานได้รวดเร็ว?
4. อยากได้ CPU ที่ไม่กินไฟประหยัดพลังงานควรเลือกแบบไหน?
5. ประสิทธิภาพการทำงานด้านต่างๆระหว่าง CPU ของ Intel และ AMD?

วันเสาร์ที่ 8 กุมภาพันธ์ พ.ศ. 2557

WEEK5

    ชนิดของคำสั่งใน MIPS
    Arithmetic/Logic
    -มี operand 3 ตัว เป็นตัวตั้งต้น 2 และผลลัพธ์ 1 ; operand ทั้งหมดต้องอยู่ใน Register
    -เช่น ADD $2 $1 $3 คือ ประมาณว่า $2 = $1+$3
    ติดต่อกับ Memory
    -MIPSมี register แค่ 32 ตัว การใช้งานให้พอต้องจัดการ load/store
    -ทำผ่านคำสั่ง load/store เท่านั้น
    -เช่น ต้องการบวกเลขจากตำแหน่ง "1" "2" แล้วเก็บที่ "3" เราต้อง load มา แล้วบวก แล้วเก็บที่ที่ต้องการ
    load$1 "1"
    load$2 "2"
    add$1 $1 $2
    store"3" $1
    -ควบคุมการดำเนินไปของโปรแกรม (Control Flow)
    ฺ เช่น branch,jump

    Compiled MIPS code:
    -Index 8 requires offset of 32
    lw $t0, 32($s3) # load word
    add $t0, $s2, $t0
    sw $t0, 48($s3) # store word
    The Instructions
    ·   lb= load byte
    ·   lbu= load byte unsigned
    ·   lh= load half-word
    ·   lhu= load half-word unsigned
    ·   lw= load word
    ·   sb= store byte
    ·   sh= store half-word
    ·   sw= store word

วันเสาร์ที่ 1 กุมภาพันธ์ พ.ศ. 2557

WEEK 4

Level of Mastery ระดับการเรียนรู้



  1. Familiarity: The student understands what a concept is or what it means. This level of mastery concerns a basic awareness of a concept as opposed to expecting real facility with its application. It provides an answer to the question “What do you know about this?”


คุ้นเคย: ผู้เรียนเข้าใจว่าแนวคิดเป็นอะไรหรือหรือหมายความว่าอย่างไร ระดับนี้เป็นการเรียนรู้เกี่ยวกับความรู้พื้นฐานของแนวคิดแทนที่จะเป็นการประยุกต์กับชิ้นงานจริง โดยจะให้คำตอบสำหรับคำถามที่ว่า "คุณรู้อะไรบ้างเกี่ยวกับเรื่องนี้ "


  1. Usage: The student is able to use or apply a concept in a concrete way. Using a concept may include, for example, appropriately using a specific concept in a program, using a particular proof technique, or performing a particular analysis. It provides an answer to the question “What do you know how to do?”


ใช้งาน: ผู้เรียนสามารถที่จะใช้หรือประยุกต์แนวคิดในทางที่เป็นรูปธรรม ตัวอย่างการใช้แนวคิดอาจรวมถึง การใช้แนวความคิดที่เฉพาะเจาะจงอย่างเหมาะสมในโปรแกรม การใช้เทคนิคการพิสูจน์หนึ่งโดยเฉพาะ หรือการวิเคราะห์อย่างหนึ่งโดยเฉพาะ โดยจะให้คำตอบสำหรับคำถาม "คุณรู้ไหมว่าทำอย่างไร"


  1. Assessment: The student is able to consider a concept from multiple viewpoints and/or justify the selection of a particular approach to solve a problem. This level of mastery implies more than using a concept; it involves the ability to select an appropriate approach from understood alternatives. It provides an answer to the question “Why would you do that?”


ประเมิน: ผู้เรียนสามารถที่จะพิจารณาแนวคิดจากหลายมุมมอง และ/ หรือ อธิบายเหตุผลของการเลือกของวิธีการใดวิธีการหนึ่งในการแก้ปัญหา ระดับของการเรียนรู้นี้มีนัยมากขึ้นกว่าการใช้แนวคิด โดยจะเกี่ยวข้องกับความสามารถในการเลือกวิธีการที่เหมาะสมจากทางเลือกต่างๆ โดยจะให้คำตอบสำหรับคำถาม "ทำไมคุณจะทำเช่นนั้น"


Learning outcome ผลการเรียนรู้



1. ตรรกะดิจิทัลและระบบดิจิทัล (Digital logic and digital system)

  1. Describe the progression of computer technology components from vacuum tubes to VLSI, from mainframe computer architectures to the organization of warehouse-scale computers. [Familiarity]


อธิบายความก้าวหน้าทางเทคโนโลยีของส่วนประกอบของคอมพิวเตอร์จากหลอดสูญญากาศไปสู่วงจรรวมความจุสูงมาก (VLSI) จากเมนเฟรมคอมพิวเตอร์ไปสู่การจัดโครงสร้างคอมพิวเตอร์ที่มีขนาดเท่าคลังสินค้า [คุ้นเคย]


  1. Comprehend the trend of modern computer architectures towards multi-core and that parallelism is inherent in all hardware systems. [Familiarity]


เข้าใจแนวโน้มของสถาปัตยกรรมคอมพิวเตอร์สมัยใหม่ที่มุ่งไปทางการมีหลายแกน (Multi-core) และการประมวลผลแบบขนานที่ปรากฎอยู่ในทุกระบบฮาร์ดแวร์ [คุ้นเคย]


  1. Explain the implications of the “power wall” in terms of further processor performance improvements and the drive towards harnessing parallelism. [Familiarity]
อธิบายความหมายของ "กำแพงพลัง" ในแง่ของการปรับปรุงสมรรถนะของหน่วยประมวลผล (processor) ในอนาคต และการพยายามใช้ประโยชน์จากการทำงานแบบขนาน [คุ้นเคย]


  1. Articulate that there are many equivalent representations of computer functionality, including logical expressions and gates, and be able to use mathematical expressions to describe the functions of simple combinational and sequential circuits. [Familiarity]


สื่อสารอย่างชัดเจนว่ามีรูปแบบแสดงการทำงานของคอมพิวเตอร์ได้หลายรูปแบบเช่นนิพจน์ตรรกะ (logical expression) ประตูสัญญาณ (gate) และสามารถที่จะใช้นิพจน์ทางคณิตศาสตร์เพื่ออธิบายการทำงานของวงจรเชิงผสม (combinational circuit) และวงจรเชิงลำดับ (sequential circuit) แบบง่ายๆ ได้ [คุ้นเคย]


  1. Design the basic building blocks of a computer: arithmetic-logic unit (gate-level), registers (gate-level), central processing unit (register transfer-level), memory (register transfer-level). [Usage]


ออกแบบหน่วยโครงสร้างพื้นฐานของคอมพิวเตอร์: หน่วยตรรกะคณิตศาสตร์ (ระดับเกท) เรจิสเตอร์ (ระดับเกท) หน่วยประมวลผลกลาง (ระดับการถ่ายโอนข้อมูลเรจิสเตอร์) หน่วยความจำ (ระดับการถ่ายโอนข้อมูลเรจิสเตอร์) [ใช้งาน]


  1. Use CAD tools for capture, synthesis, and simulation to evaluate simple building blocks (e.g., arithmetic logic unit, registers, movement between registers) of a simple computer design. [Usage]


ใช้เครื่องมือ CAD สำหรับการจับภาพ การสังเคราะห์ และการจำลองเพื่อประเมินหน่วยโครงสร้างพื้นฐาน (เช่น หน่วยตรรกะคณิตศาสตร์ (ALU) เรจิสเตอร์ (Register) การถ่ายโอนข้อมูลระหว่างเรจิสเตอร์) ของการออกแบบคอมพิวเตอร์แบบง่ายๆ [ใช้งาน]


  1. Evaluate the functional and timing diagram behavior of a simple processor implemented at the logic circuit level. [Assessment]


ประเมินพฤติกรรมของหน่วยประมวลผลแบบง่ายๆ ในระดับวงจรตรรกะ จากแผนภาพการทำงานและระยะเวลา (Functional and timing diagram) [ประเมิน]


2. รูปแบบการแทนข้อมูลระดับเครื่อง (Machine level representation of data)

  1. Explain why everything is data, including instructions, in computers. [Familiarity]


อธิบายเหตุผลที่ทุกอย่างในคอมพิวเตอร์ (รวมทั้งคำสั่งต่างๆ) คือข้อมูล [คุ้นเคย]


  1. Explain the reasons for using alternative formats to represent numerical data. [Familiarity]


อธิบายเหตุผลในการแสดงค่าตัวเลขในรูปแบบต่างๆ [คุ้นเคย]


  1. Describe how negative integers are stored in sign-magnitude and twos-complement representations. [Familiarity]


แสดงการจัดเก็บเลขจำนวนเต็มลบในแบบเครื่องหมายและขนาด (sign-magnitude) และแบบส่วนเติมเต็มสอง (Two’s complement) [คุ้นเคย]


  1. Explain how fixed-length number representations affect accuracy and precision. [Familiarity]


อธิบายผลกระทบของการจัดเก็บตัวเลขแบบจำกัดความยาว (fixed-length) ต่อความแม่นยำ (accuracy) และความเที่ยงตรง (precision) [คุ้นเคย]


  1. Describe the internal representation of non-numeric data, such as characters, strings, records, and arrays. [Familiarity]


อธิบายรูปแบบการจัดเก็บภายใน (internal representation) ของข้อมูลที่ไม่ใช่ตัวเลข เช่น อักขระ (character) สายอักขระ (string) ระเบียน (record) และ แถวลำดับ (array) [คุ้นเคย]


  1. Convert numerical data from one format to another. [Usage]


แปลงข้อมูลตัวเลขจากรูปแบบหนึ่งไปสู่อีกรูปแบบหนึ่ง [ใช้งาน]


  1. Write simple programs at the assembly/machine level for string processing and manipulation. [Usage]


เขียนโปรแกรมง่ายๆ โดยใช้ภาษาเครื่องหรือภาษาแอสเซมบลีในการประมวลผลและจัดการสายอักขระ (string) [ใช้งาน]


3. โครงสร้างของเครื่องระดับแอสเซมบลี (Assembly level machine organization)
  1. Explain the organization of the classical von Neumann machine and its major functional units [Familiarity].


อธิบายโครงสร้างและหน่วยการทำงานที่สำคัญของเครื่องฟอนนอยมันน์แบบดั้งเดิม (classical von Neumann machine) [คุ้นเคย]


  1. Describe how an instruction is executed in a classical von Neumann machine, with extensions for threads, multiprocessor synchronization, and SIMD execution [Familiarity].


อธิบายวิธีการที่คำสั่งถูกดำเนินการในเครื่องฟอนนอยมันน์แบบดั้งเดิม (classical von Neumann machine) และขยายเพิ่มสำหรับสายโยงใย (thread) การประสานเวลาของหน่วยประมวลผลหลายตัว (multiprocessor synchronization) และการดำเนินแบบหนึ่งคำสั่งหลายข้อมูล (Single Instruction Multiple Data; SIMD) [คุ้นเคย]


  1. Describe instruction level parallelism and hazards, and how they are managed in typical processor pipelines [Familiarity].


อธิบายถึงความขนาน (parallelism) และภัย (hazard) ในระดับคำสั่ง (instruction level) และวิธีการจัดการในการทำงานแบบสายท่อ (pipeline) ของหน่วยประมวลผลทั่วไป [คุ้นเคย]


  1. Summarize how instructions are represented at both the machine level and in the context of a symbolic assembler [Familiarity].


สรุปวิธีการแสดงคำสั่งทั้งในระดับเครื่องและในบริบทของแอสเซมเบลอร์เชิงสัญลักษณ์ [คุ้นเคย]


  1. Demonstrate how to map between high-level language patterns into assembly/machine language notations [Familiarity].


แสดงให้เห็นถึงวิธีการแปลง (map) จากรูปแบบในภาษาระดับสูง (high-level language pattern) ไปยังสัญกรณ์ (notation) ภาษาแอสเซมบลี / เครื่อง [คุ้นเคย]


  1. Explain different instruction formats, such as addresses per instruction and variable length vs. fixed length formats [Familiarity].


อธิบายรูปแบบต่างๆของคำสั่ง เช่น เลขที่อยู่ต่อคำสั่ง (addresses per instruction) และรูปแบบที่ความยาวแปรผันได้ (variable length) เทียบกับรูปแบบความยาวคงที่ (fixed length) [คุ้นเคย]


  1. Explain how subroutine calls are handled at the assembly level [Familiarity].


อธิบายวิธีการจัดการกับการเรียกใช้ซับรูทีนในระดับแอสเซมบลี [คุ้นเคย]


  1. Explain the basic concepts of interrupts and I/O operations [Familiarity].


อธิบายแนวคิดพื้นฐานของการขัดจังหวะและการดำเนินการรับเข้า/ส่งออก (อินพุต/เอาต์พุต หรือ ไอ/โอ) [คุ้นเคย]


  1. Write simple assembly language program segments [Usage].


เขียนส่วนโปรแกรมภาษาแอสเซมบลีอย่างง่าย [ใช้งาน]


  1. Show how fundamental high-level programming constructs are implemented at the machine-language level [Usage].


แสดงให้เห็นวิธีการที่โครงสร้างพื้นฐานของการเขียนโปรแกรมระดับสูง (fundamental high-level programming construct) ได้รับการดำเนินการในระดับภาษาเครื่อง [ใช้งาน]


4. โครงสร้างและสถาปัตยกรรมระบบหน่วยความจำ (Memory System Organization and Architecture)

  1. Identify the main types of memory technology (e.g., SRAM, DRAM, Flash, magnetic disk) and their relative cost and performance. [Familiarity].


ระบุประเภทหลักของเทคโนโลยีหน่วยความจำ (เช่น เอสแรม (แรมสถิต) ดีแรม (แรมพลวัต) หน่วยความจำแฟลช จานแม่เหล็ก) และต้นทุนและสมรรถนะการทำงานสัมพัทธ์ของแต่ละประเภท [คุ้นเคย]


  1. Explain the effect of memory latency on running time [Familiarity].


อธิบายผลกระทบของเวลาแฝงของหน่วยความจำ (memory latency) ต่อเวลาการดำเนินงาน [คุ้นเคย]


  1. Describe how the use of memory hierarchy (cache, virtual memory) is used to reduce the effective memory latency [Familiarity].


อธิบายถึงวิธีการใช้ลำดับชั้นของหน่วยความจำ (แคช (cache) หน่วยความจำเสมือน (virtual memory)) เพื่อลดเวลาแฝงยังผลของหน่วยความจำ (effective memory latency) [คุ้นเคย]


  1. Describe the principles of memory management [Familiarity].


อธิบายถึงหลักการของการจัดการหน่วยความจำ [คุ้นเคย]


  1. Explain the workings of a system with virtual memory management [Familiarity].


อธิบายการทำงานของระบบที่มีการจัดการหน่วยความจำเสมือน [คุ้นเคย]


  1. Compute Average Memory Access Time under a variety of memory system configurations and workload assumptions [Usage].


คำนวณค่าเฉลี่ยเวลาเข้าถึงหน่วยความจำภายใต้การกำหนดค่าระบบหน่วยความจำและสมมติฐานปริมาณงานแบบต่างๆ [ใช้งาน]


5. การเชื่อมต่อและการสื่อสาร (Interfacing and Communication)

  1. Explain how interrupts are used to implement I/O control and data transfers [Familiarity].


อธิบายวิธีใช้การขัดจังหวะในการดำเนินการควบคุมการรับเข้า/ส่งออก (อินพุต/เอาต์พุต หรือ ไอ/โอ) และการถ่ายโอนข้อมูล [คุ้นเคย]


  1. Identify various types of buses in a computer system [Familiarity].


ระบุบัสประเภทต่างๆในระบบคอมพิวเตอร์ [คุ้นเคย]


  1. Describe data access from a magnetic disk drive [Familiarity].


อธิบายถึงการเข้าถึงข้อมูลจากหน่วยขับจานแม่เหล็ก [คุ้นเคย]


  1. Compare common network organizations, such as ethernet/bus, ring, switched vs. routed [Familiarity].


เปรียบเทียบโครงสร้างเครือข่ายที่มักพบ เช่น อีเทอร์เน็ต / บัส  วงแหวน (ring) การสลับสาย (switched) เทียบกับการกำหนดเส้นทาง (routed) [คุ้นเคย]


  1. Identify the cross-layer interfaces needed for multimedia access and presentation, from image fetch from remote storage, through transport over a communications network, to staging into local memory, and final presentation to a graphical display. [Familiarity]


ระบุการเชื่อมต่อข้ามชั้นที่จำเป็นสำหรับการเข้าถึงและการแสดงสื่อประสมจากภาพที่นำมาจากหน่วยเก็บข้อมูลระยะไกล (remote storage) ผ่านการขนส่งบนเครือข่ายการสื่อสารสู่การจัดเก็บชั่วคราวในหน่วยความจำเฉพาะที่และสิ้นสุดที่การนำเสนอบนหน่วยแสดงผลกราฟิก [คุ้นเคย]


  1. Describe the advantages and limitations of RAID architectures [Familiarity].


อธิบายถึงข้อดีและข้อจำกัดของสถาปัตยกรรม RAID [คุ้นเคย]


6. โครงสร้างเชิงหน้าที่ (Functional organization)

  1. Compare alternative implementation of datapaths [Familiarity].


เปรียบเทียบทางเลือกต่างๆของการดำเนินการวิถีข้อมูล (Datapath) [คุ้นเคย]
  1. Discuss the concept of control points and the generation of control signals using hardwired or microprogrammed implementations [Familiarity].


อภิปรายแนวคิดของจุดควบคุมและการสร้างสัญญาณควบคุมโดยใช้การเดินสาย (hardwired) หรือ ไมโครโปรแกรม (microprogram) [คุ้นเคย]


  1. Explain basic instruction level parallelism using pipelining and the major hazards that may occur [Familiarity].


อธิบายความขนาน (parallelism) ระดับคำสั่งขั้นพื้นฐานโดยใช้การทำงานแบบสายท่อ (pipeline) และภัยสำคัญที่อาจเกิดขึ้น [คุ้นเคย]


  1. Design and implement a complete processor, including datapath and control [Usage].


การออกแบบและสร้างหน่วยประมวลผลที่สมบูรณ์รวมทั้งวิถีข้อมูล (datapath) และการควบคุม [ใช้งาน]


  1. Determine, for a given processor and memory system implementation, the average cycles per instruction [Assessment].


คำนวณจำนวนรอบเฉลี่ยต่อคำสั่งสำหรับหน่วยประมวลผลและระบบหน่วยความจำที่กำหนด [ประเมิน]


7. สถาปัตยกรรมหลายตัวประมวลและอื่นๆ (Multiprocessing and Alternative Architectures)

  1. Discuss the concept of parallel processing beyond the classical von Neumann model [Familiarity].


อภิปรายแนวคิดของการประมวลผลแบบขนานนอกเหนือจากแบบจำลองฟอนนอยมันน์แบบดั้งเดิม [คุ้นเคย]


  1. Describe alternative architectures such as SIMD and MIMD [Familiarity].


อธิบายสถาปัตยกรรมอื่นๆ เช่น หนึ่งคำสั่งหลายข้อมูล (SIMD) และ หลายคำสั่งหลายข้อมูล (MIMD)


  1. Explain the concept of interconnection networks and characterize different approaches [Familiarity].


อธิบายแนวคิดของเครือข่ายการเชื่อมต่อและอธิบายลักษณะพิเศษของแนวทางต่างๆ [คุ้นเคย]


  1. Discuss the special concerns that multiprocessing systems present with respect to memory management and describe how these are addressed [Familiarity].


อภิปรายข้อกังวลเป็นพิเศษของระบบหลายตัวประมวลที่เกี่ยวกับการจัดการหน่วยความจำและอธิบายถึงวิธีการการแก้ไข [คุ้นเคย]


  1. Describe the differences between memory backplane, processor memory interconnect, and remote memory via networks, their implications for access latency and impact on program performance. [Familiarity]


อธิบายความแตกต่างระหว่าง แผงเชื่อมต่อหน่วยความจำ (memory backplane) การเชื่อมต่อระหว่างหน่วยประมวลผลและหน่วยความจำ และหน่วยความจำระยะไกลผ่านทางเครือข่าย ผลกระทบของวิธีการเหล่านี้ต่อเวลาแฝงของการเข้าถึงและผลกระทบต่อสมรรถนะของโปรแกรม [คุ้นเคย]


8. การเพิ่มพูนสมรรถนะ (Performance enhancement)

  1. Describe superscalar architectures and their advantages [Familiarity].


อธิบายสถาปัตยกรรมซูเปอร์สเกลาร์ (superscalar) และข้อดี [คุ้นเคย]


  1. Explain the concept of branch prediction and its utility [Familiarity].


อธิบายแนวคิดและประโยชน์ของการทำนายทางแยก (branch prediction) [คุ้นเคย]


  1. Characterize the costs and benefits of prefetching [Familiarity].


แสดงลักษณะต้นทุนและประโยชน์ของการไปนำมาล่วงหน้า (prefetching) [คุ้นเคย]


  1. Explain speculative execution and identify the conditions that justify it [Familiarity].


อธิบายการกระทำการตามการคาดเดา (speculative execution) และระบุเงื่อนไขเหมาะที่จะใช้ [คุ้นเคย]


  1. Discuss the performance advantages that multithreading offered in an architecture along with the factors that make it difficult to derive maximum benefits from this approach [Familiarity].


อภิปรายข้อดีในแง่สมรรถนะของสายโยงใยหลายสาย (multithreading) ในสถาปัตยกรรมพร้อมกับปัจจัยที่ทำให้ยากที่จะได้รับประโยชน์สูงสุดจากวิธีการนี้ [คุ้นเคย]


  1. Describe the relevance of scalability to performance [Familiarity].

อธิบายความเกี่ยวข้องของการปรับขนาดได้ (scalability) กับสมรรถนะ (performance) [คุ้นเคย]
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Formula
-Integrated Circuit Cost








-CPU Time





-Instruction Count and CPI







-CPI in More Detail










-Performance Summary