1번 레지스터 $at을 사용하는 때 [컴퓨터구조] $at은 어셈블러가 알아서 사용하는 레지스터이다. 위와 같이 왼쪽 표현이 프로그래머가 짠 표현이라면 어셈블러는 우측과 같이 바꾸어준다. 이렇게 된 이유는 실제로 mov, blt를 MIPS에서 지원하지 않는 연산이지만 어셈블러는 이를 알아듣고 실제로 있는 연산으로 치환해주는 것이다. 다시 정리하자자면 MIPS process에선 지원하지 않고 MIPS assembly process에서 지원해주는 것이다. 컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture) 2020.03.31
Basic block -[컴퓨터구조] basic block 인스트럭션의 나열 블락안에 브랜치들은 없다. 맨끝은 예외 브랜치 타겟이 되는 경우도 없다 맨처음 예외 >> 베이직 블락은 한번 인스트럭션이 수행되면 끝까지 수행된다는 뜻. 다른 곳에서 들어오거나 다른 곳으로 나가는 일이 없다는 뜻이다. 최적화를 위해 컴파일러는 베이직블락을 찾고 고성능 프로세서는 베이직블락 수행능력을 향샹시키기 위해 노력한다. 한번시작하면 끝날때까지 하기 때문에 중간에 어떤일이 벌어져도 결과가 같으면 상관이 없다는 뜻. 즉 코드의 라인의 내용이 바뀌어도 결과가 같으면 상관없다는 뜻이다. 그래서 결과가 같게 중간의 내용을 최적화 한다. 정확하게는 내가 알아보겠다. 컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture) 2020.03.31
프로그래밍을 배워야 하는 이유? Why learn programming? https://www.youtube.com/watch?v=SESuctdE9vM 영상 요약 및 정리 프로그래밍을 배워야하는 이유 다들 무언가 만들고 싶어서, ~를 하고싶어서, 거창한 이유는 없다. 누구나 할 수 있지만 막막해 보이는 프로그래밍 이 세상 모든 곳에 컴퓨터가 존재한다. 우리가 무엇인가를 하고 싶다면 제일 먼저 해야만 하는 일이 컴퓨터일지 모른다. 은행을 가도, 궁금한 것이 있어도, 자동차를 운전해도, 내가 어디에 있든 컴퓨터가 있다. 이제 모든 회사들은 컴퓨터 엔지니어를 구한다. 숙련되고 재능 있는 프로그래머를 목표가 무엇이건 컴퓨터 프로그래밍능력은 우리의 날개가 될 것이다. 자신만의 아이디어를 생각하고 그것을 실현시키고 남들에게 내 작품을 보여주는 것 프로그래밍만이 할 수 있는 최고의 일 장.. 컴퓨터, IT 지식 2020.03.31
OS introduction 운영체제개론 https://www.youtube.com/watch?v=26QPDBe-NB8 영상의 요약이자 정리 컴퓨터의 성능이 향상됨에 따라 인간의 힘으로는 할 수 없는 일을 하기위해 생겨난 운영체제. 우리가 흔히 컴퓨터를 키면 최초로 시작되는 프로그램이며 이 프로그램이 나머지 후속프로그램을 관리한다. 운영체제가 컴퓨터를 도와서 일부를 batch하면서 프로그램 실행 시간 사이의 간격이 생기는 것을 최소화 시켜서 최적화된 프로그램 실행을 도와준다. 다시 말해서 유휴상태로 있는 CPU를 효율적으로 관리하는 것이 OS다. Atlas 는 스케줄링을 통해 그것을 해냈다. 계산을 해서 출력을 하지만 CPU의 계산능력이 출력능력보다 월등해서 생기는 유휴상태를 CPU의 스케줄을 통해서 효율적으로 관리하려고 했다. 예로 4대의 판.. 컴퓨터, IT 지식/IT 2020.03.30
컴퓨터의 언어, 기계어(Machine Language) (Why Do Computers Use 1s and 0s?) https://www.youtube.com/watch?v=Xpk67YzOn5w 영상의 요약이자 정리 컴퓨터는 왜 2진법을 쓸까? 우선 수를 셀 때 쓰는 숫자는 우리는 10진법을 쓴다. 우리가 손가락이 10개이기 때문에 10진법을 쓴다는 말도 있다. 아무튼 10진법이라는 말은 한 자리에서 숫자를 표현할 수 있는 법이 10가지라는 뜻이다. 0-9까지 10가지 2자리숫자면 0-99까지 100가지를 표현할 수 있다. 그렇다면 컴퓨터는 왜 2진법을 쓸까? 우리가 숫자를 셀 때 쓰는 것이 손가락이듯이 컴퓨터가 숫자를 셀 때 쓰는 것이 트랜지스터이기 때문이다. 트랜지스터는 on,off , 1과 0, 이 두가지 방식으로 밖에 표현을 못한다. 즉 숫자를 2가지로밖에 표현을 못하는 것이다. 그럼으로 2진법을 쓰게 되었다... 컴퓨터, IT 지식/IT 2020.03.30
운영체제 정의, 만들어진 배경(How Do Operating Systems Work?) https://www.youtube.com/watch?v=GjNp0bBrjmU 영상에 대한 요약이자 정리 컴퓨터로 많은 것을 할 수 있는 시대가 왔다. 그러한 하드웨어와 소프트웨어의 종합체인 컴퓨터는 어떻게 작동하는 것일까? 예전의 컴퓨터들은 명령을 카드로 받아서 계산을 수행했다. 영상에서 보다시피 카드를 집어넣고 카드의 구멍에 따라 명령받고 계산해서 출력했다. 카드의 순서가 프로그램 수행의 순서였다. 그러나 기기가 여러 가지가 나오고 컴퓨터의 속도도 빨라지자 카드의 호환성 문제가 대두되었고 인간의 힘으로 하기 힘든 작업이 되었다. 이는 os의 개발로 이어졌다. 예전의 컴퓨터가 계산의 용도애 따라 기기를 다르게 쓰고 카드도 다르게 써야했다면 지금의 컴퓨터는 컴퓨터 하나로 게임도 할 수 있고 유튜브 시청,.. 컴퓨터, IT 지식/IT 2020.03.30
소프트웨어공학(1) 필요성과 특징 소프트웨어야 그냥 만들면 만드는거지 뭐 공학적으로 학문을 구분하여 배워야하느냐? 라고 할 수 있는데 소프트웨어 공학의 왜 필요한지 알아보자 #소프트웨어공학의 필요성 어떠한 상품에서 소프트웨어의 비중이 높아졌다. 예를 들어서 무인자동차는 "자동차"라서 지불하는 비용보다 "무인" 이라는 소프트웨어에 지불하는 비용이 많아진 것이다. 소프트웨어의 복잡도가 나날이 복잡해진다. 위에 무인자동차처럼 소프트웨어 많은 요구사항을 만족하게 만들어야하다보니깐 어떠한 원리, 순서 없이는 개발을 하기가 어려워졌다는 것이다. 소프트웨어는 고객의 요구에 맞춰서 개발해야한다. 즉 고품질, 저비용, 단기간에 완성되기를 원한다. 그래서 어떠한 원칙하에 효율적으로 개발해야한다. 웹환경의 소프트웨어 수요가 급증했다. 온라인 쇼핑이라던가 모.. 컴퓨터(Computer Science)/소프트웨어공학(Software engineering) 2020.03.29
[Unity] 2D에서 충돌하면 떨어뜨리기 내가 제일 좋아하는 새인 토코투칸을 떨궈보았다. ㅎㅎ 스크립트를 보여주자면 처음 내가 대충 만들었던 개요 요구사항 1. 새가 왔다갔다했으면 좋겠다. 2. 와서 뭔가가 박으면 떨어졌으면 좋겠다. 3. 새는 좌우로만 이동했으면 좋겠다. 필요한 사항 GameObject 새 tag 특정한 물체 충돌 감지 rigidbody2D ,자연스럽게 떨구기 위해 중력을 이용 gravityscale collider2D 뭔가가 박았다는 것을 감지 istrigger transfrom 새의 이동 Vector2 좌표 OntriggerEnter2D 충돌감지 other.tag == ... 특정 물체 충돌감지 하다보니까 여러개가 만들어졌다. 컴포넌트는 이렇게 Collider가 왜 2개냐면 is Trigger를 키면 물리적 효과가 사라져서.. Game Development, 게임개발/개발 2020.03.29
"누구나 한 번쯤 무지개같이 찬란한 사람을 만난다"플립(Flipped) (2010) 후기, 스토리,명대사 [영화리뷰] #영화 줄거리 누구나 일생에 한번은 만난다는 무지개빛 첫사랑! 옆집 소년소녀의 귀엽고 설레는 반전 로맨스! 새로 이사 온 미소년 브라이스를 보고 첫눈에 사랑을 직감한 7살 소녀 줄리. 솔직하고 용감한 줄리는 자신의 마음을 적극적으로 표현하지만 브라이스는 그런 줄리가 마냥 부담스럽다. 줄리의 러브빔을 요리조리 피해 다니기를 6년! 브라이스는 줄리에게 받은 달걀을 쓰레기통에 버리다 들키고, 화가 난 줄리는 그날부터 브라이스를 피하기 시작한다. 하지만 성가신 그녀가 사라지자 브라이스는 오히려 전 같지 않게 줄리가 신경 쓰이기 시작하는데… 라고 한다. 장면들을 보면서 다시 영화를 떠올리도록 해보자 ㅎㅎ #스틸컷 #명대사 A painting is more than the sum of its parts. .... .. 리뷰/영화 2020.03.28
C언어 예제 17 "Digit Frequency"[HackerRank] https://www.hackerrank.com/challenges/frequency-of-digits-1/problem Digit Frequency | HackerRank Given a very large number, count the frequency of each digit from [0-9] www.hackerrank.com 배경지식 gets() scanf()도 입력을 받지만 scanf로 공백을 입력받을 시에 Enter로 구분이 되버리고 scanf로는 공백을 받을 수 없다. 그리고 gets이 가장 쓰기 쉽고 짧음. 와 char와 int 연산 주석에 써놓음 1.문자열 입력받아야하네 2. 입력받은 것들을 다 조사해야하네. 3. 배열로 하고 반복문을 써야겠지 4. 0부터 9까지 조사해야하고 문자열의 .. 문제풀이(Problem Solving) 2020.03.28