Computer Science
-
What is scientific computing?Scientific computing concerns with the design and analysis of algorithms for solving mathematical problems that arise in science and engineeringProblem Solving ProcessDevelop a mathematical modelDiscretize the model and develop algorithms to solve the equations numerically💡만약 우리가 특정 함수를 taylor 근사를 통해서 접근한다고 했을 때, 특정한 항까지만 고려한 경우 discretize했다고 볼 수 있다. 그래야 컴퓨터를 통해서 계산할..
1. Fundamentals of ComputingWhat is scientific computing?Scientific computing concerns with the design and analysis of algorithms for solving mathematical problems that arise in science and engineeringProblem Solving ProcessDevelop a mathematical modelDiscretize the model and develop algorithms to solve the equations numerically💡만약 우리가 특정 함수를 taylor 근사를 통해서 접근한다고 했을 때, 특정한 항까지만 고려한 경우 discretize했다고 볼 수 있다. 그래야 컴퓨터를 통해서 계산할..
2023.09.04 -
Memory Technologies메모리를 구현하기 위해 사용되는 소자에 따라 성능이 결정됨Static Random Access Memory (SRAM)Dynamic Random Access Memory (DRAM)Flash memory (e.g. SSDs)Magnetic disks (e.g. HDDs)💡Access time이 아래로 갈 수록 점점 커진다.모두 다른 전기적 특성을 가지고 만든 것. 특히 전원을 꺼도 data가 남아있는지 여부를 기준으로 나눌 수 있다.SRAM과 DRAM은 volatile memory이고, Flash memory와 Magnetic disk이다.→ volatile memory는 전원이 끊기는 순간 정보가 다 날아간다.💡Volatile memory의 경우 전원이 꺼지면 data..
5. Large and Fast: Exploiting Memory HierarchyMemory Technologies메모리를 구현하기 위해 사용되는 소자에 따라 성능이 결정됨Static Random Access Memory (SRAM)Dynamic Random Access Memory (DRAM)Flash memory (e.g. SSDs)Magnetic disks (e.g. HDDs)💡Access time이 아래로 갈 수록 점점 커진다.모두 다른 전기적 특성을 가지고 만든 것. 특히 전원을 꺼도 data가 남아있는지 여부를 기준으로 나눌 수 있다.SRAM과 DRAM은 volatile memory이고, Flash memory와 Magnetic disk이다.→ volatile memory는 전원이 끊기는 순간 정보가 다 날아간다.💡Volatile memory의 경우 전원이 꺼지면 data..
2023.07.02 -
What Happens Inside a ProcessorProcessor도 digital circuit이므로 datapath와 control이 존재함.Processor MicroarchitectureISA가 동일해도 그것을 구현하는 하드웨어를 구현하는 방식에 따라 달라짐. 소프트웨어를 건드리는 것이 아닌, 하드웨어적인 최적화를 통해서 성능을 높였다면 Microarchitecture를 개선한 것.Microarchitecture와 관련있는 개념이 무엇인가?CPI : 하드웨어 측면에서는 우수함을 평가하는 척도는 clock cycle (하드웨어 측면에서는 clock frequency는 크게 중요하지 않다고 생각함) 그래서 CPI를 줄이는 것이 하드웨어적으로 중요한 choice이다.ISA : 무슨 ISA를 지원할..
4. The ProcessorWhat Happens Inside a ProcessorProcessor도 digital circuit이므로 datapath와 control이 존재함.Processor MicroarchitectureISA가 동일해도 그것을 구현하는 하드웨어를 구현하는 방식에 따라 달라짐. 소프트웨어를 건드리는 것이 아닌, 하드웨어적인 최적화를 통해서 성능을 높였다면 Microarchitecture를 개선한 것.Microarchitecture와 관련있는 개념이 무엇인가?CPI : 하드웨어 측면에서는 우수함을 평가하는 척도는 clock cycle (하드웨어 측면에서는 clock frequency는 크게 중요하지 않다고 생각함) 그래서 CPI를 줄이는 것이 하드웨어적으로 중요한 choice이다.ISA : 무슨 ISA를 지원할..
2023.07.02 -
Subtraction in HardwareOption 1 : Direct subtraction일반적으로 잘 사용하지 않음. → - 연산을 실제로 구현해야하므로Option 2 : two’s complementSubtraction을 addition과 구분하지 않아도 됨→ 수학적 연산의 수가 최대한 줄어야 하드웨어를 구현하는데 필요한 cost가 기하급수적으로 줄음→ 더한 결과의 sign-bit가 알아서 조절된다는 측면에서는 유리Overflow빼고 더하고 하다보면 숫자를 저장할 수 있는 비트의 수가 제한되어 있기 때문에 발생하는 문제 (하드웨어의 한계로 인해서 발생)정의가 무엇인가?Occur when the result from an operation can’t be represented with the ava..
3. Arithmetic for ComputersSubtraction in HardwareOption 1 : Direct subtraction일반적으로 잘 사용하지 않음. → - 연산을 실제로 구현해야하므로Option 2 : two’s complementSubtraction을 addition과 구분하지 않아도 됨→ 수학적 연산의 수가 최대한 줄어야 하드웨어를 구현하는데 필요한 cost가 기하급수적으로 줄음→ 더한 결과의 sign-bit가 알아서 조절된다는 측면에서는 유리Overflow빼고 더하고 하다보면 숫자를 저장할 수 있는 비트의 수가 제한되어 있기 때문에 발생하는 문제 (하드웨어의 한계로 인해서 발생)정의가 무엇인가?Occur when the result from an operation can’t be represented with the ava..
2023.07.02 -
MIPS_Green_Sheet.pdfMIPS : A PL for MIPS CPUsMIPS is an ISA defining all sort of things of a CPUMIPS is a PL for specifying what the CPU should do.Programming model & paradigmSyntaxSemanticsProgrammer-Visible State (PVS)Programmer visible state refers to the set of data that can be accessed and modified by a programmer within a computer program. This includes variables, objects, and other data s..
2. Instructions : Language of the ComputerMIPS_Green_Sheet.pdfMIPS : A PL for MIPS CPUsMIPS is an ISA defining all sort of things of a CPUMIPS is a PL for specifying what the CPU should do.Programming model & paradigmSyntaxSemanticsProgrammer-Visible State (PVS)Programmer visible state refers to the set of data that can be accessed and modified by a programmer within a computer program. This includes variables, objects, and other data s..
2023.07.02 -
Definition of Computer ArchitectureA set of rules and methods which describe the functionality, organization, and implementation of computer systems.→ Design the internals of computer systemsDefinition of computer systemsA complete computer including the hardware, operating system, and peripheral equipment required for performing full operations.💡하드웨어, 소프트웨어를 아우르는 영역, 어플리케이션 레벨이 아니라 하드웨어 레벨에서 어떻..
1. Computer Abstractions and TechnologyDefinition of Computer ArchitectureA set of rules and methods which describe the functionality, organization, and implementation of computer systems.→ Design the internals of computer systemsDefinition of computer systemsA complete computer including the hardware, operating system, and peripheral equipment required for performing full operations.💡하드웨어, 소프트웨어를 아우르는 영역, 어플리케이션 레벨이 아니라 하드웨어 레벨에서 어떻..
2023.07.02 -
Why Disks?여전히 가격 차이는 대략 100배 정도→ storage가 RAM보다 저렴하기는 하다.추가적으로 memory는 volatile이지만, disk는 non-volatile이다.그래서 어떻게 구성을 할 것 인가에 대한 고민을 하기 시작함→ 파일이 커져서 모든 파일을 다 RAM에 담을 수 없다.Anatomy of a Disksector들이 partition된 것이 track이다.그리고 각 platter들은 여러 개의 track으로 구분된다.cylinder : 각 platter에 존재하는 동일한 반지름을 가진 track들의 집합💡platter의 윗면/아랫면 모두 다 사용할 수 있다.💡추가적으로 track의 반지름이 다르므로, 1개의 track에 들어가있는 sector의 개수가 다를 수 있다.💡Po..
12. Storage StructureWhy Disks?여전히 가격 차이는 대략 100배 정도→ storage가 RAM보다 저렴하기는 하다.추가적으로 memory는 volatile이지만, disk는 non-volatile이다.그래서 어떻게 구성을 할 것 인가에 대한 고민을 하기 시작함→ 파일이 커져서 모든 파일을 다 RAM에 담을 수 없다.Anatomy of a Disksector들이 partition된 것이 track이다.그리고 각 platter들은 여러 개의 track으로 구분된다.cylinder : 각 platter에 존재하는 동일한 반지름을 가진 track들의 집합💡platter의 윗면/아랫면 모두 다 사용할 수 있다.💡추가적으로 track의 반지름이 다르므로, 1개의 track에 들어가있는 sector의 개수가 다를 수 있다.💡Po..
2023.07.02 -
What is I/O systemFile system과 마찬가지로 I/O 또한 abstraction을 잘 하는 것이 중요하다.단순히 음원을 출력하는 것이라도 다양한 I/O 장치에 대한 입출력이 요구되는 것을 확인할 수 있다. User 입장에서 정확한 procedure를 모르더라도 kernel이 잘 관리해주어야 한다는 측면이 존재한다.이번 챕터에서는 빨간색으로 표시된 I/O와 관련된 것을 다루고자 하는 것. 직접적인 HW access를 통해 I/O access가 되는 상황이다. 여러 I/O 장치를 컨트롤 하기 위해서 I/O bus가 존재한다. 하지만 I/O 별로 속도가 다르다는 문제점이 발생한다.I/O controller는 interrupt 를 통해 CPU와 소통한다.나머지 I/O controller는 자..
11. I/O SystemsWhat is I/O systemFile system과 마찬가지로 I/O 또한 abstraction을 잘 하는 것이 중요하다.단순히 음원을 출력하는 것이라도 다양한 I/O 장치에 대한 입출력이 요구되는 것을 확인할 수 있다. User 입장에서 정확한 procedure를 모르더라도 kernel이 잘 관리해주어야 한다는 측면이 존재한다.이번 챕터에서는 빨간색으로 표시된 I/O와 관련된 것을 다루고자 하는 것. 직접적인 HW access를 통해 I/O access가 되는 상황이다. 여러 I/O 장치를 컨트롤 하기 위해서 I/O bus가 존재한다. 하지만 I/O 별로 속도가 다르다는 문제점이 발생한다.I/O controller는 interrupt 를 통해 CPU와 소통한다.나머지 I/O controller는 자..
2023.07.02