고작 시간때문에 64비트로 넘어간게 아닙니다 CPU에서 32비트는 명령어/레지스터 길이가 32비트, 64비트는 명령어/레지스터 길이가 64비트라는걸 의미합니다. 그리고 이미 POSIX를 따르는 유닉스와 BSD, 리눅스는 시간을 담는 자료형을 32비트에서 64비트로 변경 해놨습니다. 따라서 시간 문제는 64비트 도입 동기가 아닙니다. 32비트 CPU에서도 레지스터 2개로 64비트 표현이 가능한데 2038년 문제 해결하자고 x64아키텍쳐를 만들 이유는 없죠. 32비트에서 64비트 아키텍쳐로 확장하면서 메모리 주소가 32비트에서 물리 40비트, 페이지 48비트로 확장되고, 예외처리가 스택을 따르는 대신 운영체제가 제공하는 함수 테이블 기반으로 작동하게 되며, 32비트 정수의 병렬 계산또한 가능해 졌습니다. 거기에 기존 8개의 레지스터에서 8개를 더 추가하고, MMX도 8개 더 추가되었습니다. SIMD지원도 강화되었죠. 거기에 아키텍쳐만 발전한 것이 아니고 파이프라인 성능과 슈퍼스칼라 구소 개선, 비순차 실행유닛 성능 향상 등 여러가지가 동시에 발전하면서 물리메모리 4기가, 가상메모리2기가 용량제한에서 벗어나 메모리를 크게 할당받을 수 있게 되었고 32비트 명령어는 일부 병렬처리가 가능해져 64비트 CPU에서 더 빠르게 작동합니다. 엄밀히 따지면 CPU 아키텍쳐에서 비트수가 커진다는건 컴퓨터가 다루는 수의 범위를 넓히는것이 목적입니다. 발전에 따라 8비트 255, 16비트 65535, 32비트 약 42억, 64비트 약 1884경으로 표현 숫자가 늘어나고, 레지스터도 그에맞게 크기가 확장되어 다양한 분야에서 효율성을 높이게 됩니다
단순히 시간문제 때문이라고 하기엔 32bit / 64bit 차이가 엄청난데.. 말씀하신 시간문제는 time_t 변수만 32bit에서 64bit 정수로 변경해주면 되는 부분이고 오히려 레지스터, 메모리 주소공간 쪽으로 설명했으면 더 낫지 않았으려나 싶습니다, 이렇게 설명을 끝내버리면 컴퓨터 비전공자들이 약간 오해할수도 있을것 같아여 ㅎ
이게 문제가 되는 이유는, 가정 내에서야 몇십만원짜리 컴퓨터 업그레이드 하면 장땡이지만, 산업현장의 기기들은 아직도 구시대의 컴퓨터 환경이라서 문제인거죠. 한대당 수천만~수십억이나 하는 기기들이 윈도우 95와 엇비슷하거나 그 이하인 경우도 많습니다. Y38K는 그 문제가 아주 골때리는 거죠.
모르고 있었는데 이제 알게됐네요 감사합니다. 개인적으로 궁금했던 것 중에 xp를 기준으로 만들어진 게임은 상위 윈도우 버전에서는 인풋렉이 생기는 경우가 있는데 이유가 궁금하네요. 그리고 보면서 궁금해진게 현실의 1초라는 시간을 컴퓨터로 어떻게 1초를 구현했는지 문득 궁금하네요. 당연히 컴퓨터의 1초가 정확하다고 인지하고 있는데 현실에서의 시간과 동일하게 구현했고, 심지어 전세계의 시간이 오차없이 맞아떨어진다는 게 생각해보면 참 어떻게 했는지 궁금합니다.
프로세서와 시간은 관련없다고 생각헙니다... 단지 시간을 카운트할때 4바이트 int형을 사용하는게 문제겠지요... 대부분의 전자시계에도 cost를 낮추기위해서 8, 16비트의 프로세서?가 탑재되지만 잘 작동하지요... 단지 시간을 카운터하기 위한 소프트웨어 아키텍쳐가 달라 문제가발생하는것.... 심지어 실제 인텔 x86계열은 64비트이지만 명령어는 32비트로 명령어를 수행할 때가 많습니다... 64비트는 메모리(RAM)를 접근하기위한 주소의 량을 늘려, 메모리용량을 늘리기위해서가 첫번째 목적이라 생각헙니다.. 32비트컴퓨터에서는 4기가 이상 램을 사용못하는 이유기도하죠..
운수 좋은날 컴퓨터가 안좋았는데, 마침 친구가 컴퓨터를 처분한대서 도와주었다. '오늘은 운도 좋네 이런 기회도 생기고' 일을끝내고, 집에있을 컴퓨터를 생각하며 4g짜리 램 두개를 거기서 가져 왔다. "야! 나왔다! 내가 너를 위해 이 램도 가져오고 말야! 어!(후략)" 램 교체작업을 하고, 켜보았다. 하지만... 나의 컴퓨터는 램의 반도 쓰지 못했다. ...나의 컴퓨터 os는 32bit였다. 그렇다. 최대 사용가능 램용량이 2.9g밖에 안되었다. 최대한 방법을 찾았지만, 방법은 하나뿐. os갈기. *램을* *사다* *놓았는데* *왜* *쓰지를* *못하니,* *왜* *쓰지를* *못하니……* *괴상하게도* *오늘은!* *운수가,* *좋더니만…….*
overflow가 될때 왜 음의 최대값 (해당 비트에서 수가 표현할수 있는 최소 범위)가 되는지 여쭤보는 분들이 많아서 설명해드리겠습니다. 빠르게 요약하자면, 컴퓨터 시스템에서 연산할때는 2의 보수를 사용하기 때문입니다. 그래서 음수에는 수의 범위를 하나 더 표현합니다. (2:34 부분에서 -2147483647 ~ 2147483647이라고 표시되어있는데, 실제로는 32비트에서의 수의 표현 범위는 -2147483648 ~ 2147483647입니다.) 다시 돌아와서, 부호 비트만 1로 바꾸어서 1000 0001을 -1로 표현하면 되지 않느냐? 라고 생각하실텐데, 이렇게 되면 문제가 발생합니다. 간단한 2진수로 1001이 -1일때의 연산 과정을 표현해드리겠습니다. (맨 왼쪽 비트가 부호비트입니다.) 0011 (+3) 1010 (-2) 이러한 수를 더하게 될때, 우리는 결과를 알고있습니다. 네. +1이 정답이죠. 하지만 연산하게 되면 다음과 같은 답이 나오게됩니다. 0011 +1010 ---------- 1101 (-5) 결과는 너무나도 다른 -5가 나오게 되었습니다. 부호비트때문에 연산이 제대로 안되는거죠. 그렇다고 음수일때 -1을 1001이 아닌, 0001의 반전인 1110로 표현하게 된다면 0이 부호가 존재하는 문제가 발생하게 됩니다. (0000은 +0, 1000은 -0) 0은 항상 0이고, 0에는 부호가 존재하지 않기 때문이죠. 이 문제들을 해결하기 위해 양의 정수일때 1을 빼고 비트를 모두 반전하게 해서 1111을 -1로 인식하게 합니다. 그러면 -2는 1110이 되겠죠. ( 1. +2는 2진수로 0010 2. 1을 빼면 2진수 0001 3. 비트를 반전하면 1110. -2는 2진수로 1110 입니다.) 이러한 수로 표현했을 때 연산 결과는 어떻게 될까요? 0011 (+3) +1110 (-2) ---------- 10001 여기서 우리는 2진수의 자리가 4자리까지 이므로 5자리일때 맨 앞자리를 버리면 0001이 나옵니다. 이것은 곧 +1이죠. 연산이 제대로 되었습니다. 결과가 음수일때도 한번 볼까요? 0011 (+3) +1100 (-4) ------------ 1111 (-1) 결과가 -1로 제대로 나오게 됩니다. 이러한 방식이 바로 2의 보수이고, 컴퓨터 시스템에서는 2의 보수 방식을 사용하기 때문에 overflow가 발생하면 수를 표현할수 있는 최소 숫자. 즉 제일 작은 숫자에서 시작하게 됩니다. (0111 에서 1을 더하면 1000이 되는데, 위에서 표현했듯이 1000은 -8입니다.) 2의 보수 개념을 설명하기 힘들어서 쉽게 적어봤는데 도움이 되셨다면 좋겠습니다...^^
2:38 32bit Y38K (2038년도) 문제 , 2:56 첫 32bit 윈도우인 윈도우95 가 나온 년도인 1995년 1월 1일부터 시작해주지... , 4:10 2038년 01월 19일 화요일 AM 03시 14분 , 6:05 , 6:53 64비트 = 2140년 이상 표현 가능 , 7:02 RAM 192GB
형 오늘 구독해버렷어 형은 분명 성공할거야. 난 성공할 사람들만 구독하거든... By the way, 내가 컴터에 대해서 정말 너무 몰라. 내가 다니는 회사는 규모가 너무 작아서 내 컴퓨터는 내가 관리해야 하는데 사실 작은 문제가 발생해도 컴퓨터가 느려져도 인터넷에서 파일 다운받다가 인터넷창이 모두 꺼져도 내가 할 수 있는건 한마디의 욕뿐이야... 형에게 요구하고 싶은게 많지만 두가지만 설명해 줬음 해. 1. 자기컴퓨터 자기가 관리 하는 법 2. 하드웨어 설명 사실 2번의 하드웨어 설명은.. 요즘 데스크톱을 하나 장만하고 싶은데... 아는게 없어 혼자 알아볼 수 는 없고 친구들한테 물어보자니 나도 이제 좀 알고싶고.. 근데 형이 알려주면 쉽게 이해될 거같아 일단 부탁해볼게 형 좋은영상 만들어줘서 고마워 화이팅!!
오 뭔지 궁금햇는데 이런 영상 너무 조음! 밑에분들 막 뭐라하눈데 이분은 고지식 을 하는데 쉽게 할려고 간단하고 쉽게 말하는건데 막 뭐라하면 안되지.. 근데 그럼 2038년이 32비트 서비스 종료되나요??? (그때 엄마한테 컴퓨터 쓰던거 이제 못 쓴다고 사달라해야징 32비트 4기가 노트북입니다
5:17 우리나라만 해도 수많은 마트 식당 편의점 등에서 사용하는 Pos 기기들 70% 이상이 32비트 시스템을 사용한다고 합니다. 대기업의 전산서버 시스템도 32비트라고 하며... 실제로 A그룹에서 각 지사,지점에 할당되는 전산 시스템과 지점등에서 사용하는 컴퓨터는 32비트로 이뤄져있으며 64비트 시스템에서 접속이 안됩니다.(제가 회사를 다니며 직접 보고 전산실에 문의하여 받은 답변이며 지금은 퇴사를 하였지만 회사에서 혹시나 기업비밀 누설로 고소를 할지 모르니 공개는 안하겠습니다) 또한 대부분의 관공서,학교 등의 pc도 32비트로 이루어진 시스템이 많다고 합니다... ( 이건 예전에 동네 컴퓨터 아저씨 채널에서 보았습니다)
한번 이룬 시스템을 바꾸기에는 시간도, 돈도 들고, 기존에 안정성이 이미 검증되어 계속 사용중인걸 갈아 엎을필요가 없죠. 시스템을 바꾸는 순간 일 효율성이 일시적으로 떨어져 회사에 막대한 손해가 발생하게 되니까요. (시스템이 한두푼도 아니구요) 쉽게 못바꾸는거에요. 결정적으로... 32비트 체제 시스템들이 가격이 "쌉니다"
시간을 표기하는 자료형인 4바이트 단위를 8바이트인 long long 형으로 늘리면 시간 문제는 해결되지 않을까요? 단순히 생각하면 32비트와 64비트는 처리하는 bit수가 다른 cpu이니 큰 상관은 없고 소프트웨어로시간을 처리하는 자료형의 크기를 늘리는 업데이트를 진행한다면 문제 없을 것으로 보이는데요?
트렌지스터가 전기흐름을 감지하고 보내주고 안보내준데에서 착안했다고하는데 영상찾다보니 이해가 빠른게 있어서 th-cam.com/video/KoQkjd-oU2Q/w-d-xo.html 간단하게 영상내용 요약하면 컴퓨터는 전기로 움직이니 전기가있다 없다로만 구분하기에 2진수를 쓰고 초창기 환경부터가 2진수 기반으로 만들어져서 다른 진법으로 바꾸려면 많은 노동력이 필요로하기때문에 다른 진법으로 쓰면 처리속도가 늘어진다고해요
이거약간 영상 방향을 시청수와 재미있는부분들쪽으로 간게 아닌가싶다. 왜냐하면 이영상에서 보는 소재들은 우리근처에서 쉽게 볼수있고 쉽게 이해할수있는 부분으로 제작되었다는거임. 댓글쓰신 컴공과 님들은 더상세하게 32비트와 64비트의 차이점을 설명하셨는데 아무래도 영상시간이나 흥미등이 제약이 많이생김으로 마지막에약간 참고하신듯. 컴터엔관심있지만 전공은아닌 댓글러가쓰고갑니당
64bit 시스템의 동기도 동기지만, overflow 직후의 시계도 잘못되어있는거같네요? 2147483648을 채운 후 (-)부호로 넘어가는 순간 (- 0)부터 시작하게 되므로, 2038년에서 1901년으로 가는게 아니라 1970년 1월 1일로 간 후, 1969년 12월 31일로 시간을 역산해 나가야 하는게 맞지 않나요?
빠르게 요약하자면, 컴퓨터 시스템에서 연산할때는 2의 보수를 사용하기 때문입니다. 그래서 음수에는 수의 범위를 하나 더 표현합니다. (2:34 부분에서 -2147483647 ~ 2147483647이라고 표시되어있는데, 실제로는 32비트에서의 수의 표현 범위는 -2147483648 ~ 2147483647입니다.) 다시 돌아와서, 1000 0001을 -1로 표현하면 되지 않느냐? 라고 생각하실텐데, 이렇게 되면 문제가 발생합니다. 간단한 2진수로 1001이 -1일때의 연산 과정을 표현해드리겠습니다. (맨 왼쪽 비트가 부호비트입니다.) 0011 (+3) 1010 (-2) 이러한 수를 더하게 될때, 우리는 결과를 알고있습니다. 네. +1이 정답이죠. 하지만 연산하게 되면 다음과 같은 답이 나오게됩니다. 0011 +1010 ---------- 1101 (-5) 결과는 너무나도 다른 -5가 나오게 되었습니다. 부호비트때문에 연산이 제대로 안되는거죠. 그렇다고 음수일때 -1을 1001이 아닌, 0001의 반전인 1110로 표현하게 된다면 0이 부호가 존재하는 문제가 발생하게 됩니다. (0000은 +0, 1000은 -0) 0은 항상 0이고, 0에는 부호가 존재하지 않기 때문이죠. 이 문제들을 해결하기 위해 -0인 1111을 -1로 인식하게 합니다. 그러면 -2는 1110이 되겠죠. 쉽게 말해서 원래의 수에서 1을 빼고, 비트를 모두 반전시킨다고 생각하시면 됩니다. ( 1. +2는 2진수로 0010 2. 1을 빼면 2진수 0001 3. 비트를 반전하면 1110. -2는 2진수로 1110 입니다.) 이러한 수로 표현했을 때 연산 결과는 어떻게 될까요? 0011 (+3) +1110 (-2) ---------- 10001 여기서 우리는 2진수의 자리가 4자리까지 이므로 5자리일때 맨 앞자리를 버리면 0001이 나옵니다. 이것은 곧 +1이죠. 연산이 제대로 되었습니다. 결과가 음수일때도 한번 볼까요? 0011 (+3) +1100 (-4) ------------ 1111 (-1) 결과가 -1로 제대로 나오게 됩니다. 이러한 방식이 바로 2의 보수이고, 컴퓨터 시스템에서는 2의 보수 방식을 사용하기 때문에 overflow가 발생하면 수를 표현할수 있는 최소 숫자. 즉 제일 작은 숫자에서 시작하게 됩니다. (0111 에서 1을 더하면 1000이 되는데, 위에서 표현했듯이 1000은 -8입니다.) 2의 보수 개념을 설명하기 힘들어서 쉽게 적어봤는데 도움이 되셨다면 좋겠습니다...^^
쉽게생각하면 10의자리만 가지고는 99까지만 표현할수밌지만 100의 자리로는 999까지 표현할수있으니 한번에 핸들링 할 수있는 데이터가 0부터 999까지 천개를 처리할수있으니까 1000개의 데이터를 한번에 처리할 수 있지만 10의자리로 100개씩 10번 데이터를 엎어줘야하고 그 엎어주는 그럼 추가적으로 작업을 해야하겠죠 ?
사실 이야기가 좀 복잡해지는데, 아키텍쳐 수준까지 내려가야 합니다. 64비트 프로세서에서 복수의 32비트 데이터에 대한 서로 다른 연산을 수행하는 범용 인스트럭션이 포함된 아키텍쳐가 IA64 였으나, 기존의 x86 아키텍쳐와 호환성 문제가 컸습니다. 그에 따라 기존의 32비트 연산과 거의 동일한 수행을 하는 AMD64 (흔히들 알고 계시는 x86_64) 아키텍쳐에 밀려 현재 출시되는 거의 모든 데스크탑 CPU는 AMD64 아키텍쳐로 출시되고 있습니다. 이 AMD64 ISA로 출시되는 CPU는 앞에서도 말씀드렸다시피 대부분의 연산을 기존의 32비트 연산과 동일하게 수행하므로, 비트 대역폭의 확장에 비해 연산 속도의 이득을 크게 보지 못하고 있는 측면이 있습니다. 단, 멀티미디어 처리에 주로 사용되는 SIMD 인스트럭션의 경우 이런 문제에서 비교적 자유롭기에, 이 부분은 확장된 비트 대역폭에 의한 성능의 이득을 보고 있긴 합니다. 그 외에도 비트 대역폭의 확장은 메모리 스위칭 등 여러 운영체제 단계에서의 데이터 표현 범위의 확장에 따라 CPU 사이클에 영향을 미치기도 하지만, 비트 대역폭의 확장이 이미 CPU 연산 및 제어 회로의 복잡화를 야기하므로, 64비트로의 확장이 직접적으로 컴퓨터의 성능 향상을 가져왔다고 보기는 어렵겠습니다.
Y2K 문제는 32-bit 또는 64-bit 윈도우 시스템과 아무 상관 없는 일입니다. C 프로그램의 기능 time_t도 그런 문제가 아니고 이를 사용하는 응용프로그램들이 년도를 어떤 길이로 저장하고 그 한계가 넘을때 어떻게 반응하게 프로그램 되어 있나에 따른 문제입니다. 8-bit로도 여러 바이트를 할당하면 느리지만 64-bit 시스템과 다름없지요.
그냥 가능한 명령어 수가 늘어서 이것저것 좋다 정도로만 알고있었는데... ㅎㄷㄷ하네요. 정말 좋은 정보를 이렇게 잘 정리해주시니까 그냥 머리에 쏙쏙 들어옵니다. 근데 무척 궁금한게 있는데 CPU나 RAM에서 작동 단위가 왜 Hz인거죠? 뭐 초당 가능한 연산 수를 주파수로 쓴거다 하는데 그럼 CPS(Calculation Per Second)로 하면 되지 않나요?
장비에서는 전자기파 진동을 주파수라고 말합니다. cpu 의 계산 성능은 그렇게 단편적이지가 않습니다. 소수점을 담당하는 부분도 있고 정수만 담당하는 부분도 있구요. 또한 cpu내에 캐시메모리의 크기, 아키텍쳐에 따라 또 성능이 들쑥날쑥 달라지기때문에 단순히 계산성능으로 표기가 힘들게 되는겁니다. (단순연산으로는 gpu가 cpu보다 몇배 빠릅니다) cpu 조차도 환경에 따라 적합한 조화가 있는터라 그러한 기준으로 성능을 표기할수 없습니다. (기준을 세우기도 힘들구요) 또한 연산능력이 없는 메모리는 님이 말하는 계산수치로는 표기할수 없죠 그러기에 칩셋의 마스터클럭신호의 신호 발진기의 최대 진동수로 표기하는것이죠. (헤르쯔 단위는 이 전자파의 진동을 발견한 물리학자의 하인리히 헤르쯔에서 따온 단위인건 아시죠?) 그리고 1초에 전자신호의 진동이 많으면 많을수록 그마만큼의 데이터를 많이 실어보낼수 있고 하나에 진동에 실어보낼수 있는 데이터량이 한정이 되어있기 때문에 이것이 코어 연산수의 척도나 메모리의 성능의 척도로 보는것이지요.
제 얄팍한 지식으로 윗분 말씀에 좀 더 보태보자면 전자기기는 모두 클럭이라는 동기화신호를 바탕으로 동작합니다. 나는 1번이라는 일을 하고 있는데 다른쪽에서는 3번일을 하려고 합니다 하지만 3번 일은 1번일의 결과값을 써야한다면 문제가 생기겠죠 이런 뒤죽박죽으로 처리가 되는 걸 방지하기 위해 클럭이라는 동기화신호를 바탕으로 회로가 돌아갑니다. 그래서 hz단위를 쓰는거고요 왜냐하면 클럭은 0 1 상태가 반복되며 나타나는 사각파 형태거든요. 더 깊게 들어가면 ipc니 파이프라인이니 이런것 도 많지만 대략 이런거다 생각하시면 될 것 같습니다. P.s 참고로 32비트에서 64비트의 차이점은 사용하는 명령어의 차이도 있지만 사용할 수 있는 bit수가 늘어나서 사용할 수 있는 메모리 용량이 확장이 가능하죠
작동단위가 Hz인 이유는 명령어 하나가 딱 1 사이클에 끝나지 않아서 그렇습니다. 설명하려면 CPU 구조까지 내려가야 하지만 쉽게 풀자면 명령어 1개는 보통 13사이클을 돌아야 완전한 결과가 나옵니다. 마치 컨베이어 벨트 돌리듯 작업 영역이 나뉘어 있고 한 영역에서는 정해진 일만 해서 다음칸으로 넘겨줘야 합니다. 따라서 "다음칸으로 넘길 시간"에 대한 기준이 필요하고, 이것 때문에 hz단위로 표시합니다. 전통적으로 켜짐과 꺼짐을 반복하는 회로는 그 횟수를 Hz로 표기했기 때문이기도 하구요
열무님 말씀처럼 자원을 잡아먹는 이유도 있고 64비트를 지원하지 않는 하드웨어도 종종 있습니다. 그리고 아직은 64비트에서 뿜어내는 고성능이 필요없는 사람들의 필요성에 의해서도 32비트가 남았습니다. 생각해보세요. 사무실에서 문서나 쓰고 메일 보내는 일에 64비트나 32비트가 무슨 상관이겠어요? 보다 익숙한 환경(32비트)이 좋겠죠. 그리고 일부 특수한 경우(초소형 PC - 요즘은 십센티미터 남짓한 막대처럼 나온 스틱PC가 있습니다.)에도 64비트를 지원할 하드웨어 설치가 물리적으로 불가능할 때에도 아직까지는 32비트를 사용할 필요가 있죠. 결론, 아직은 기술적, 재정적인 이유로 32비트가 필요하지만 차츰 그 입지는 줄어들 것이다.
32비트 환경에서는 int도 long 을 썼고 int가 4byte니까 그에 맞춰서 메모리 용량도 43억이 맥시멈이었고 IP-4의 주소체계 또한 4byte 체계였고... 64비트 환경으로 바뀌니 int도 long long 으로 바뀌고 int 가 8byte가 되니까 메모리 용량도 어마무시한 잠재용량을 가지게 되었고 IP-6의 주소체계도 8byte 체계로 바뀌고...
표현바로잡아주세요
Y38K 문제라고 하면 38000년도 문제가됩니다.
정확한 표기는 Y2k38문제입니다.
오호~ 그렇네요.. 아무 생각없이 봤었는데.. Y38K 면.... 3만8천년....
3만8천년 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
뭔가 묘하게 웃기네 ㅋㅋㅋㅋㅋㅋㅋㅋ
@@박스던지는상남자 현실적으로 확 안 와닿는 년도라서 그런지.... 아주 나쁜 여자를 욕하는거 처럼 느껴지는건 나 뿐인가요??? 3만 8천배 쯤 나쁜년? ㅋㅋ
@@슈퍼리치-j5s 3만 8천년...2천년만 더 있으면 40000년...40k... For the Emperor!
Y2.038K
고작 시간때문에 64비트로 넘어간게 아닙니다
CPU에서 32비트는 명령어/레지스터 길이가 32비트, 64비트는 명령어/레지스터 길이가 64비트라는걸 의미합니다.
그리고 이미 POSIX를 따르는 유닉스와 BSD, 리눅스는 시간을 담는 자료형을 32비트에서 64비트로 변경 해놨습니다.
따라서 시간 문제는 64비트 도입 동기가 아닙니다.
32비트 CPU에서도 레지스터 2개로 64비트 표현이 가능한데 2038년 문제 해결하자고 x64아키텍쳐를 만들 이유는 없죠.
32비트에서 64비트 아키텍쳐로 확장하면서 메모리 주소가 32비트에서 물리 40비트, 페이지 48비트로 확장되고, 예외처리가 스택을 따르는 대신 운영체제가 제공하는 함수 테이블 기반으로 작동하게 되며, 32비트 정수의 병렬 계산또한 가능해 졌습니다. 거기에 기존 8개의 레지스터에서 8개를 더 추가하고, MMX도 8개 더 추가되었습니다. SIMD지원도 강화되었죠. 거기에 아키텍쳐만 발전한 것이 아니고 파이프라인 성능과 슈퍼스칼라 구소 개선, 비순차 실행유닛 성능 향상 등 여러가지가 동시에 발전하면서 물리메모리 4기가, 가상메모리2기가 용량제한에서 벗어나 메모리를 크게 할당받을 수 있게 되었고 32비트 명령어는 일부 병렬처리가 가능해져 64비트 CPU에서 더 빠르게 작동합니다.
엄밀히 따지면 CPU 아키텍쳐에서 비트수가 커진다는건 컴퓨터가 다루는 수의 범위를 넓히는것이 목적입니다.
발전에 따라 8비트 255, 16비트 65535, 32비트 약 42억, 64비트 약 1884경으로 표현 숫자가 늘어나고, 레지스터도 그에맞게 크기가 확장되어 다양한 분야에서 효율성을 높이게 됩니다
아키텍쳐 하시는 분이네 ㅎ
네, 무슨소린지 이해 못했습니다
@@zeroequator 예, 저걸 쉽게 설명하겠다는거 부터가 말이안되는거죠
@@zeroequator 컴퓨터이론에 대한 지식 없이 이해하기는 매우 힘든 개념입니다.
쉽게 설명하려다 보면 영상처럼 반쯤 틀린 설명이 되기 마련...
@@choryong46 32비트는 1톤트럭 64비트는 덤프트럭이라고 생각하면 편합니다
덤프트럭이 더 많은 짐을 한번에 옮길수 있듯이 64비트가 한번에 더 많은 데이터를 처리할 수 있죠
정말 댓글을 안 달수가 없습니다...어쩜 이렇게 지루하지 않게 이 잼없고 딱딱한 컴퓨터를 신나게 집중할 수 있게 만들죠? 거니님 멋지십니다..
뜬금없이 Y2K를 이해하고 간다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
형 머리 무슨일이야 솜브라야?
ㅋㅋㅋㅋㅋ솜브라닮았닼ㅋㅋ
솜브라 미친ㅋㅋㅋㅋ ㄲ
닭벼슬헤야
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
궁금했던것들 위주로 쏙쏙 컨텐츠 만들어 주셔서 감사해여. 넘 재밌어여
강의가 너무 상큼하셔서 저의 귀가 어쩔줄을 모르겠습니다. ㅋㅋㅋㅋ
10분전에 영상 하나 보고 좋아요 구독해서 영상 세개째 보는데 이젠 광고를 끝까지 보고 보렵니다. 값진 영상 감사해요~
이해가 너무 잘되요
단순히 시간문제 때문이라고 하기엔 32bit / 64bit 차이가 엄청난데.. 말씀하신 시간문제는 time_t 변수만 32bit에서 64bit 정수로 변경해주면 되는 부분이고 오히려 레지스터, 메모리 주소공간 쪽으로 설명했으면 더 낫지 않았으려나 싶습니다, 이렇게 설명을 끝내버리면 컴퓨터 비전공자들이 약간 오해할수도 있을것 같아여 ㅎ
이거맞다
저도 단순 시간문제로만 이해했는데 댓글보니 그게 아니네요
@@연두-n5m 32비트 와 64비트 시스템은 천지가 달라져서요.. 컴퓨터 시스템의 전반에 걸쳐 다 변하거든요
@@slavetocode 몰랐어요 ㅎ
그러게요 비전공자지만 컴터에 관련 많은 사람인데 음.. 보면서 뭐지?했네요
이게 문제가 되는 이유는,
가정 내에서야 몇십만원짜리 컴퓨터 업그레이드 하면 장땡이지만,
산업현장의 기기들은 아직도 구시대의 컴퓨터 환경이라서 문제인거죠.
한대당 수천만~수십억이나 하는 기기들이 윈도우 95와 엇비슷하거나 그 이하인 경우도 많습니다. Y38K는 그 문제가 아주 골때리는 거죠.
공장에서는 아직도 윈도우 XP쓰고있을 정도
아무문제 없습니다
Y2k때도 아무문제 없이 잘돌아간거 모르심
@큐노 64비트는 언제 문제가 일어나나요
@@keige369 그렇군요
아니 근데...Y2K에서 Y는 Year, 즉 연을 뜻하는 거고, 2는 말 그대로 2, K는 킬로, 즉 1000을 의미하는 겁니다. 그래서 연2천으로, 2000년 이라는 뜻아죠.
그러니까 2038년이면 Y38K 가 아니라, Y2.038K입니다.
갑자기 그거 생각난다 ㅋㅋ
뭔가 알고 싶을 때 틀린 거 설명해주면 그거 듣고 사람들이 다 고쳐준다더니 ㅋㅋㅋㅋ
어그로 질문법?
컴맞출때 아주좋죠
인텔시퓨에 암드보드넣어주고 ddr3램박아주면
본사람들이 피꺼솟하면서 자세히알려주죠
ㅋㅋㅋ 오오 천재군요..... 진짜 제대로 알고 싶은거 검색해도 잘 안나올때... 진짜 전문가들 갑갑해서 출두하게 만드는 비법.!!! ㅋㅋㅋ
와앜ㄱㄲㄲ
@@kisungkim7408 이분컴퓨터 모르시네..
암드시퓨에 인텔보드넣어야합니다...
파워는 pnc나 천궁 빙산으로 박아주고요
램은 ddr3보다 ddr2 성능이 더좋다고 들었습니다 이렇게해서 70 만원밖에안들었네요
9900k에 310해도되죠?
@@Edinsonon 아니에요 99k는 310호환 안돼요 3990WX(그런시피유없음)만 호환되요
교수님 수업보다 재밌습니다ㅠㅠ
거니님 대성하시길🙏
진짜... 거니님, 지금 봐도 좋은 영상이네요. 현직 개발자이지만 매번 헷갈려서 머릿속으로 한번 정리하고자 시청했어요!
모르고 있었는데 이제 알게됐네요 감사합니다. 개인적으로 궁금했던 것 중에 xp를 기준으로 만들어진 게임은 상위 윈도우 버전에서는 인풋렉이 생기는 경우가 있는데 이유가 궁금하네요. 그리고 보면서 궁금해진게 현실의 1초라는 시간을 컴퓨터로 어떻게 1초를 구현했는지 문득 궁금하네요. 당연히 컴퓨터의 1초가 정확하다고 인지하고 있는데 현실에서의 시간과 동일하게 구현했고, 심지어 전세계의 시간이 오차없이 맞아떨어진다는 게 생각해보면 참 어떻게 했는지 궁금합니다.
프로세서와 시간은 관련없다고 생각헙니다... 단지 시간을 카운트할때 4바이트 int형을 사용하는게 문제겠지요... 대부분의 전자시계에도 cost를 낮추기위해서 8, 16비트의 프로세서?가 탑재되지만 잘 작동하지요... 단지 시간을 카운터하기 위한 소프트웨어 아키텍쳐가 달라 문제가발생하는것.... 심지어 실제 인텔 x86계열은 64비트이지만 명령어는 32비트로 명령어를 수행할 때가 많습니다... 64비트는 메모리(RAM)를 접근하기위한 주소의 량을 늘려, 메모리용량을 늘리기위해서가 첫번째 목적이라 생각헙니다.. 32비트컴퓨터에서는 4기가 이상 램을 사용못하는 이유기도하죠..
운수 좋은날
컴퓨터가 안좋았는데, 마침 친구가 컴퓨터를 처분한대서 도와주었다. '오늘은 운도 좋네 이런 기회도 생기고' 일을끝내고, 집에있을 컴퓨터를 생각하며 4g짜리 램 두개를 거기서 가져 왔다.
"야! 나왔다! 내가 너를 위해 이 램도 가져오고 말야! 어!(후략)"
램 교체작업을 하고, 켜보았다.
하지만... 나의 컴퓨터는 램의 반도 쓰지 못했다.
...나의 컴퓨터 os는 32bit였다.
그렇다. 최대 사용가능 램용량이 2.9g밖에 안되었다.
최대한 방법을 찾았지만, 방법은 하나뿐.
os갈기.
*램을* *사다* *놓았는데* *왜* *쓰지를* *못하니,* *왜* *쓰지를* *못하니……* *괴상하게도* *오늘은!* *운수가,* *좋더니만…….*
@@PRM_K 공짜로? 어떻게?
소설이아니라 실화임? ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 컴 백업해두고 윈도우 64비트 까는법 유튜브에 검색해서 따라하세여~
노트북 32비트인데 4기가 라고 되어이ㅛ던데요
이야 작품을 이렇게 바꾸네
Usb 2개면 가능할 겁니다
1개 usb는 백업 용으로 하시고 다른 한개는 설치 부팅용으로 하세요. 그리고 설치 부팅은 8GB는 적어도 되야 합니다.
백업 usb로 파일 저장후 다시 깔고 다시 그 화면에 다시 넣으면
됩니다.
그동안 몰랐던 많은 부분이 어렵지않게 스며들어서 좋네요. 구독 알람 설정했습니다
거니는 왜 이리 똑똑한데 말도 잘하네...책 내면 살께요
영상이 속도감 있고 가볍게 풀어내서 부담 없이 시청하기 좋네요
거니님 늘 유용한 영상 감사드립니다. 늘 큰 도움이됩니다.
6:38 부터 나오는 피아노 음악 제목이 뭔가요?ㅜㅜ
잘봤어요!
감사합니다. 항상 잘 봅니다
좋은정보 고맙습니다^^ 덕분에 하나 알아갑니다~
저기 ..혹시 ..알고리즘님처럼 유튜영상을 만드려면 ..어떻게 해야하나요 ?
overflow가 될때 왜 음의 최대값 (해당 비트에서 수가 표현할수 있는 최소 범위)가 되는지 여쭤보는 분들이 많아서 설명해드리겠습니다.
빠르게 요약하자면, 컴퓨터 시스템에서 연산할때는 2의 보수를 사용하기 때문입니다.
그래서 음수에는 수의 범위를 하나 더 표현합니다.
(2:34 부분에서 -2147483647 ~ 2147483647이라고 표시되어있는데,
실제로는 32비트에서의 수의 표현 범위는 -2147483648 ~ 2147483647입니다.)
다시 돌아와서, 부호 비트만 1로 바꾸어서 1000 0001을 -1로 표현하면 되지 않느냐? 라고 생각하실텐데,
이렇게 되면 문제가 발생합니다.
간단한 2진수로 1001이 -1일때의 연산 과정을 표현해드리겠습니다. (맨 왼쪽 비트가 부호비트입니다.)
0011 (+3)
1010 (-2)
이러한 수를 더하게 될때, 우리는 결과를 알고있습니다.
네. +1이 정답이죠. 하지만 연산하게 되면 다음과 같은 답이 나오게됩니다.
0011
+1010
----------
1101 (-5)
결과는 너무나도 다른 -5가 나오게 되었습니다. 부호비트때문에 연산이 제대로 안되는거죠.
그렇다고 음수일때 -1을 1001이 아닌, 0001의 반전인 1110로 표현하게 된다면
0이 부호가 존재하는 문제가 발생하게 됩니다.
(0000은 +0, 1000은 -0)
0은 항상 0이고, 0에는 부호가 존재하지 않기 때문이죠. 이 문제들을 해결하기 위해 양의 정수일때 1을 빼고 비트를 모두 반전하게 해서 1111을 -1로 인식하게 합니다. 그러면 -2는 1110이 되겠죠.
( 1. +2는 2진수로 0010
2. 1을 빼면 2진수 0001
3. 비트를 반전하면 1110. -2는 2진수로 1110 입니다.)
이러한 수로 표현했을 때 연산 결과는 어떻게 될까요?
0011 (+3)
+1110 (-2)
----------
10001
여기서 우리는 2진수의 자리가 4자리까지 이므로 5자리일때 맨 앞자리를 버리면 0001이 나옵니다. 이것은 곧 +1이죠. 연산이 제대로 되었습니다.
결과가 음수일때도 한번 볼까요?
0011 (+3)
+1100 (-4)
------------
1111 (-1)
결과가 -1로 제대로 나오게 됩니다. 이러한 방식이 바로 2의 보수이고, 컴퓨터 시스템에서는 2의 보수 방식을 사용하기 때문에 overflow가 발생하면
수를 표현할수 있는 최소 숫자. 즉 제일 작은 숫자에서 시작하게 됩니다.
(0111 에서 1을 더하면 1000이 되는데, 위에서 표현했듯이 1000은 -8입니다.)
2의 보수 개념을 설명하기 힘들어서 쉽게 적어봤는데 도움이 되셨다면 좋겠습니다...^^
의문이 있어 질문드립니다.
현재 인텔 AMD의 64bit CPU가 working register도 64bit인지요?
과거 아이태니엄 CPU처럼 말입니다
2:38 32bit Y38K (2038년도) 문제 , 2:56 첫 32bit 윈도우인 윈도우95 가 나온 년도인 1995년 1월 1일부터 시작해주지... , 4:10 2038년 01월 19일 화요일 AM 03시 14분 , 6:05 , 6:53 64비트 = 2140년 이상 표현 가능 , 7:02 RAM 192GB
형 너무 섹시해요 제가 원하던 지식만 알려주시는 거같아요
지금 9년째 쓰고있는 컴퓨터가 있는데 64비트로 바꿀 수 있을까요 혹은 호환(?)같은 게 가능할까요? 램은 현재 8기가 입니다 (기존 hdd가 망가져서 ssd로 바꿀예정)
삼성이 개발지원하고있는 3진법 반도체랑 양자컴퓨터랑 차이가 궁금합니다.
7:05 그러면 윈도우10 32비트면 램을 16GB를 쓰고있어도 실제론 램4GB밖에 못쓰고있는셈이되는건가여?
네.....
ㅋㅋㅋㅋ 저 예전에 컴퓨터에다가 램 16기가(DDR3시절) 만들어 놓고 32비트 써서 4기가밖에 못 쓴 기억이...ㅋㅋㅋㅋ
말못할고통이ㅠㅅ
정보를 전달하는 유튭은 신중해야 합니다.
먼말?
감사합니다. 궁금한게 있는데요. 처음에 비트 테이블 보야주셧을때 bit- byte - kb -mb 이런식으로 올라간다고 하샷는데 그럼 1kb = 1024 byte면 0이나 1로 표시할수있는게 1024×8 번 잇다는 건가요? 왜 기가바이트 테라바이트는 저장공간 얘기할때 많이쓰죠?
진짜 유익해요!! 좋아요랑 댓글가용. 이런거 많이 올려주세요!!
콤퓨타 지식에 도움이 되서 구독꾸욱 누르고 갑니다.
질문이 있는데요...? 날자는 무조건 양수인데 왜 time_t에서는 부호비트를 구지 사용한건가요?
ㅎㅎ. 잘 보고 가요.
오~ 설명 잘하십니다.ㅎㅎ
유튜브 생방하는법 따라했눈데 안되여 ㅠㅠ 그리구 영상 편집 및 올리는법 개인적으로좀 알려쥬실수잇나요
악귀 뱜의 스멜이....
영상 잘봤습니다 ㅎ 혹시 100을 표현하는게 0110 0100 아닌가요?
재밌게 보고, 말씀하신 것처럼.. 좋아요~ 누르고 갑니다~
감사합니다. 그런데 컴퓨터의 시간이 1970년 1월 1일부터 시작한다는게 정확히 어디서 그렇다는 건가요? 그 세팅을 계속 바꾸면 되는거 아닌가욤?
시간은 32비트 아키텍처에서 64비트 아키텍처로 넘어간 것과 전혀 관련이 없습니다 시간을 64비트로 표현하고싶다면 그저 64비트 형식으로 저장하면 됩니다 이 말이 이해가 안가면 32비트 운영체제(혹은 구형 스마트폰)에서 메모장에 오늘 년/월/일 써보세요 입력이 안되나
형 오늘 구독해버렷어
형은 분명 성공할거야. 난 성공할 사람들만 구독하거든...
By the way, 내가 컴터에 대해서 정말 너무 몰라. 내가 다니는 회사는 규모가 너무 작아서 내 컴퓨터는 내가 관리해야 하는데 사실 작은 문제가 발생해도 컴퓨터가 느려져도 인터넷에서 파일 다운받다가 인터넷창이 모두 꺼져도 내가 할 수 있는건 한마디의 욕뿐이야... 형에게 요구하고 싶은게 많지만 두가지만 설명해 줬음 해.
1. 자기컴퓨터 자기가 관리 하는 법
2. 하드웨어 설명
사실 2번의 하드웨어 설명은.. 요즘 데스크톱을 하나 장만하고 싶은데... 아는게 없어 혼자 알아볼 수 는 없고 친구들한테 물어보자니 나도 이제 좀 알고싶고.. 근데 형이 알려주면 쉽게 이해될 거같아
일단 부탁해볼게 형
좋은영상 만들어줘서 고마워
화이팅!!
오 뭔지 궁금햇는데 이런 영상 너무 조음!
밑에분들 막 뭐라하눈데 이분은 고지식 을 하는데 쉽게 할려고 간단하고 쉽게 말하는건데 막 뭐라하면 안되지..
근데 그럼 2038년이 32비트 서비스 종료되나요??? (그때 엄마한테 컴퓨터 쓰던거 이제 못 쓴다고 사달라해야징
32비트 4기가 노트북입니다
좋아요 구독 알림까지 안 누를 수가 없네요ㅠㅜ
진짜 대단해요
유익한 정보 굿
오늘 첨 봤는데 상당히 알차게 귀가 뚫렸다고 할 정도로 설명 잘하시네요...
말씀 참 잘하시네요.
32비트 망가지게 그대로 냅둘까요? 겨우 시간표시 문제로 소프트웨어 업그레이드로 해결가능한 문제 아닌가요?
32비트에서 64비트로 최초로 넘어간건 AMD에서인데 암드가 인텔의 아성을 넘어보려는 것도 있었지만 그보다는 3D 그래픽을 표현하는데 4기가짜리 메모리 용량으로는 도저히 답이 안나오더라...해서입니다.
5:17 우리나라만 해도
수많은 마트 식당 편의점 등에서 사용하는 Pos 기기들
70% 이상이 32비트 시스템을 사용한다고 합니다.
대기업의 전산서버 시스템도 32비트라고 하며...
실제로 A그룹에서 각 지사,지점에 할당되는 전산 시스템과
지점등에서 사용하는 컴퓨터는 32비트로 이뤄져있으며 64비트 시스템에서 접속이 안됩니다.(제가 회사를 다니며 직접 보고
전산실에 문의하여 받은 답변이며 지금은 퇴사를 하였지만
회사에서 혹시나 기업비밀 누설로 고소를 할지 모르니 공개는 안하겠습니다)
또한 대부분의 관공서,학교 등의 pc도 32비트로 이루어진 시스템이 많다고 합니다... ( 이건 예전에 동네 컴퓨터 아저씨 채널에서 보았습니다)
한번 이룬 시스템을 바꾸기에는 시간도, 돈도 들고, 기존에 안정성이 이미 검증되어 계속 사용중인걸 갈아 엎을필요가 없죠. 시스템을 바꾸는 순간 일 효율성이 일시적으로 떨어져 회사에 막대한 손해가 발생하게 되니까요. (시스템이 한두푼도 아니구요) 쉽게 못바꾸는거에요. 결정적으로... 32비트 체제 시스템들이 가격이 "쌉니다"
@@BlueS2Silber 32비트 시스템이 저렴하며 시스템 갈아엎은데 금액이 엄청나게 들어가는건 사실이죠
근데 그나마 지금 바꿔나가는게 이득이 아닐까요 막상 32비트의 종말이 올때면 시스템가격이 더 상승할것 같아서요
시간을 표기하는 자료형인 4바이트 단위를 8바이트인 long long 형으로 늘리면 시간 문제는 해결되지 않을까요? 단순히 생각하면 32비트와 64비트는 처리하는 bit수가 다른 cpu이니 큰 상관은 없고 소프트웨어로시간을 처리하는 자료형의 크기를 늘리는 업데이트를 진행한다면 문제 없을 것으로 보이는데요?
나는 우리 애들에게 이런식으로 설명하는데 애들이 싫어함. 근데 정말 이런식의 설명은 중요함. 쉽지만 단편지식이 아닌 배경부터 차근히 설명해주어서 고마워요.
좋은 정보 감사드립니다. 교양으로 듣기 좋네요!
컴퓨터는 아직도 이진수를 쓴다는게 신기하네요.
이진수 말고 다른 숫자를 쓰면 연산이 훨씬 빨라지지 않을까요?
트렌지스터가 전기흐름을 감지하고 보내주고 안보내준데에서 착안했다고하는데 영상찾다보니 이해가 빠른게 있어서 th-cam.com/video/KoQkjd-oU2Q/w-d-xo.html
간단하게 영상내용 요약하면 컴퓨터는 전기로 움직이니 전기가있다 없다로만 구분하기에 2진수를 쓰고 초창기 환경부터가 2진수 기반으로 만들어져서
다른 진법으로 바꾸려면 많은 노동력이 필요로하기때문에 다른 진법으로 쓰면 처리속도가 늘어진다고해요
128비트 컴퓨터는 언제 나오나요?
우와! 엄청 쉽게 설명해 주시네요.... 구독 누르고 갑니다~
이거약간 영상 방향을 시청수와 재미있는부분들쪽으로 간게 아닌가싶다. 왜냐하면 이영상에서 보는 소재들은 우리근처에서 쉽게 볼수있고 쉽게 이해할수있는 부분으로 제작되었다는거임. 댓글쓰신 컴공과 님들은 더상세하게 32비트와 64비트의 차이점을 설명하셨는데 아무래도 영상시간이나 흥미등이 제약이 많이생김으로 마지막에약간 참고하신듯.
컴터엔관심있지만 전공은아닌 댓글러가쓰고갑니당
궁금한 게 막 128비트나 256비트로 껑충뛰지 않고 64비트로 깨작 올라갔다는 건 올리기가 힘든 건가요? 그렇다면 어떤 점이 힘든가요?
시리 인공지능와 빅스비인공지능 구글어시스턴트
인공지능 운영방식이 서로 다르다던데 좀 자세히
궁금합니다...
32 bit 옆에 붙는 x84 는 무슨 뜻인가요?
32비트 씨피유중 대표적인 인텔 386 486시절에 남은 표기입니다!
인텔의 8086프로세서의 x86 (16비트) 아키텍쳐를 시작으로 386 486 이후 채용된 x86 32비트 명령어셋를 의미합니다.
64bit 시스템의 동기도 동기지만, overflow 직후의 시계도 잘못되어있는거같네요? 2147483648을 채운 후 (-)부호로 넘어가는 순간 (- 0)부터 시작하게 되므로, 2038년에서 1901년으로 가는게 아니라 1970년 1월 1일로 간 후, 1969년 12월 31일로 시간을 역산해 나가야 하는게 맞지 않나요?
빠르게 요약하자면, 컴퓨터 시스템에서 연산할때는 2의 보수를 사용하기 때문입니다.
그래서 음수에는 수의 범위를 하나 더 표현합니다.
(2:34 부분에서 -2147483647 ~ 2147483647이라고 표시되어있는데,
실제로는 32비트에서의 수의 표현 범위는 -2147483648 ~ 2147483647입니다.)
다시 돌아와서, 1000 0001을 -1로 표현하면 되지 않느냐? 라고 생각하실텐데,
이렇게 되면 문제가 발생합니다.
간단한 2진수로 1001이 -1일때의 연산 과정을 표현해드리겠습니다. (맨 왼쪽 비트가 부호비트입니다.)
0011 (+3)
1010 (-2)
이러한 수를 더하게 될때, 우리는 결과를 알고있습니다.
네. +1이 정답이죠. 하지만 연산하게 되면 다음과 같은 답이 나오게됩니다.
0011
+1010
----------
1101 (-5)
결과는 너무나도 다른 -5가 나오게 되었습니다. 부호비트때문에 연산이 제대로 안되는거죠.
그렇다고 음수일때 -1을 1001이 아닌, 0001의 반전인 1110로 표현하게 된다면
0이 부호가 존재하는 문제가 발생하게 됩니다.
(0000은 +0, 1000은 -0)
0은 항상 0이고, 0에는 부호가 존재하지 않기 때문이죠. 이 문제들을 해결하기 위해 -0인 1111을 -1로 인식하게 합니다. 그러면 -2는 1110이 되겠죠.
쉽게 말해서 원래의 수에서 1을 빼고, 비트를 모두 반전시킨다고 생각하시면 됩니다.
( 1. +2는 2진수로 0010
2. 1을 빼면 2진수 0001
3. 비트를 반전하면 1110. -2는 2진수로 1110 입니다.)
이러한 수로 표현했을 때 연산 결과는 어떻게 될까요?
0011 (+3)
+1110 (-2)
----------
10001
여기서 우리는 2진수의 자리가 4자리까지 이므로 5자리일때 맨 앞자리를 버리면 0001이 나옵니다. 이것은 곧 +1이죠. 연산이 제대로 되었습니다.
결과가 음수일때도 한번 볼까요?
0011 (+3)
+1100 (-4)
------------
1111 (-1)
결과가 -1로 제대로 나오게 됩니다. 이러한 방식이 바로 2의 보수이고, 컴퓨터 시스템에서는 2의 보수 방식을 사용하기 때문에 overflow가 발생하면
수를 표현할수 있는 최소 숫자. 즉 제일 작은 숫자에서 시작하게 됩니다.
(0111 에서 1을 더하면 1000이 되는데, 위에서 표현했듯이 1000은 -8입니다.)
2의 보수 개념을 설명하기 힘들어서 쉽게 적어봤는데 도움이 되셨다면 좋겠습니다...^^
단지 시간만 상관 있는 건가요?? 컴터 성능에도 상관있는 건가요?
단순하게 생각하면 컴터 성능에도 상관이 있죠 기존 32가지를 표현하던게 64가지를 표현한다고 보면 단순계산 2배 좋아짐 근데 32가지도 잘 안쓴다면 64를 써봣자 티가 안남
쉽게생각하면 10의자리만 가지고는 99까지만 표현할수밌지만 100의 자리로는 999까지 표현할수있으니 한번에 핸들링 할 수있는 데이터가 0부터 999까지 천개를 처리할수있으니까 1000개의 데이터를 한번에 처리할 수 있지만 10의자리로 100개씩 10번 데이터를 엎어줘야하고 그 엎어주는 그럼 추가적으로 작업을 해야하겠죠 ?
사실 이야기가 좀 복잡해지는데, 아키텍쳐 수준까지 내려가야 합니다.
64비트 프로세서에서 복수의 32비트 데이터에 대한 서로 다른 연산을 수행하는 범용 인스트럭션이 포함된 아키텍쳐가 IA64 였으나, 기존의 x86 아키텍쳐와 호환성 문제가 컸습니다. 그에 따라 기존의 32비트 연산과 거의 동일한 수행을 하는 AMD64 (흔히들 알고 계시는 x86_64) 아키텍쳐에 밀려 현재 출시되는 거의 모든 데스크탑 CPU는 AMD64 아키텍쳐로 출시되고 있습니다.
이 AMD64 ISA로 출시되는 CPU는 앞에서도 말씀드렸다시피 대부분의 연산을 기존의 32비트 연산과 동일하게 수행하므로, 비트 대역폭의 확장에 비해 연산 속도의 이득을 크게 보지 못하고 있는 측면이 있습니다. 단, 멀티미디어 처리에 주로 사용되는 SIMD 인스트럭션의 경우 이런 문제에서 비교적 자유롭기에, 이 부분은 확장된 비트 대역폭에 의한 성능의 이득을 보고 있긴 합니다.
그 외에도 비트 대역폭의 확장은 메모리 스위칭 등 여러 운영체제 단계에서의 데이터 표현 범위의 확장에 따라 CPU 사이클에 영향을 미치기도 하지만, 비트 대역폭의 확장이 이미 CPU 연산 및 제어 회로의 복잡화를 야기하므로, 64비트로의 확장이 직접적으로 컴퓨터의 성능 향상을 가져왔다고 보기는 어렵겠습니다.
설명하자면 굉장히 복잡해집니다 대학 전공과목에 해당하는 내용인지라
그냥 한번에 표현할 수 있는 가지수가 늘어나서 시스템 성능이 좋아진다~ 쉽게 이해하시면 되겠습니다
@@fiesta0841 2배라뇨?
근데 64비트의 장점이 단지 더많은 숫자를 단순히 셀수있다는 것뿐인가요??
근데 y2k문제가 세계적으로 전문가들이 이 문제에 대해 대비하고 했기 때문에 아무문제가 없었던 것이지
안일하게 방치했다면 진짜 상상했던 일이 일어났던 것이죠?
1:53 100이면 110 0100 아닌가요?
0하나 더 들어간거 같아여
64비트가 램 192GB까지 지원 한다고 하셨는데,
서버처럼나 맥프로(천만원대) 그 이상의 램을 지원하는 것들은 어떤 체제를 사용하는 건가요?
맥프로는 잘 모르겠고 서버컴은 메인보드가 다른걸로 앎
Windows 7 의 업데이트는 종료 되었지만. 예외를 두어 TIME - T 비서의 설정시간을 윈도우 업데이트를 통해 업데이트 하면 어떨까요?
문송한데요.ㅋㅋㅋ 32비트건 64비트건 이런 쉬운 이해를 위한 설명보다. 난 님의 말투등 설명의 이야기 서술의 색깔이 넘 재밌음^^
당연. 구독 좋아요~^^
어디서 주워들었는데 32비트에 비해 64비트가 용량이 커서 로딩이 느려서 현재 제한적으로 48비트(home/pro 등으로 비트 구분[48/64])를 윈도우에서 사용하고 있다고 하는걸 들은적 있는데 맞나요?
Y38K 버그가 된 시스템에 2039년 같은이름 데이터를 넣으면 덥어쓰기가 어떻게 되나요?
컴퓨터 관련해서 항상 공부하구 싶었는데 넘 좋은 컨텐츠 ㅋㅋ 지루할 때 나오는 깨알 같은 개드립 넘 조쿠요 ㅋㅋ
알고 싶은내용 댓글로 남기면 보시나요?
2:39 그래서 마크 파랜드 좌표가 그거였던거네요
컴터다시깔다 프로그램이 2가지있어서 해깔려 들어왔는데
자세히 알려줘서 더 이해안되지만.. 컴알못은 진짜 고마운영상ㅠ
0.75로 들었어요.. 말씀이 빠른건지 못알아들은건지..
Y2K 문제는 32-bit 또는 64-bit 윈도우 시스템과 아무 상관 없는 일입니다.
C 프로그램의 기능 time_t도 그런 문제가 아니고 이를 사용하는 응용프로그램들이 년도를 어떤 길이로 저장하고 그 한계가 넘을때 어떻게 반응하게 프로그램 되어 있나에 따른 문제입니다. 8-bit로도 여러 바이트를 할당하면 느리지만 64-bit 시스템과 다름없지요.
이야.. 설명 잘한당
64비트가 32비트보다 뭘 요구하나요?
당신.. 날 이해시키다니..
그냥 가능한 명령어 수가 늘어서 이것저것 좋다 정도로만 알고있었는데... ㅎㄷㄷ하네요.
정말 좋은 정보를 이렇게 잘 정리해주시니까 그냥 머리에 쏙쏙 들어옵니다.
근데 무척 궁금한게 있는데 CPU나 RAM에서 작동 단위가 왜 Hz인거죠?
뭐 초당 가능한 연산 수를 주파수로 쓴거다 하는데 그럼 CPS(Calculation Per Second)로 하면 되지 않나요?
장비에서는 전자기파 진동을 주파수라고 말합니다. cpu 의 계산 성능은 그렇게 단편적이지가 않습니다. 소수점을 담당하는 부분도 있고 정수만 담당하는 부분도 있구요. 또한 cpu내에 캐시메모리의 크기, 아키텍쳐에 따라 또 성능이 들쑥날쑥 달라지기때문에 단순히 계산성능으로 표기가 힘들게 되는겁니다. (단순연산으로는 gpu가 cpu보다 몇배 빠릅니다) cpu 조차도 환경에 따라 적합한 조화가 있는터라 그러한 기준으로 성능을 표기할수 없습니다. (기준을 세우기도 힘들구요) 또한 연산능력이 없는 메모리는 님이 말하는 계산수치로는 표기할수 없죠 그러기에 칩셋의 마스터클럭신호의 신호 발진기의 최대 진동수로 표기하는것이죠. (헤르쯔 단위는 이 전자파의 진동을 발견한 물리학자의 하인리히 헤르쯔에서 따온 단위인건 아시죠?) 그리고 1초에 전자신호의 진동이 많으면 많을수록 그마만큼의 데이터를 많이 실어보낼수 있고 하나에 진동에 실어보낼수 있는 데이터량이 한정이 되어있기 때문에 이것이 코어 연산수의 척도나 메모리의 성능의 척도로 보는것이지요.
제 얄팍한 지식으로 윗분 말씀에 좀 더 보태보자면 전자기기는 모두 클럭이라는 동기화신호를 바탕으로 동작합니다. 나는 1번이라는 일을 하고 있는데 다른쪽에서는 3번일을 하려고 합니다 하지만 3번 일은 1번일의 결과값을 써야한다면 문제가 생기겠죠 이런 뒤죽박죽으로 처리가 되는 걸 방지하기 위해 클럭이라는 동기화신호를 바탕으로 회로가 돌아갑니다. 그래서 hz단위를 쓰는거고요 왜냐하면 클럭은 0 1 상태가 반복되며 나타나는 사각파 형태거든요. 더 깊게 들어가면 ipc니 파이프라인이니 이런것 도 많지만 대략 이런거다 생각하시면 될 것 같습니다. P.s 참고로 32비트에서 64비트의 차이점은 사용하는 명령어의 차이도 있지만 사용할 수 있는 bit수가 늘어나서 사용할 수 있는 메모리 용량이 확장이 가능하죠
작동단위가 Hz인 이유는 명령어 하나가 딱 1 사이클에 끝나지 않아서 그렇습니다.
설명하려면 CPU 구조까지 내려가야 하지만 쉽게 풀자면 명령어 1개는 보통 13사이클을 돌아야 완전한 결과가 나옵니다. 마치 컨베이어 벨트 돌리듯 작업 영역이 나뉘어 있고 한 영역에서는 정해진 일만 해서 다음칸으로 넘겨줘야 합니다. 따라서 "다음칸으로 넘길 시간"에 대한 기준이 필요하고, 이것 때문에 hz단위로 표시합니다. 전통적으로 켜짐과 꺼짐을 반복하는 회로는 그 횟수를 Hz로 표기했기 때문이기도 하구요
제목이 "32비트와 64비트의 시간적 표시의 차이"라 해야 겠네요!
유익해요~~
선생님 질문이있습니다
그렇게 62비트가 생겼는데 왜 32비트는 아직까지 설치할수있나요??
예를들어 굳이 32비트가 필요하지않을텐데 왜 윈도우10 32비트는 계속 설치할수있는건가요
기존 32비트를 사용하던유저를 위하여 인것인가요? 너무궁금합니다
64비트는 컴터성능을 많이 잡아먹어요 옛날 컴퓨터쓰는곳들은 64비트를 설치할수가없죠...
열무님 말씀처럼 자원을 잡아먹는 이유도 있고 64비트를 지원하지 않는 하드웨어도 종종 있습니다.
그리고 아직은 64비트에서 뿜어내는 고성능이 필요없는 사람들의 필요성에 의해서도 32비트가 남았습니다. 생각해보세요. 사무실에서 문서나 쓰고 메일 보내는 일에 64비트나 32비트가 무슨 상관이겠어요? 보다 익숙한 환경(32비트)이 좋겠죠.
그리고 일부 특수한 경우(초소형 PC - 요즘은 십센티미터 남짓한 막대처럼 나온 스틱PC가 있습니다.)에도 64비트를 지원할 하드웨어 설치가 물리적으로 불가능할 때에도 아직까지는 32비트를 사용할 필요가 있죠.
결론, 아직은 기술적, 재정적인 이유로 32비트가 필요하지만 차츰 그 입지는 줄어들 것이다.
영상대충봤나..주요 내용은 32비트의 한계이고 마지막에 그냥 간단하게 64비트와의 차이점얘기해주는데 왜 64비트와의 차이점이 시간문제때문이라고 말하는것처럼 댓글을 쓰냐
2038년 문제를 y38k problem이라고 하진 않을텐데요 38,000년 문제로 해석될 여지가 있어서, 보통 Year 2038 problem로 보통 표현하는듯
Y2K 라이브 하면서 삑사리 나는 부분에서 빵터졌음요 ㅋㅋ 6:17
좋아요 정말좋아요
형 귀여운 줄로만 알았는데 똑디도 하시네요
계산기에 2의 32제곱하면 429496729"6"이라나오는데 영상에서는 마지막자릿수가 5라나오네요 뭐가 잘못된거지??
2의 32제곱을 한게 문제입니다. 0부터 31까지 32개의 비트의 합을 구하셔야지요. 2^0 + 2^1 + ... + 2^30 + 2^31
@@euiyoungjeong7575 아 맞네요 ㅋㅋㅋㅋ
정보시간에 이진법 십진법으로 변환하기 같은거 배웠는데 그방법이랑 같네요 ㅋㅋ
좋은 정보 감사합니다 편안한 하루 되세요^^
진짜 이해가 쏙쏙되네요
다음번에는 pc해상도와 관련하여 쉽게 이해할 수있는 영상 부탁드려요~~
저만 소리가 좀 작은가요? 소리좀더 크면 좋을거같아요
목소리가 굉장히 예쁘시네요 ㅎㅎ
원래부터 64비트인 컴퓨터는 없나요 ?
-2147483648 ~ 2147483647 이 범위아닌가요? 2:34초에 범위가 잘못된거 같습니다 0은 +0, -0이 존재하지 않고 0만 존재하니까여..
32비트 환경에서는 int도 long 을 썼고 int가 4byte니까 그에 맞춰서 메모리 용량도 43억이 맥시멈이었고 IP-4의 주소체계 또한 4byte 체계였고...
64비트 환경으로 바뀌니 int도 long long 으로 바뀌고 int 가 8byte가 되니까 메모리 용량도 어마무시한 잠재용량을 가지게 되었고 IP-6의 주소체계도 8byte 체계로 바뀌고...