728x90
반응형
SMALL

고수준 프로그래밍 언어(high-level programming language)

  • 사람이 이해하기 쉬운 언어와 비슷한 형태의 프로그래밍 언어를 의미한다.
  • 고수준 언어는 컴퓨터 하드웨어와 상대적으로 멀리 떨어져 있으며, 대부분의 사람들에게 친숙하고 이해하기 쉬운 개념들로 구성되어 있다.

고수준 프로그래밍 언어의 몇 가지 주요 특징은 다음과 같다:

  1. 추상화: 고수준 언어는 낮은 수준의 세부 사항을 숨기고, 개발자가 주로 문제 해결에 집중할 수 있도록 한다.
    이러한 추상화는 개발자가 프로그램의 전반적인 로직에 더 많은 시간을 할애할 수 있게 해주며, 코드를 작성하고 디버그하는 과정을 간소화한다.
  2. 이식성: 고수준 언어로 작성된 프로그램은 일반적으로 여러 플랫폼에서 실행될 수 있다.
    이는 고수준 언어의 프로그램이 특정 하드웨어나 운영 체제에 의존하지 않도록 설계되었기 때문이다.
  3. 생산성 향상: 고수준 언어는 개발자가 더 빨리 코드를 작성하고 수정할 수 있도록 설계되었다.
    이는 언어의 추상화 수준이 높아져, 더 복잡한 작업을 명령문 한 줄로 수행할 수 있게 되기 때문이다.
  4. 유지 관리: 고수준 언어로 작성된 코드는 일반적으로 더 이해하기 쉽고, 수정하거나 디버그하기 편리하다.
    이는 코드가 사람이 이해하기 쉬운 형식으로 작성되었기 때문이다.

고수준 프로그래밍 언어의 예로는 Python, Java, C++, JavaScript 등이 있다. 이러한 언어들은 다양한 영역에서 활용되며, 웹 개발, 데이터 분석, 인공 지능, 게임 개발 등 다양한 분야에서 사용된다.

728x90
반응형
LIST

'CS > 프로그래밍 언어' 카테고리의 다른 글

베이직(BASIC)  (0) 2023.05.29
코볼(COBOL)  (0) 2023.05.29
포트란(Fortran)  (0) 2023.05.29
고수준 언어와 어셈블리 언어의 차이점  (0) 2023.05.26
컴파일러  (0) 2023.05.26
728x90
반응형
SMALL

컴퓨터

휴대폰 / 태블릿 / 사물인터넷 등의 기기와 컴퓨터

공통점

  • 논리적 구조, 무언가를 계산할 수 있는지에 대해 핵심 속성 보유
  • 비슷한 아키텍처를 가지고 있음

차이점

  • 가격, 소모 전력, 크기, 속도 등의 트레이드오프가 발생

 전반적인 아키텍처는 1940년대 후반 이래로 큰 변화는 없지만 물리적 구조는 빠른 진화를 거듭함


슈퍼 컴퓨터

  • 정의: 과학기술 연산을 비롯해 다양한 분야에 사용되는 고속 컴퓨터
  • 특징
    • 많은 프로세스와 대량의 메모리를 사용함
    • 요즘은 전용 하드웨어보단 속도가 빠른 평범한 프로세서로 구성된 클러스터를 기반으로 구현됨

https://aihtnyc-h.tistory.com/entry/%EC%8A%88%ED%8D%BC%EC%BB%B4%ED%93%A8%ED%84%B0Supercomputer

 

슈퍼컴퓨터(Supercomputer)

매우 높은 처리 성능을 갖춘 고성능 컴퓨터이다. 주로 과학, 공학, 대규모 데이터 분석, 날씨 예측, 핵심 연구 등의 분야에서 사용된다. 슈퍼컴퓨터는 대용량 데이터 처리, 병렬 컴퓨팅, 고성능

aihtnyc-h.tistory.com


슈퍼 컴퓨터의 속도 측정 단위

  • 플롭스(flops, floating point operations per second) : 초당 수행할 수 있는 부동 소수점 연산 횟수
    • 부동 소수점 연산: 소수 부분을 포함한 수에 대한 산술 연산

세계에서 가장 빠른 컴퓨터 top500 중 1~3위 (2023. 06 기준)

June 2023 | TOP500

 

June 2023 | TOP500

 or  Sign up Copyright 1993-2023 TOP500.org (c)

top500.org


GPU, Graphics Processing Unit

  • 정의: 범용 CPU보다 그래픽 관련 계산에 더 빠른 그래픽 전용 프로세서
  • 특징
    • 원래는 게임에 필요한 고속 그래픽 처리를 위해 개발되었음
    • 일반 프로세서가 특정한 종류의 작업을 빠르게 처리하는데 도움을 줌
    • 간단한 산술 연산을 병렬로 대량 처리할 수 있음
      → 일부 계산작업이 병렬 처리 가능한 연산을 포함하고 GPU에 작업을 넘겨줄 수 있으면 전체 계산이 훨씬 빨라짐
  • 사례
    • 큰 데이터셋의 여러 부분에 같은 계산을 독립적으로 수행할 일이 많아 머신러닝에 유용함
    • 휴대폰용 음성 또는 신호 처리에도 사용됨

분산 컴퓨팅, distributed computing

  • 정의: 네트워크로 연결되어 서로 독립적으로 작동하는 여러 대의 컴퓨터
  • 특징
    • 메모리를 공유하지 않고 물리적으로 흩어져 있음
    • 컴퓨터가 흩어질수록 통신이 잠재적 병목 현상을 일으킬 가능성이 높아지지만, 공간적으로 멀어도 상호 일을 할 수 있다는 장점이 있음
  • 예. 검색 엔진, 온라인 쇼핑, SNS, 클라우드 컴퓨팅 같은 대규모 웹 서비스

https://aihtnyc-h.tistory.com/entry/%EB%B6%84%EC%82%B0-%EC%BB%B4%ED%93%A8%ED%8C%85Distributed-Computing

 

분산 컴퓨팅(Distributed Computing)

분산 컴퓨팅(Distributed Computing) 여러 컴퓨터 또는 컴퓨터 네트워크에서 작업을 분산시켜 처리하는 컴퓨팅 모델이다. 기존의 중앙집중형 컴퓨팅과는 달리, 분산 컴퓨팅은 여러 개의 독립적인 시스

aihtnyc-h.tistory.com


컴퓨터 핵심 원칙

  • 다양한 작업을 수행하도록 프로그래밍 될 수 있는 범용 프로세스에 기반을 둠
  • 프로세스: 산술 연산, 데이터 값 비교, 기존 계산 결과에 다음으로 수행할 명령어를 선택하는 등의 한정된 레퍼토리가 있음

엘린 튜닝의 접근 방식

  • 컴퓨터가 매우 상식적인 수준에서 계산 가능한 것이면 어떤 것이든 계산할 수 있다.
  • 튜링 머신 : 계산을 수행하는 추상적인 모델
    https://www.youtube.com/watch?v=E3keLeMwfHY
  • 범용 튜링 머신: 다른 튜링머신을 모방하여 작동할 수 있는 튜링 머신을 만드는 방법으로 만든 것
  • 튜링 테스트
    • 컴퓨터가 인간 수준의 지적 능력을 보여줄 수 있는지 평가하는 테스트
    💡 더 나아가기 튜링 시험은 컴퓨터가 사람처럼 신체 동작하는 것은 지능과 관련이 없다는 전제하에, 사람이 사용하는 언어(자연어)를 이용한다. 최초의 튜링 시험에서는 사람인 조사관이 블라인드 상태에서 컴퓨터와 5분간 대화(채팅)하여 상대가 컴퓨터인지 사람인지 판단하고, 여러 조사관들 중 상대가 사람일 것이라고 판단하는 조사관이 30% 이상이면 컴퓨터는 지능이 있는 것으로 튜링 시험에 합격 판정을 받았다. 튜링 시험은 기본 과정에 영상과 작은 연결 통로로 물건을 주고받는 동작 시험을 포함시킨 전체 튜링 시험(total Turing test)도 있다.
    튜링 시험이 제안된 이래 컴퓨터가 실제로 지능을 가질 수 있는지에 대해서는 다양한 논란이 있다. 그러나 아직 튜링 시험을 완전히 통과한 컴퓨터는 개발되지 않았다.

https://aihtnyc-h.tistory.com/entry/%ED%8A%9C%EB%A7%81-%EB%A8%B8%EC%8B%A0Turing-Machine

 

튜링 머신(Turing Machine)

튜링 머신(Turing Machine) 알고리즘의 개념을 형식화한 컴퓨터 과학에서 중요한 개념 중 하나이다. 앨런 튜링(Alan Turing)에 의해 개발된 이론적인 모델로, 모든 컴퓨터가 실행 가능한 기본적인 형태

aihtnyc-h.tistory.com

  • 캡차(CAPTCHA)
    • ‘컴퓨터와 인간을 구별하기 위한 완전 자동화된 공개 튜링 테스트’ 의 약자
    • 역튜링 테스트의 사례로, 사람이 컴퓨터보다 시각적인 패턴을 더 잘 식별할 수 있다는 점을 이용함

728x90
반응형
LIST
728x90
반응형
SMALL
  • 매우 높은 처리 성능을 갖춘 고성능 컴퓨터이다.
  • 주로 과학, 공학, 대규모 데이터 분석, 날씨 예측, 핵심 연구 등의 분야에서 사용된다.
  • 슈퍼컴퓨터는 대용량 데이터 처리, 병렬 컴퓨팅, 고성능 연산 등에 특화된 기능을 제공한다.

슈퍼컴퓨터는 여러 가지 특징을 가지고 있다:

  1. 높은 연산 속도: 슈퍼컴퓨터는 대량의 연산을 동시에 처리할 수 있는 고속 프로세서와 병렬 처리 기술을 사용하여 매우 높은 연산 속도를 제공한다. 이를 통해 복잡한 과학적 또는 공학적 문제를 해결하거나 대용량 데이터를 처리할 수 있다.
  2. 대규모 병렬 처리: 슈퍼컴퓨터는 병렬 컴퓨팅을 지원하여 여러 개의 프로세서 또는 코어가 동시에 작업을 수행하도록 설계되었다. 이를 통해 큰 문제를 작은 조각으로 분할하여 병렬로 처리함으로써 전체 작업 시간을 단축시킬 수 있다.
  3. 대용량 메모리: 슈퍼컴퓨터는 대용량 메모리를 갖추고 있어 대규모 데이터 집합을 처리할 수 있다. 이는 고성능 데이터베이스, 대규모 시뮬레이션, 고해상도 시각화 등에 유용하다.
  4. 고속 입출력(I/O): 슈퍼컴퓨터는 대용량 데이터의 효율적인 처리를 위해 고속 입출력 시스템을 갖추고 있다. 대용량 저장 장치, 고속 네트워크, 데이터 전송 및 스트리밍 기술 등을 사용하여 데이터를 빠르게 읽고 쓸 수 있다.
  5. 특수한 설계와 구성: 슈퍼컴퓨터는 고성능을 위해 특수한 하드웨어 및 소프트웨어 구성을 갖추고 있다. 이에는 고속 프로세서, 고속 버스, 병렬 처리 시스템, 전용 운영 체제 및 프로그래밍 모델 등이 포함된다.

슈퍼컴퓨터는 과학 및 기술 연구, 날씨 예측, 우주 탐사, 분자 모델링, 핵심 연구, 기후 모델링, 암호 해독, 유전체 분석, 경제 모델링 등 다양한 분야에서 사용된다. 이러한 분야에서는 대용량 데이터 처리, 복잡한 계산, 시뮬레이션, 최적화, 예측 등의 작업이 필요하기 때문에 슈퍼컴퓨터의 고성능과 병렬 처리 능력이 중요한 역할을 한다.

728x90
반응형
LIST

'CS' 카테고리의 다른 글

유클리드 호제법  (0) 2023.05.23
프로세서의 클럭  (0) 2023.05.22
분산 컴퓨팅(Distributed Computing)  (1) 2023.05.22
튜링 머신(Turing Machine)  (0) 2023.05.22
캐싱(Caching)  (0) 2023.05.22

+ Recent posts