본문 바로가기

CS(Computer Science)45

프로그래밍 언어 총정리 프로그래밍 언어란? 기계가 읽을 수 있고, 사람이 읽을 수 있는 형태로 계산된 표현 체계 언어 설계의 기본 원칙 1) 효율성 : 목적 코드의 효율성 (실행 속도) , 번역의 효율성 (컴파일 속도) , 구현의 효율성 (알고리즘이 얼마나 쉬운가) , 프로그래밍의 효율성 (프로그램 작성이 얼마나 쉬운가) , 비용(돈) 문제 (개발비 / 디버깅 유지보수 / 구현 및 실행 비용) 2) 일반성 : 관련 있는 여러 개념들을 일반적인 하나의 개념으로 통합하여 얻는 성질 3) 직교성 : 언어의 구성자들이 각각 서로 독립적인 의미를 가진 채 조합하는 성질 4) 획일성 : 유사한 것은 유사하게, 상이한 것은 서로 다르게 표현 기타 설계 원칙 - 간결성, 안전성, 표현력, 정확성, 확장성 , 기계 독립성 , 제약성 , 부분성.. 2023. 6. 7.
14. 객체지향 프로그래밍 객체 지향 (object-oriented) - 객체, 클래스, 상속을 제공하는 기술 또는 프로그래밍 언어의 속성 - 정보 은닉(캡슐화) , 자료 추상화 , 메시지 전달, 다형성 , 동적바인딩, 상속 S/W 모듈 재사용 1. 자료와 연산의 확장 / 제한 2. 하나 이상의 연산을 재정의 3. 두 개의 부품에 사용되는 비슷한 연산들을 하나의 새 부품으로 추상화 4. 다형성 또는 연산에 적용할 자료형의 확장 모듈의 독립성을 위하여 모듈 내부 자료들은 정보 은닉(캡슐화)를 하고 이에 접근하는 연산을 정의하였다. 객체(Object) - 연산의 효과를 저장하고 유지하는 연산들과 자료의 집합 - 객체의 상태 : 객체 자신의 내부적, 또는 지역적인 것 / 객체의 부분 / 선언된 지역 변수들에 의해 표현 메소드(Metho.. 2023. 6. 7.
11. 메모리 구조 (2) Block Size Considerations Larger block은 miss rate를 줄여야함 (Spatial locality) 하지만 fixed-sized cache에서는 larger block => smaller number of cache line => more competition => more replacment => higher miss rate Larger miss penalty => miss에서 cache에 더 많은 data를 load 해야함 => 감소된 miss rate로부터 gain을 override => 해결책 : early restart / critical-word-first early restart : 원하는 block의 word가 반환되면 그 즉시 실행을 재개 critica.. 2023. 6. 4.
11. 메모리 구조(1) Memory Technology Access 시간 1) Static RAM (SRAM) 16kb~64kb : 0.5ns - 2.5ns 1mb~4mb : 5ns - 10ns 2) Dynamic RAM (DRAM) 50ns - 70ns 3) Flash storage 5-50 microsecond 4) Magnetic disk 5ms - 20ms 지역성의 원리 (Principle of Locality) - 주어진 시간에 Program은 memory의 작은 일부분만 접근한다 1) Temporal locality(시간 지역성) - 최근에 접근된 item들이 다시 접근될 확률이 높다 (loop내 instruction, index variable) 2) Spatial locality(공간 지역성) - 최근에 접근된 .. 2023. 6. 4.
728x90